URL:
<http://gna.org/bugs/?12036>
Summary: assert in form.c
Project: Warzone Resurrection Project
Submitted by: pabs
Submitted on: Thursday 07/17/2008 at 13:03
Category: Engine: GUI
Severity: Normal
Priority: 5 - Normal
Status: None
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: svn/branches/2.1
Operating System: GNU/Linux
Planned Release: None
_______________________________________________________
Details:
First some extra debugging info after loading the core file.
(gdb) frame 4
#4 0x081a1179 in widgSetTabs (psScreen=0xb2cc590, id=3500, major=1, minor=0)
at form.c:615
615 ASSERT(major < psForm->numMajor, "widgSetTabs id=%u: invalid
major id %u
>= max %u", id,
(gdb) p major
$1 = 1
(gdb) p psForm->numMajor
$2 = 1
(gdb) p *psForm
$1 = {formID = 3000, id = 3500, type = WIDG_FORM, style = 1, x = 2, y = 6,
width = 316, height = 112, display = 0x81a3e57 <formDisplayTabbed>, callback
= 0,
pUserData = 0x827f518, UserData = 0, psNext = 0xb342238, disableChildren =
0, Ax0 = 0, Ay0 = 0, Ax1 = 0, Ay1 = 0, animCount = 0, startTime = 0, aColours
= {{byte = {
r = 127 '\177', g = 127 '\177', b = 127 '\177', a = 255 '�'}, rgba
= 4286545791, vector = "\177\177\177�"}, {byte = {r = 255 '�', g = 255
'�', b = 255 '�', a = 255 '�'},
rgba = 4294967295, vector = "����"}, {byte = {r = 255 '�', g
= 255 '�', b = 255 '�', a = 255 '�'}, rgba = 4294967295, vector =
"����"}, {byte = {r = 1 '\001', g = 1 '\001',
b = 1 '\001', a = 255 '�'}, rgba = 4278255873, vector =
"\001\001\001�"}, {byte = {r = 64 '@', g = 64 '@', b = 64 '@', a = 255
'�'}, rgba = 4282400832, vector = "@@@�"}, {
byte = {r = 255 '�', g = 0 '\0', b = 0 '\0', a = 255 '�'}, rgba =
4278190335, vector = "�\000\000�"}, {byte = {r = 48 '0', g = 48 '0', b =
96 '`', a = 255 '�'},
rgba = 4284493872, vector = "00`�"}, {byte = {r = 191 '�', g = 191
'�', b = 191 '�', a = 255 '�'}, rgba = 4290756543, vector =
"����"}}, psLastHiLite = 0x0,
psWidgets = 0x0, majorPos = 1, minorPos = 0, majorSize = 26, minorSize = 0,
tabMajorThickness = 11, tabMinorThickness = 0, tabMajorGap = 2, tabMinorGap =
0, tabVertOffset = 5,
tabHorzOffset = 0, majorOffset = 2, minorOffset = 0, majorT = 0, minorT =
0, state = 0, tabHiLite = 65535, numMajor = 1, TabMultiplier = 0, numStats =
0, numButtons = 0,
asMajor = {{lastMinor = 0, numMinor = 1, asMinor = {{psWidgets = 0xb340128,
pTip = 0x0}, {psWidgets = 0x0, pTip = 0x0}, {psWidgets = 0x0, pTip = 0x0},
{psWidgets = 0x0,
pTip = 0x0}, {psWidgets = 0x0, pTip = 0x0}}, pTip = 0x0},
{lastMinor = 0, numMinor = 0, asMinor = {{psWidgets = 0x0, pTip = 0x0},
{psWidgets = 0x0, pTip = 0x0}, {
psWidgets = 0x0, pTip = 0x0}, {psWidgets = 0x0, pTip = 0x0},
{psWidgets = 0x0, pTip = 0x0}}, pTip = 0x0} <repeats 39 times>}, pTabDisplay
= 0x80b4624 <intDisplayTab>}
Now the backtrace:
Program: /home/pabs/opt/bin/warzone2100(warzone2100)
Version: Version 2.1 branch r5568 - Built Jul 17 2008 - DEBUG
Distributor:
Compiled on: Jul 8 2008 17:00:04
Compiled by: GCC 4.3.1
Executed on: Thu Jul 17 20:48:25 2008
Operating system: Linux
Node name: chianamo
Release: 2.6.25-2-686
Version: #1 SMP Fri Jun 27 03:23:20 UTC 2008
Machine: i686
Pointers: 32bit
Dump caused by signal: SIGABRT: Process abort signal
Log message 1: [widgSetTabs] widgSetTabs id=3500: invalid major id 1 >= max
1
Log message 2: [widgSetTabs] Assert in Warzone: form.c:616 (major <
psForm->numMajor), last script event: '15 (CALL_DROID_DESTROYED)'
GLIBC raw backtrace:
warzone2100[0x8214301]
[0xb7f2d40c]
/lib/i686/cmov/libc.so.6(abort+0x188)[0xb7836fb8]
/lib/i686/cmov/libc.so.6(__assert_fail+0xee)[0xb782e56e]
warzone2100[0x81a1179]
warzone2100[0x80a3e57]
warzone2100[0x80a4bed]
warzone2100[0x80c7f12]
warzone2100[0x80ca43a]
warzone2100[0x80ca82e]
warzone2100[0x80cac8b]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5)[0xb7820455]
warzone2100(ftell+0x39)[0x804e801]
GDB extended backtrace:
GNU gdb 6.8-debian
Copyright (C) 2008 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 "i486-linux-gnu"...
Attaching to program: /home/pabs/opt/bin/warzone2100, process 6682
Reading symbols from /usr/lib/libSDL-1.2.so.0...done.
Loaded symbols for /usr/lib/libSDL-1.2.so.0
Reading symbols from /usr/lib/libSDL_net-1.2.so.0...done.
Loaded symbols for /usr/lib/libSDL_net-1.2.so.0
Reading symbols from /usr/lib/libphysfs-1.0.so.0...done.
Loaded symbols for /usr/lib/libphysfs-1.0.so.0
Reading symbols from /usr/lib/libpng12.so.0...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libvorbisfile.so.3...done.
Loaded symbols for /usr/lib/libvorbisfile.so.3
Reading symbols from /usr/lib/libvorbis.so.0...done.
Loaded symbols for /usr/lib/libvorbis.so.0
Reading symbols from /lib/i686/cmov/libm.so.6...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libm-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libm.so.6
Reading symbols from /usr/lib/libogg.so.0...done.
Loaded symbols for /usr/lib/libogg.so.0
Reading symbols from /usr/lib/libopenal.so.1...Reading symbols from
/usr/lib/debug/usr/lib/libopenal.so.1.4.272...done.
done.
Loaded symbols for /usr/lib/libopenal.so.1
Reading symbols from /usr/lib/libGLC.so.0...done.
Loaded symbols for /usr/lib/libGLC.so.0
Reading symbols from /usr/lib/libGL.so.1...done.
Loaded symbols for /usr/lib/libGL.so.1
Reading symbols from /usr/lib/libGLU.so.1...done.
Loaded symbols for /usr/lib/libGLU.so.1
Reading symbols from /lib/libpopt.so.0...done.
Loaded symbols for /lib/libpopt.so.0
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/i686/cmov/libc.so.6...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libc-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libc.so.6
Reading symbols from /lib/i686/cmov/libpthread.so.0...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libpthread-2.7.so...done.
[Thread debugging using libthread_db enabled]
[New Thread 0xb73faa00 (LWP 6682)]
[New Thread 0xb6f28b90 (LWP 6686)]
done.
Loaded symbols for /lib/i686/cmov/libpthread.so.0
Reading symbols from /usr/lib/libX11.so.6...done.
Loaded symbols for /usr/lib/libX11.so.6
Reading symbols from /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/i686/cmov/libdl.so.2...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libdl-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libdl.so.2
Reading symbols from /usr/lib/libdirectfb-1.0.so.0...done.
Loaded symbols for /usr/lib/libdirectfb-1.0.so.0
Reading symbols from /usr/lib/libfusion-1.0.so.0...done.
Loaded symbols for /usr/lib/libfusion-1.0.so.0
Reading symbols from /usr/lib/libdirect-1.0.so.0...done.
Loaded symbols for /usr/lib/libdirect-1.0.so.0
Reading symbols from /usr/lib/libvga.so.1...done.
Loaded symbols for /usr/lib/libvga.so.1
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /lib/ld-linux.so.2...Reading symbols from
/usr/lib/debug/lib/ld-2.7.so...done.
done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libfontconfig.so.1...done.
Loaded symbols for /usr/lib/libfontconfig.so.1
Reading symbols from /usr/lib/libfreetype.so.6...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libfribidi.so.0...done.
Loaded symbols for /usr/lib/libfribidi.so.0
Reading symbols from /usr/lib/libXext.so.6...done.
Loaded symbols for /usr/lib/libXext.so.6
Reading symbols from /usr/lib/libXxf86vm.so.1...done.
Loaded symbols for /usr/lib/libXxf86vm.so.1
Reading symbols from /usr/lib/libXdamage.so.1...done.
Loaded symbols for /usr/lib/libXdamage.so.1
Reading symbols from /usr/lib/libXfixes.so.3...done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /usr/lib/libdrm.so.2...done.
Loaded symbols for /usr/lib/libdrm.so.2
Reading symbols from /usr/lib/libxcb-xlib.so.0...done.
Loaded symbols for /usr/lib/libxcb-xlib.so.0
Reading symbols from /usr/lib/libxcb.so.1...done.
Loaded symbols for /usr/lib/libxcb.so.1
Reading symbols from /lib/libx86.so.1...done.
Loaded symbols for /lib/libx86.so.1
Reading symbols from /usr/lib/libexpat.so.1...done.
Loaded symbols for /usr/lib/libexpat.so.1
Reading symbols from /usr/lib/libXau.so.6...done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXdmcp.so.6...done.
Loaded symbols for /usr/lib/libXdmcp.so.6
Reading symbols from /usr/lib/libXrender.so.1...done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libXrandr.so.2...done.
Loaded symbols for /usr/lib/libXrandr.so.2
Reading symbols from /usr/lib/libXcursor.so.1...done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /usr/lib/dri/i915_dri.so...Reading symbols from
/usr/lib/debug/usr/lib/dri/i915_dri.so...done.
done.
Loaded symbols for /usr/lib/dri/i915_dri.so
Reading symbols from /usr/lib/libasound.so.2...done.
Loaded symbols for /usr/lib/libasound.so.2
Reading symbols from /lib/i686/cmov/librt.so.1...Reading symbols from
/usr/lib/debug/lib/i686/cmov/librt-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/librt.so.1
Reading symbols from /lib/i686/cmov/libnss_compat.so.2...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libnss_compat-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/i686/cmov/libnsl.so.1...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libnsl-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libnsl.so.1
Reading symbols from /lib/i686/cmov/libnss_nis.so.2...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libnss_nis-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libnss_nis.so.2
Reading symbols from /lib/i686/cmov/libnss_files.so.2...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libnss_files-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libnss_files.so.2
0xb7f2d424 in __kernel_vsyscall ()
(gdb) #0 0xb7f2d424 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb78a55eb in waitpid () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#2 0x0821454e in posixExceptionHandler (signum=6, siginfo=0xbf847b6c,
sigcontext=0xbf847bec) at exceptionhandler.c:469
btBuffer = {0x8214301, 0xb7f2d40c, 0xb7836fb8, 0xb782e56e, 0x81a1179,
0x80a3e57, 0x80a4bed, 0x80c7f12, 0x80ca43a, 0x80ca82e, 0x80cac8b, 0xb7820455,
0x804e801, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0}
btSize = 13
pid = 6829
gdbPipe = {8, 9}
dumpFile = 7
signal = 0x827bece "SIGABRT: Process abort signal"
allreadyRunning = 1
#3 <signal handler called>
No symbol table info available.
#4 0xb7f2d424 in __kernel_vsyscall ()
No symbol table info available.
#5 0xb78355e0 in raise () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#6 0xb7836fb8 in abort () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#7 0xb782e56e in __assert_fail () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#8 0x081a1179 in widgSetTabs (psScreen=0xb2cc590, id=3500, major=1, minor=0)
at form.c:615
psForm = (W_TABFORM *) 0xb335ac0
__FUNCTION__ = "widgSetTabs"
__PRETTY_FUNCTION__ = "widgSetTabs"
#9 0x080a3e57 in intDoScreenRefresh () at hci.c:883
StatsWasUp = 1
OrderWasUp = 0
objMajor = 1
objMinor = 0
statMajor = 0
statMinor = 0
psFlag = (FLAG_POSITION *) 0x0
#10 0x080a4bed in intRunWidgets () at hci.c:1585
retID = 0
retCode = INT_NONE
quitting = 0
structX = 0
structY = 770
structX2 = 162748240
structY2 = 3058871495
objMajor = 49028
objMinor = 33160
psStructure = (STRUCTURE *) 0x0
psDroid = (DROID *) 0xb670e26c
i = 162748240
widgOverID = 32
__FUNCTION__ = "intRunWidgets"
__PRETTY_FUNCTION__ = "intRunWidgets"
#11 0x080c7f12 in gameLoop () at loop.c:198
psCurr = (DROID *) 0xb7895006
psNext = (DROID *) 0xb7e641be
psCBuilding = (STRUCTURE *) 0x3cff
psNBuilding = (STRUCTURE *) 0x258
psCFeat = (FEATURE *) 0xb7e94ebb
psNFeat = (FEATURE *) 0xb7ebf838
i = 3085695032
widgval = 0
quitting = 0
intRetVal = 3085695032
clearMode = 4
__FUNCTION__ = "gameLoop"
__PRETTY_FUNCTION__ = "gameLoop"
#12 0x080ca43a in runGameLoop () at main.c:643
__FUNCTION__ = "runGameLoop"
#13 0x080ca82e in mainLoop () at main.c:817
event = {type = 5 '\005', active = {type = 5 '\005', gain = 0 '\0',
state =
1 '\001'}, key = {type = 5 '\005', which = 0 '\0', state = 1 '\001', keysym =
{
scancode = 59 ';', sym = SDLK_UNKNOWN, mod = KMOD_NONE, unicode = 0}},
motion = {type = 5 '\005', which = 0 '\0', state = 1 '\001', x = 59, y = 181,
xrel = 0, yrel = 0},
button = {type = 5 '\005', which = 0 '\0', button = 1 '\001', state = 1
'\001', x = 59, y = 181}, jaxis = {type = 5 '\005', which = 0 '\0', axis = 1
'\001', value = 59},
jball = {type = 5 '\005', which = 0 '\0', ball = 1 '\001', xrel = 59, yrel
= 181}, jhat = {type = 5 '\005', which = 0 '\0', hat = 1 '\001', value = 1
'\001'}, jbutton = {
type = 5 '\005', which = 0 '\0', button = 1 '\001', state = 1 '\001'},
resize = {type = 5 '\005', w = 11862075, h = 0}, expose = {type = 5 '\005'},
quit = {type = 5 '\005'},
user = {type = 5 '\005', code = 11862075, data1 = 0x0, data2 = 0x0}, syswm
= {type = 5 '\005', msg = 0xb5003b}}
#14 0x080cac8b in main (argc=1, argv=0xbf848374) at main.c:961
__FUNCTION__ = "main"
(gdb) The program is running. Quit anyway (and detach it)? (y or n)
[answered Y; input not from terminal]
Detaching from program: /home/pabs/opt/bin/warzone2100, process 6682
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?12036>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev