Hard Light Productions Forums
General FreeSpace => FreeSpace & FreeSpace Open Support => Topic started by: ace13 on July 29, 2012, 10:36:38 am
-
As the title says, my Freespace open build crashes when trying to enter the ready room after selecting an existing campaign. Tried with no mods, mediavps and blue planet, same result every time.
The loading screen appears for a short while before the application segmentation faults, here's what GDB says:
Program received signal SIGSEGV, Segmentation fault.
0x000000000041aa5e in __gnu_cxx::__exchange_and_add (__mem=0xfffffffffffffff8, __val=-1) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/ext/atomicity.h:48
48 { return __sync_fetch_and_add(__mem, __val); }
(gdb) bt
#0 0x000000000041aa5e in __gnu_cxx::__exchange_and_add (__mem=0xfffffffffffffff8, __val=-1) at /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/ext/atomicity.h:48
#1 0x000000000041aaf3 in __gnu_cxx::__exchange_and_add_dispatch (__mem=0xfffffffffffffff8, __mem@entry=<error reading variable: Cannot access memory at address 0x7fffffffd648>, __val=-1)
at /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/include/g++-v4/ext/atomicity.h:81
The fs2_open.log has been attached.
[attachment deleted by a ninja]
-
Oh god. Intel Integrated (or mobile, whatever the difference is) with mesa drivers on linux. You're on a hugely bad start right here.
As for the error, shooting in the dark here, but you tried sudo-ing it ?
-
To be fair, the game itself is playable when run through the mission simulator. It just crashes when trying to enter the ready room.
And sudo-ing doesn't help in the slightest, any other possible ideas?
-
Try a new pilot?
-
Creating a new pilot doesn't help, I've also tried several other mods and settings.
-
Interesting. The stack trace is unfortunately of limited help, since it doesn't indicate where in the FSO code the segfault occurred. A quick Google search (http://www.google.com/search?q=sigsegv+__exchange_and_add) suggests the problem may be related to strings (SCP_string, maybe?) and possibly also our good friend memset() (http://svolkov.blogspot.com/2009/01/sigsegv-on-statement-with-stdstring.html). Without a stack trace that leads into FSO code, though, it's hard to say.
I'm assuming that you're building from trunk. Could you try building the latest 3.6.14 RC (#6) (http://www.hard-light.net/forums/index.php?topic=80754.0)? Choose "Source Code Export" under the Linux section, and then build it using ./autogen.sh, same as with a checkout from trunk.
If that doesn't work, try building a 3.6.12 (http://www.hard-light.net/forums/index.php?topic=70692.0) source tarball.
-
Is that the entire output from gdb? I'd normally have expected a lot more levels, including details of the freespace function that was calling the system libraries.
-
Right, a quick build from the source code export of 3.6.14 RC6 solved the issue, the game now lets me enter the ready room without crashing. Thanks.
And as a side-note, I found it strange how small the backtrace was as well. The closest I've seen has been when programs crash in a separate thread or fork.