URL:
<http://gna.org/bugs/?11346>
Summary: During a multiplayer game, the host crashed
Project: Warzone Resurrection Project
Submitted by: pabs
Submitted on: Saturday 03/22/2008 at 04:22
Category: Engine: Netplay
Severity: 3 - Normal
Priority: 5 - Normal
Status: None
Assigned to: None
Originator Email:
Open/Closed: Open
Discussion Lock: Any
Release: 2.1_beta2
Operating System: GNU/Linux
Planned Release: None
_______________________________________________________
Details:
Looks like somewhere in the code a pointer is freed and then you forget to
turn it into NULL. Here is the warzone2100.gdmp file from it:
Program: /usr/games/warzone2100
Version: 2.1_beta2
Distributor: Debian
Type: Debug
Compiled on: Mar 20 2008
Compiled by: GCC 4.2.3 (Debian 4.2.3-2)
Executed on: Sat Mar 22 12:45:50 2008
Operating system: Linux
Node name: chianamo
Release: 2.6.24-1-686
Version: #1 SMP Mon Feb 11 14:37:45 UTC 2008
Machine: i686
Pointers: 32bit
Dump caused by signal: SIGSEGV: Invalid memory reference: Address not mapped
to object
Log message 1:recvDroid: Not enough power to build droid for player = 5
Log message 2:recvDroid: Not enough power to build droid for player = 5
GLIBC raw backtrace:
warzone2100[0x81dd904]
[0xffffe440]
warzone2100[0x808c03b]
warzone2100[0x805e25f]
warzone2100[0x807f29b]
warzone2100[0x80c8f35]
warzone2100[0x80cae4f]
warzone2100[0x80cb1e1]
warzone2100[0x80cb5a2]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe6)[0xb7be3456]
warzone2100(ftell+0x35)[0x804db71]
GDB extended backtrace:
GNU gdb 6.7.1-debian
Copyright (C) 2007 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"...
Using host libthread_db library "/lib/i686/cmov/libthread_db.so.1".
Attaching to program: /usr/games/warzone2100, process 29724
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.0...done.
Loaded symbols for /usr/lib/libopenal.so.0
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/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 /usr/lib/libX11.so.6...done.
Loaded symbols for /usr/lib/libX11.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 /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 0xb77db6d0 (LWP 29724)]
[New Thread 0xb732fb90 (LWP 29727)]
done.
Loaded symbols for /lib/i686/cmov/libpthread.so.0
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/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.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 /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/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 /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
Reading symbols from /lib/libnss_mdns4_minimal.so.2...done.
Loaded symbols for /lib/libnss_mdns4_minimal.so.2
Reading symbols from /lib/i686/cmov/libnss_dns.so.2...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libnss_dns-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libnss_dns.so.2
Reading symbols from /lib/i686/cmov/libresolv.so.2...Reading symbols from
/usr/lib/debug/lib/i686/cmov/libresolv-2.7.so...done.
done.
Loaded symbols for /lib/i686/cmov/libresolv.so.2
0xffffe410 in __kernel_vsyscall ()
(gdb) #0 0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1 0xb7c684db in waitpid () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#2 0x081ddf53 in posixExceptionHandler (signum=11, siginfo=0xbfd1f10c,
sigcontext=0xbfd1f18c) at exceptionhandler.c:531
btBuffer = {0x81dd904, 0xffffe440, 0x808c03b, 0x805e25f, 0x807f29b,
0x80c8f35, 0x80cae4f, 0x80cb1e1, 0x80cb5a2, 0xb7be3456, 0x804db71, 0x0, 0x0,
0x0, 0x0, 0x0, 0x0, 0x0,
0x0, 0x0}
btSize = 11
pid = 30492
gdbPipe = {10, 11}
dumpFile = 8
signal = 0x823ee74 "SIGSEGV: Invalid memory reference: Address not
mapped to
object"
allreadyRunning = 1
#3 <signal handler called>
No symbol table info available.
#4 0x0808bebf in buildModule (psDroid=0xa130cc8, psStruct=0xa109da0,
bCheckPower=0) at droid.c:4595
order = 0
i = 0
__FUNCTION__ = "buildModule"
__PRETTY_FUNCTION__ = "buildModule"
#5 0x0808c03b in setUpBuildModule (psDroid=0xa130cc8) at droid.c:4695
tileX = 112
tileY = 44
psStruct = (STRUCTURE *) 0xa109da0
__FUNCTION__ = "setUpBuildModule"
#6 0x0805e25f in actionUpdateDroid (psDroid=0xa130cc8) at action.c:1856
droidX = 4
droidY = 6179
tlx = 14208
tly = 5504
psStruct = (STRUCTURE *) 0x9f
psStructStats = (STRUCTURE_STATS *) 0x9ba8870
psTarget = (BASE_OBJECT *) 0x0
psWeapStats = (WEAPON_STATS *) 0x0
targetDir = 169020616
dirDiff = 2
pbx = 134807232
pby = -1076759160
xdiff = -1076759088
ydiff = 0
rangeSq = 1073741824
state = DSS_ARANGE_SHORT
psPropStats = (PROPULSION_STATS *) 0x9b82314
bChaseBloke = 0
bInvert = 0
psNextWreck = (FEATURE *) 0xf2
actionUpdateFunc = (BOOL (*)(DROID *)) 0
moveAction = 147855848
bDoHelpBuild = 0
psTile = (MAPTILE *) 0x8
i = 0 '\0'
num_weapons = 2 '\002'
psActionTarget = (BASE_OBJECT *) 0xbfd1f5e8
psTargets = {0xbfd1f5e8, 0x81358a6, 0x3}
j = 8 '\b'
iVisible = 1 '\001'
bHasTarget = 16
__PRETTY_FUNCTION__ = "actionUpdateDroid"
__FUNCTION__ = "actionUpdateDroid"
#7 0x0807f29b in droidUpdate (psDroid=0xa130cc8) at droid.c:935
dv = {x = 3600, y = -1076758952, z = 500}
percentDamage = 4
emissionInterval = 0
psBeingTargetted = (BASE_OBJECT *) 0x0
damageToDo = -1076758952
__PRETTY_FUNCTION__ = "droidUpdate"
#8 0x080c8f35 in gameLoop () at loop.c:282
psCurr = (DROID *) 0xa130cc8
psNext = (DROID *) 0xa116b08
psCBuilding = (STRUCTURE *) 0x0
psNBuilding = (STRUCTURE *) 0x0
psCFeat = (FEATURE *) 0xb7f3febb
psNFeat = (FEATURE *) 0xb7f6a838
i = 3
widgval = 0
quitting = 0
intRetVal = INT_INTERCEPT
clearMode = 3
__FUNCTION__ = "gameLoop"
__PRETTY_FUNCTION__ = "gameLoop"
#9 0x080cae4f in runGameLoop () at main.c:655
No locals.
#10 0x080cb1e1 in mainLoop () at main.c:828
event = {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 = 64 '@',
sym = 4294967295, mod = KMOD_NONE, unicode = 0}}, motion = {type = 4
'\004', which = 0 '\0', state = 0 '\0', x = 64, y = 231, xrel = -1, yrel =
-1}, button = {
type = 4 '\004', which = 0 '\0', button = 0 '\0', state = 0 '\0', x = 64,
y = 231}, jaxis = {type = 4 '\004', which = 0 '\0', axis = 0 '\0', value =
64}, jball = {
type = 4 '\004', which = 0 '\0', ball = 0 '\0', xrel = 64, yrel = 231},
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 = 15138880, h = -1}, expose = {type = 4 '\004'}, quit = {type = 4
'\004'}, user = {
type = 4 '\004', code = 15138880, data1 = 0xffffffff, data2 = 0x0}, syswm
= {type = 4 '\004', msg = 0xe70040}}
#11 0x080cb5a2 in main (argc=1, argv=0xbfd1f804) at main.c:965
No locals.
#12 0xb7be3456 in __libc_start_main () from /lib/i686/cmov/libc.so.6
No symbol table info available.
#13 0x0804db71 in _start ()
No symbol table info available.
(gdb) The program is running. Quit anyway (and detach it)? (y or n)
[answered Y; input not from terminal]
Detaching from program: /usr/games/warzone2100, process 29724
_______________________________________________________
Reply to this item at:
<http://gna.org/bugs/?11346>
_______________________________________________
Message sent via/by Gna!
http://gna.org/
_______________________________________________
Warzone-dev mailing list
[email protected]
https://mail.gna.org/listinfo/warzone-dev