[freespace2] Freespace hangs with fsport

Raffael Herzog herzog-lists at raffael.ch
Fri Aug 12 12:14:15 EDT 2005


Am Freitag, den 12.08.2005, 05:13 -0400 schrieb Taylor Richards:
> On Sun, 2005-08-07 at 20:18 +0200, Raffael Herzog wrote:
> > It hangs exactly when the debriefing should start, i.e. I'm still in the
> > game screen (right after the ship disappeared in the sub space). No
> > movement anymore, no sound, but 100% CPU. When I kill the X-Server
> > without killing freespace2, it will continue running at 100% CPU until I
> > kill it with SIGKILL.
> 
> That backtrace you posted was from when a mission was just loading, not
> ending.  It can't be the same problem.  This could be the talking head
> bug I suppose.

True. I made this backtrace by just restarting the mission. When I
*really* cancel it (back to the deck), FS2 won't hang. Dying and
restarting hangs too. I'll replay that mission and see if it still
happens with the talking head off and if so, get a new core dump of that
one.

But still, restarting the mission should work, too. Examining the loop a
bit further:

In freespace.cpp:game_level_init()
    obj_init();                  // Must be inited before the other systems
>>  model_free_all();            // Free all existing models
    mission_brief_common_init(); // Free all existing

In modelread.cpp:model_free_all()
    for (i=0;i<MAX_POLYGON_MODELS;i++) {
>>      model_unload(i);
    }
The value of i is 0 at this moment.

In modelread.cpp:model_unload(int)
    if (pm->submodel)       {
        for (i=0; i<pm->n_models; i++ ) {
            if ( pm->submodel[i].bsp_data ) {
>>              free(pm->submodel[i].bsp_data);
            }
        }
        free(pm->submodel);
    }
Again, the value of i is 0. pm->filename is "cruiser03.pof".

vm_free() just calls free() and from then on we're in glibc. The strange
thing about this is: It's actually looping in mallopt() in glibc, I
checked this with the debugger. My RAM is OK, I tested it with
memtest86.


> Try another CVS update and see if the recent changes
> help any.

This doesn't compile:

        rherzog at rumba:~/Games/Compile/freespace2$ make
        g++ -c -o src/sound/audiostr-openal.o src/sound/audiostr-openal.cpp -Wall -g -DPLAT_UNIX -I/usr/include/SDL -D_REENTRANT -Iinclude/  -DNDEBUG -fsigned-char -Wno-format-y2k -DRELEASE_REAL
        In Datei, eingefügt von src/sound/audiostr-openal.cpp:85:
"In file included from ...:85:"
        include/ds.h:19:49: Warnung: »/*« innerhalb des Kommentars
"Warning: »/*« within a comment"
        src/sound/audiostr-openal.cpp: In member function `int WaveFile::Open(char*)':
        src/sound/audiostr-openal.cpp:410: error: invalid conversion from `uint*' to `
           DWORD*'
        src/sound/audiostr-openal.cpp:413: error: invalid conversion from `uint*' to `
           DWORD*'
        make: *** [src/sound/audiostr-openal.o] Fehler 1
        
        rherzog at rumba:~/Games/Compile/freespace2$ g++ --version
        g++ (GCC) 3.3.5 (Debian 1:3.3.5-8ubuntu2)


> Also you can try to disable the talking heads (F2 while in
> mission -> hudconfig -> turn off talking head box in upper left of HUD
> screen) just before you leave that mission.  If that's what it takes to
> prevent the hanging then let me know.  You can turn the talking head
> back on for the next mission unless it hangs too.
> 
> Other than that I will say to try it with current FS2_Open CVS.  I can't
> remember if FSPort requires FS2_Open yet or not but I don't think so.

Well, I could play 10 missions without any problems and there's no such
statement on the web site ...


> It would be worth a try though if nothing else appears to be working.

Yep. It would be a pity losing the movies, however (especially because
I'm playing FS1 for the first time and don't know the story yet), but I
can live with that considering the better graphics. :) There are two
reasons why I reverted to the Linux port of FS2 instead of using
FS2_Open: The movies and broken audio in the german command briefings of
the FS2 campaign. But I checked, FSPort seams to work fine with
FS2_Open, but I couldn't check the mission in question. I'll also see
whether I can get english data files of FS2, I've bought all the CDs, so
I have no problem with using an "illegal" english copy. ;)

Can I convert the pilot or do I have to start over?


cu & thanks,
   Raffi

-- 
The difference between theory and practice is that in theory, there is
no difference, but in practice, there is.

herzog at raffael.ch · ICQ#67961355 · PGP Key 5D1FF5F4 · wwwkeys.ch.pgp.net




More information about the freespace2 mailing list