Skip to content
This repository has been archived by the owner on Apr 17, 2022. It is now read-only.

2.3 beta4 segfaults immediately upon startup on Linux x64 #1262

Closed
wzdev-ci opened this issue Dec 23, 2009 · 22 comments
Closed

2.3 beta4 segfaults immediately upon startup on Linux x64 #1262

wzdev-ci opened this issue Dec 23, 2009 · 22 comments

Comments

@wzdev-ci
Copy link
Contributor

resolution_external type_bug | by michael@...


I have compiled version 2.3 beta4 from source as a debian/ubuntu package in my PPA here: https://edge.launchpad.net/~thefirstm/+archive/lucid. However, whenever I attempt to run it on my x64 system, it displays a black screen for a fraction of a second and then segfaults. I tried installing the debug package and running it with GDB, and here is the output:

michael@mamarley-laptop:~$ gdb warzone2100
GNU gdb (GDB) 7.0-ubuntu
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /usr/games/warzone2100...Reading symbols from /usr/lib/debug/usr/games/warzone2100...done.
(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/games/warzone2100
[Thread debugging using libthread_db enabled]
[New Thread 0x7fffee782910 (LWP 3807)]
[New Thread 0x7fffed14e910 (LWP 3808)]
[New Thread 0x7fffec94d910 (LWP 3809)]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffed14e910 (LWP 3808)]
0x00007fffed86cba0 in ?? ()
(gdb)

Issue migrated from trac:1262 at 2022-04-15 20:18:33 -0700

@wzdev-ci
Copy link
Contributor Author

Zarel edited the issue description

@wzdev-ci
Copy link
Contributor Author

Zarel commented


That's not a very useful crashdump. At the very least, do bt full in gdb after that.

Please see this:

https://wiki.ubuntu.com/Backtrace

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


Why do you use gdb manually? Don't the automatic crashdumps work for you?

@wzdev-ci
Copy link
Contributor Author

anonymous commented


Here's what I get from the bt full:

#0 0x00007fffed86cba0 in ?? ()
No symbol table info available.
#1 0x00007ffff4e9c86f in ?? () from /usr/lib/libasound.so.2
No symbol table info available.
#2 0x00007ffff4e9c8b4 in ?? () from /usr/lib/libasound.so.2
No symbol table info available.
#3 0x00007ffff4e835e9 in ?? () from /usr/lib/libasound.so.2
No symbol table info available.
#4 0x00007ffff6a4a76a in ?? () from /usr/lib/libopenal.so.1
No symbol table info available.
#5 0x00007ffff6a4576a in ?? () from /usr/lib/libopenal.so.1
No symbol table info available.
#6 0x00007ffff5451a04 in start_thread () from /lib/libpthread.so.0
No symbol table info available.
#7 0x00007ffff574705d in clone () from /lib/libc.so.6
No symbol table info available.
#8 0x0000000000000000 in ?? ()
No symbol table info available.

@wzdev-ci
Copy link
Contributor Author

anonymous commented


For some reason, it doesn't seem to be detecting the debugging symbols, even though they are installed.

@wzdev-ci
Copy link
Contributor Author

stiv commented


Recompile with debug turned on:
./configure --enable-debug=true

@wzdev-ci
Copy link
Contributor Author

wzdev-ci commented Dec 23, 2009

stiv commented


Replying to Warzone2100/old-trac-import#1262 (comment:6):

Recompile with debug turned on:
./configure --enable-debug=true

Oops. make the ./configure --enable-debug=yes

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


Hm, building your package from source on a Debian unstable system works, it starts normally, and the crashdumps (--crash to test) also work. Probably Ubuntu screwed something up again.

--enable-debug is not needed, as long as you have -g in your CFLAGS (and not even recommended, since it enables asserts). --with-opengl is useless, btw, since the game doesn't work without OpenGL. --with-ogg shouldn't be needed as well.

@wzdev-ci
Copy link
Contributor Author

michael@... commented


Should I file a bug on Launchpad? Which package do you think might be causing this problem?

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


dh_strip, which makes the -dbg package, is in debhelper.

For the Warzone crash, can you just compile the source with ./configure&&make, then run src/warzone2100? That should give a good crashdump.

@wzdev-ci
Copy link
Contributor Author

michael@... commented


I tried building manually, but no crashdump is given. The GDB output was exactly the same. I can tell you, however, that it has something to do with sound, because running with --nosound works correctly. (except for the lack of audio output, of course)

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


Can you downgrade OpenAL (to 1.4 or something like that)? That might help. Though it is strange that the crashdumps don't work...

@wzdev-ci
Copy link
Contributor Author

michael@... commented


I tried downgrading OpenAL to version 1.9 (the last released version in Lucid) and both my custom compiled version and the packaged one now work. I will file a bug in OpenAL for ubuntu.

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


Ok, that solves the crash... still leaves the question of the crashdumps. Do you have any CFLAGS set that override the ones in debian/rules?

@wzdev-ci
Copy link
Contributor Author

michael@... commented


I don't think so. All I did was download the source for an older version, update to the source for 2.3 beta4, and then change the version number in the changelog. And the crashdumps didn't work with the ./configure&&make build either.

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


Hm, the original problem is solved, so I guess we could close this ticket... but I really don't like having binaries where the crashdumps don't work. What does "set|grep FLAGS" say on your system?

@wzdev-ci
Copy link
Contributor Author

michael@... commented


The only output is:

CRLF

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


What? That doesn't even make sense, how does grep find "FLAGS" in there?

@wzdev-ci
Copy link
Contributor Author

michael@... commented


Carriage return+Line feed

It doesn't output anything.

@wzdev-ci
Copy link
Contributor Author

cybersphinx changed status from new to closed

@wzdev-ci
Copy link
Contributor Author

cybersphinx set resolution to external

@wzdev-ci
Copy link
Contributor Author

cybersphinx commented


Oh. Ok. Well, I tested your binary packages here, and whatever prevents the crashdumps from being created is local to your system, it works here. Though I noticed you use --with-distributor=Debian in debian/rules, you should change that.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

1 participant