[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#203921: libc6: mallopt segfaults



Package: libc6
Version: 2.3.1-17
Severity: normal
Tags: upstream

while playing xblast[1], the program fails irregular with a segfault.

Here is a sample output of xblast started in gdb:

----------------------------->8-----------------------

Program received signal SIGSEGV, Segmentation fault.
0x4014d417 in mallopt () from /lib/libc.so.6
(gdb) bt
#0  0x4014d417 in mallopt () from /lib/libc.so.6
#1  0x4014ce37 in mallopt () from /lib/libc.so.6
#2  0x4014c0fc in malloc () from /lib/libc.so.6
#3  0x0804b0ec in ReadPpmFile (path=0x80823c0 "image/block",
    filename=0x8080644 "score_right_up", width=0xbffffa94, height=0xbffffa90)
    at util.c:464
#4  0x0807a3f3 in ReadCchPixmap (path=0x80823c0 "image/block",
    filename=0x8080644 "score_right_up", fg=0, bg=23323, add=0)
    at x11c_image.c:292
#5  0x0807be18 in GUI_LoadBlockCch (id=0, name=0x8080644 "score_right_up",
    fg=0, bg=23323, add=0) at x11c_tile.c:226
#6  0x0804e2db in ConfigScoreGraphics (data=0x80806c0) at map.c:306
#7  0x0804d28c in ShowScoreBoard (lastTeam=0, maxNumWins=4, numPlayers=2,
    playerStat=0x811daa0, timeOut=XBTrue) at intro.c:799
#8  0x0805e0e9 in RunClientGame (hostType=XBPH_Client1) at game_client.c:337
#9  0x0804a766 in main (argc=1, argv=0xbffffd44) at xblast.c:98

----------------------------->8-----------------------

I don't think, it's important, but util.c:464ff [2] are:

    if (NULL == (ppm = malloc (nPixel * sizeof(char) ) ) )  {
      goto Error;
    }

Repeating the test, the segfault happens not always in
malloc/ReadPpmFile but always in mallopt.

The last game ended in
#0  0x4014e2a9 in mallopt () from /lib/libc.so.6
#1  0x4014d281 in free () from /lib/libc.so.6
#2  0x08054e4a in DelExplosion (ptr=0x81651e8) at bomb.c:571
...

The game before died in a calloc.

As in most cases the error occurs in malloc, i think, that's not a
problem of xblast but of libc.

On Solaris this problem didn't occur until now. On a Gentoo linux
maschine with the same version of libc (i.e. 2.3.1), xblast segfaults,
too. (On that maschine exists no gdb and I didn't feel like installing
it - so _maybe_ it's an other reason there.)

I don't dare to debug the memory functions of libc, so I deliver no
patch.

Maybe this has something to do with bug #202969? I'm not sure, because
`my' error occurs in mallopt, not in free or malloc directly. Moreover
I'm not able to reproduce the bug starting gimp and repeatedly open the
open dialog.

Setting (as described in [3]) LANG=en_US or defining LC_COLLATE didn't
help.

Regards
Uwe

[1] from package:
    http://luc.saillard.free.fr/XBlast-TNT/debian/xblast-tnt_2.38-pl4-1_i386.deb

[2] supposing the package was build using
    http://luc.saillard.free.fr/XBlast-TNT/sources/XBlast-TNT-2.38-pl4.tar.bz2

[3] http://lists.debian.org/debian-gtk-gnome/2003/debian-gtk-gnome-200307/msg00128.html

-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux cepheus 2.4.21-ac1 #1 Tue Jun 17 11:42:40 CEST 2003 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages libc6 depends on:
ii  libdb1-compat                 2.1.3-7    The Berkeley database
routines [gl

-- no debconf information


-- 
Uwe Zeisberger

$ dc << EOF
[d1-d1<a]sa99d1<a1[rdn555760928P*pz1<a]salax
EOF

Attachment: pgpzGXU_vvuEf.pgp
Description: PGP signature


Reply to: