Bug#439393: hex-a-hop: Latest (unreleased) version crashes on map screen

Helge Kreutzmann debian at helgefjell.de
Fri Aug 24 19:04:12 UTC 2007


Package: hex-a-hop
Version: 0.0.20070315-4
Severity: important
X-Debbugs-CC: Jens Seidel <jensseidel at users.sf.net>

When scrolling left or right on the map screen (i.e. when you have a
higher percentage of levels completed) hex-a-hop crashes. I tried not
to move and play some levels, and it looked fine, so for beginners (no
scrolling on the map) the game seems still playable. This segfault is
a regression over -3.

I rebuild hex-a-hop with "noopt" and obtained the following error
messages (all on scrolling left/right on the map window):

1. latin1, language german:
Reading binary file "levels.dat" ("/usr/share/games/hex-a-hop/levels.dat")
Reading binary file "/usr/share/games/hex-a-hop/graphics/gradient.dat"
Reading binary file "/usr/share/games/hex-a-hop/graphics/map.dat"
Reading binary file "/usr/share/games/hex-a-hop/graphics/map_top.dat"
Reading binary file "/usr/share/games/hex-a-hop/graphics/tiles.dat"
Reading binary file "/usr/share/games/hex-a-hop/graphics/tiles_reflect.dat"
Reading binary file "/usr/share/games/hex-a-hop/graphics/emi.dat"
Reading binary file "/usr/share/games/hex-a-hop/graphics/title.dat"
Reading binary file "" ("/usr/share/games/hex-a-hop/")
Reading binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
Reading binary file "save2.dat" ("/home/helge/.hex-a-hop/save2.dat")
Warning: unable to open file "/home/helge/.hex-a-hop/save2.dat" for reading
Reading binary file "save3.dat" ("/home/helge/.hex-a-hop/save3.dat")
Warning: unable to open file "/home/helge/.hex-a-hop/save3.dat" for reading
Reading binary file "save4.dat" ("/home/helge/.hex-a-hop/save4.dat")
Warning: unable to open file "/home/helge/.hex-a-hop/save4.dat" for reading
Warning: don't know window with for message:

Warning: don't know window with for message:
> Spiel fortfahren 1 (89% komplett) <
Reading binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
Writing binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
*** glibc detected *** double free or corruption (out): 0x000000000061e000 ***
Abgebrochen


2.Latin1, LANG=C:
Warning: don't know window with for message:
> Continue game 1 (89% complete) <
Reading binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
Writing binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
hex-a-hop: gfx.cpp:224: void PrintC_Pango(int, int, int, const std::string&): Assertion `width>0' failed.
Abgebrochen

3. LANG=C and UTF-8:
Warning: don't know window with for message:
> Continue game 1 (89% complete) <
Reading binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
Writing binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
*** glibc detected *** double free or corruption (out): 0x0000000000605000 ***

Trying to run it in gdb produced some weired kernel messages and gave
no sensible backtrace, sorry.

Rebuilding it with nostrip I obtained the following output from gdb:

Warning: don't know window with for message:
> Spiel fortfahren 1 (89% komplett) <
Reading binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
Writing binary file "save1.dat" ("/home/helge/.hex-a-hop/save1.dat")
*** glibc detected *** double free or corruption (out): 0x000000000061fe00 ***

Program received signal SIGABRT, Aborted.
[Switching to Thread 47635857926160 (LWP 4474)]
0x00002b53150fa07b in raise () from /lib/libc.so.6
(gdb) thread apply all bt full

Thread 1 (Thread 47635857926160 (LWP 4474)):
#0  0x00002b53150fa07b in raise () from /lib/libc.so.6
No symbol table info available.
#1  0x00002b53150fb84e in abort () from /lib/libc.so.6
No symbol table info available.
#2  0x00002b53151306e9 in __libc_message () from /lib/libc.so.6
No symbol table info available.
#3  0x00002b5315137253 in _int_free () from /lib/libc.so.6
No symbol table info available.
#4  0x00002b53151372de in free () from /lib/libc.so.6
No symbol table info available.
#5  0x00002b53149ae989 in SDL_FreeSurface () from /usr/lib/libSDL-1.2.so.0
No symbol table info available.
#6  0x0000000000402f78 in PrintC_Pango (x=<value optimized out>, y=229, 
    width=39, text_utf8=<value optimized out>) at gfx.cpp:233
        surface = (SDL_Surface *) 0x5f0000
        dst = {x = 0, y = 229, w = 80, h = 38}
        __PRETTY_FUNCTION__ = "void PrintC_Pango(int, int, int, const std::string&)"
#7  0x0000000000404eba in PrintC (split=false, x=39, y=229, width=78, 
    string=<value optimized out>) at hex_puzzzle.cpp:434
        marker = {{gp_offset = 48, fp_offset = 48, 
    overflow_arg_area = 0x7fff96257370, reg_save_area = 0x7fff96257280}}
        tmp = "Bestwert: 196\000ttform\000ben\000\000eitung\000\000\000\000\n", '\0' <repeats 43 times>, " ", '\0' <repeats 15 times>, " à\r\025S+\000\000 ¢X\000\000\000\000d p%\226ÿ\177\000\000ào%\226ÿ\177\000%\177\000M\017", '\0' <repeats 12 times>, "I$c\027S+\000\000\232\217\205\024S+\000\000\000\000\000\000\000\000\000\000\001", '\0' <repeats 19 times>, "S+\000\0008\000\000\000\000\000\000\000P\0340\025S+", '\0' <repeats 18 times>, "5ÏA\000\000\000\000\000\000\000\000\000\001\000\000\000\000\000\000\000S+\000\000\001\000\000\000ÿÿÿÿ\000"...
        tmp_utf8 = "Bestwert: 196\000attform\000\000\000Ö@ \025S+\000\000t\000\000\000\000\000\000\000YiY\030S+\000\000À\034_\000\000\000\000\000\025ý³\025S+\000\000(\004\000\000\000\000\000\000G\000\000\000\000\000\000\000\000Ëa\000\000\000\000\000}\030í\025S+\000\000\001\000\000\000\000\000\000\000\000\b_\000\000\000\000\000\000\b_\000\000\000\000\000}\030í\025S+\000\000\001\000\000\000\000\000\000\000\000\b_\000\000\000\000\000\000\b_\000\000\000\000\000'p \025S+", '\0' <repeats 11 times>, "\b_\000\000\000\000\000à[%\226ÿ\177\000\000ôt`\000\000\000\000\000ð\000\000\000\000\000\000\000-"...
        msg = {static npos = 18446744073709551615, 
  _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>}, _M_p = 0x625c88 "Bestwert: 196"}}
#8  0x00000000004050eb in PrintC (split=false, x=39, y=229, 
    string=<value optimized out>) at hex_puzzzle.cpp:456
        marker = {{gp_offset = 40, fp_offset = 48, 
    overflow_arg_area = 0x7fff96257870, reg_save_area = 0x7fff96257790}}
        tmp = "Bestwert: 196\000ttform\000ben\000\000eitung", '\0' <repeats 16 times>, "\016\000\000\000\000\000\000\000Ê\213\022\025S+\000\000\200-W\000\000\000\000\000`Ë\\\000\000\000\000\000h&@\000\000\000\000\000\000«a\000\000\000\000\000Þw%\226ÿ\177\000\000b\236@\000\000\000\000\000Ê\002\000\000\000\000\000\000«\215\205\024S+\000\000ö/\000\000\000\000\000\000\006\000\000\000\000\000\000\000°u%\226ÿ\177\000\000\210\f@\000\000\000\000\000,\033}\f\000\000\000\000÷\026@", '\0' <repeats 13 times>, "\030\000\000\000\000\000\000\000\210\223\r\025S+\000\000tà\r\025S+\000\000\006"...
        print = false
#9  0x000000000041bfbe in HexPuzzle::Render (this=0x56f4b0)
    at hex_puzzzle.cpp:2693
        diff = <value optimized out>
        boundW = <value optimized out>
        src = {x = 437, y = 0, w = 640, h = 480}
        dst = {x = 0, y = 0, w = 640, h = 448}
        x = <value optimized out>
#10 0x000000000040320d in main () at gfx.cpp:385
        x = <value optimized out>
        e = {type = 4 '\004', active = {type = 4 '\004', gain = 0 '\0', 
    state = 0 '\0'}, key = {type = 4 '\004', which = 0 '\0', state = 0 '\0', 
    keysym = {scancode = 62 '>', sym = 131071, mod = KMOD_NONE, unicode = 0}}, 
  motion = {type = 4 '\004', which = 0 '\0', state = 0 '\0', x = 62, y = 229, 
    xrel = -1, yrel = 1}, button = {type = 4 '\004', which = 0 '\0', 
    button = 0 '\0', state = 0 '\0', x = 62, y = 229}, jaxis = {
    type = 4 '\004', which = 0 '\0', axis = 0 '\0', value = 62}, jball = {
    type = 4 '\004', which = 0 '\0', ball = 0 '\0', xrel = 62, yrel = 229}, 
  jhat = {type = 4 '\004', which = 0 '\0', hat = 0 '\0', value = 0 '\0'}, 
  jbutton = {type = 4 '\004', which = 0 '\0', button = 0 '\0', 
    state = 0 '\0'}, resize = {type = 4 '\004', w = 15007806, h = 131071}, 
  expose = {type = 4 '\004'}, quit = {type = 4 '\004'}, user = {
    type = 4 '\004', code = 15007806, data1 = 0x1ffff, data2 = 0x0}, syswm = {
    type = 4 '\004', msg = 0x1ffff}}
        icon = <value optimized out>
        videoExposed = 1
        mask = {8128, 16352, 32752, 32248, 61688, 61564, 391292, 264240956, 
  536870910, 1073741822, 1073741822, 2147483646, 2147483646, 2147483646, 
  2147483646, 4026531839, 536870911, 1073741823, 1073741823, 1073741823, 
  1073741823, 1073741823, 1073741823, 1073741822, 1073741816, 1073741808, 
  1073741808, 1073741808, 1073741792, 1073741792, 536870896, 536870897}

Please tell me which (other) information you need.

-- System Information:
Debian Release: 4.0
  APT prefers stable
  APT policy: (500, 'stable')
Architecture: amd64 (x86_64)
Shell:  /bin/sh linked to /bin/bash
Kernel: Linux 2.6.19.2-grsec-cz01
Locale: LANG=de_DE at euro, LC_CTYPE=de_DE at euro (charmap=ISO-8859-15)

Versions of packages hex-a-hop depends on:
ii  libc6                  2.3.6.ds1-13etch2 GNU C Library: Shared libraries
ii  libgcc1                1:4.1.1-21        GCC support library
ii  libsdl-pango1          0.1.2-1           text rendering with Pango in SDL a
ii  libsdl1.2debian        1.2.11-8          Simple DirectMedia Layer
ii  libstdc++6             4.1.1-21          The GNU Standard C++ Library v3

hex-a-hop recommends no packages.

-- no debconf information
-- 
      Dr. Helge Kreutzmann                     debian at helgefjell.de
           Dipl.-Phys.                   http://www.helgefjell.de/debian.php
        64bit GNU powered                     gpg signed mail preferred
           Help keep free software "libre": http://www.ffii.de/
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.alioth.debian.org/pipermail/pkg-games-devel/attachments/20070824/6457093a/attachment.pgp 


More information about the Pkg-games-devel mailing list