Bug#523271: bloboats: segfault at start up

Raphael Geissert atomo64 at gmail.com
Wed Apr 15 05:08:49 UTC 2009


On Thursday 09 April 2009 10:25:29 Gonéri Le Bouder wrote:
> On Thu, Apr 09, 2009 at 09:59:19AM -0500, Raphael Geissert wrote:
> Works fine here:
[...]
> I've the 
> feeling the problem come from your libgl1-mesa-glx from experimental. Can
> you please upgrade your sysetem.
>

Did that a couple of days ago, no difference.

> > I tried to get the debug symbols of the package from debug.d.n but it
> > they are not available for i386.
>
> It's probably because I built the package on my own machin. Is there
> anything I can do to avoid that?

No, it is unrelated to whether you built the package or a buildd did. I've 
already pinged the right person for that.

I rebuilt the package with DEB_BUILD_OPTIONS=nostrip and got a better 
backtrace:
(gdb) bt
#0  0xb7f06756 in glViewport () from /usr/lib/libGL.so.1
#1  0x0804d348 in window::OpenWindow (this=0x807c820, w=1024, h=768, b=32, 
flags=-2147483646)
    at src/window.cpp:59
#2  0x0804ab95 in main (argc=1, argv=Cannot access memory at address 0x5
) at src/main.cpp:211


By the way, like I mentioned to Barry via IRC, the package doesn't have an 
un/patch target and doesn't respect the debug and noopt DEB_BUILD_OPTIONS 
options; you should fix that.


One of the obvious errors on the code is that while SDL_SetVideoMode takes a 
Uint32 for the flags, the code passes an integer which, as soon as 
SDL_FULLSCREEN is added, is overflowed, turning into a negative integer.
Attached is the fix for that bug.

While this doesn't fix the segfault it is one bug less (although I expect 
many, similar, bugs to be there on the code). What did help get the game's 
screen was commenting out the SDL_FULLSCREEN-related line in main.cpp; 
although after a few seconds the screen got corrupted and had to SIGTERM it.

This is the backtrace from the code with the attached patch applied:

(gdb) bt
#0  0xb7e13756 in glViewport () from /usr/lib/libGL.so.1
#1  0x0804d348 in window::OpenWindow (this=0x807c820, w=1024, h=768, b=32, 
flags=2147483650) at src/window.cpp:59
#2  0x0804ab95 in main (argc=1, argv=Cannot access memory at address 0x5
) at src/main.cpp:211

Cheers,
-- 
Raphael Geissert - Debian Maintainer
www.debian.org - get.debian.net
-------------- next part --------------
A non-text attachment was scrubbed...
Name: bloboats_uint32.diff
Type: text/x-diff
Size: 1019 bytes
Desc: not available
URL: <http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20090415/09de484f/attachment.diff>


More information about the Pkg-games-devel mailing list