URL: <http://gna.org/bugs/?11444>
Summary: multiplayer crash on wheel level Project: Warzone Resurrection Project Submitted by: pabs Submitted on: Sunday 04/06/2008 at 12:12 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: This patch should help find the cause of it: --- src/visibility.c~ 2008-02-16 22:12:58.000000000 +0900 +++ src/visibility.c 2008-04-06 20:08:53.000000000 +0800 @@ -313,6 +313,7 @@ STRUCTURE *psStruct; /* Get the sensor Range and power */ + ASSERT( psViewer != NULL, "visibleObject: no viewer!" ); switch (psViewer->type) { case OBJ_DROID: @@ -370,6 +371,7 @@ /* Get the target's ecm power (if it has one) * or that of a nearby ECM droid. */ + ASSERT( psTarget != NULL, "visibleObject: no target!" ); switch (psTarget->type) { case OBJ_DROID: Backtrace: 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: Sun Apr 6 18:32:08 2008 Operating system: Linux Node name: chianamo Release: 2.6.24-1-686 Version: #1 SMP Thu Mar 27 17:45:04 UTC 2008 Machine: i686 Pointers: 32bit Dump caused by signal: SIGSEGV: Invalid memory reference: Address not mapped to object Log message 1:getComponentRadius: ComponentPIE == NULL Log message 2:ComponentPIE == NULL GLIBC raw backtrace: warzone2100[0x81dd904] [0xffffe440] warzone2100[0x8135442] warzone2100[0x805a25e] warzone2100[0x805d21c] warzone2100[0x807f29b] warzone2100[0x80c8f35] warzone2100[0x80cae4f] warzone2100[0x80cb1e1] warzone2100[0x80cb5a2] /lib/i686/cmov/libc.so.6(__libc_start_main+0xe0)[0xb7bdc450] warzone2100(ftell+0x35)[0x804db71] 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: /usr/games/warzone2100, process 19233 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 0xb77d56d0 (LWP 19233)] [New Thread 0xb7323b90 (LWP 19239)] 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 0xffffe410 in __kernel_vsyscall () (gdb) #0 0xffffe410 in __kernel_vsyscall () No symbol table info available. #1 0xb7c5b36b in waitpid () from /lib/i686/cmov/libc.so.6 No symbol table info available. #2 0x081ddf53 in posixExceptionHandler (signum=11, siginfo=0xbfade7fc, sigcontext=0xbfade87c) at exceptionhandler.c:531 btBuffer = {0x81dd904, 0xffffe440, 0x8135442, 0x805a25e, 0x805d21c, 0x807f29b, 0x80c8f35, 0x80cae4f, 0x80cb1e1, 0x80cb5a2, 0xb7bdc450, 0x804db71, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} btSize = 12 pid = 22257 gdbPipe = {8, 9} dumpFile = 7 signal = 0x823ee74 "SIGSEGV: Invalid memory reference: Address not mapped to object" allreadyRunning = 1 #3 <signal handler called> No symbol table info available. #4 0x08135192 in visibleObject (psViewer=0xa88d4d8, psTarget=0x0) at visibility.c:373 x = 1082144768 y = 0 ray = 1083203584 xdiff = 0 ydiff = -650 rangeSquared = 4124961 range = 1433 senPower = 500 ecmPower = 16384 tarG = 176740182 top = 176740185 psStruct = (STRUCTURE *) 0x0 __FUNCTION__ = "visibleObject" __PRETTY_FUNCTION__ = "visibleObject" #5 0x08135442 in visibleObjWallBlock (psViewer=0xa88d4d8, psTarget=0x0) at visibility.c:460 result = 0 #6 0x0805a25e in actionVisibleTarget (psDroid=0xa88d4d8, psTarget=0x0, weapon_slot=0) at action.c:673 psStats = (WEAPON_STATS *) 0xa55bb58 __PRETTY_FUNCTION__ = "actionVisibleTarget" #7 0x0805d21c in actionUpdateDroid (psDroid=0xa88d4d8) at action.c:1498 droidX = 3 droidY = 21052 tlx = 1 tly = 0 psStruct = (STRUCTURE *) 0x9f psStructStats = (STRUCTURE_STATS *) 0xbfaded28 psTarget = (BASE_OBJECT *) 0xa7445f8 psWeapStats = (WEAPON_STATS *) 0xa55bb58 targetDir = 176739544 dirDiff = 2 pbx = 134807232 pby = -1079120696 xdiff = -1079120624 ydiff = 0 rangeSq = 0 state = DSS_ARANGE_SHORT psPropStats = (PROPULSION_STATS *) 0xa554520 bChaseBloke = 0 bInvert = 0 psNextWreck = (FEATURE *) 0xec actionUpdateFunc = (BOOL (*)(DROID *)) 0 moveAction = 176525088 bDoHelpBuild = 58657919 psTile = (MAPTILE *) 0x8 i = 0 '\0' num_weapons = 2 '\002' psActionTarget = (BASE_OBJECT *) 0x0 psTargets = {0xbfadece0, 0x81358a6, 0x6} j = 8 '\b' iVisible = 1 '\001' bHasTarget = 0 __PRETTY_FUNCTION__ = "actionUpdateDroid" __FUNCTION__ = "actionUpdateDroid" #8 0x0807f29b in droidUpdate (psDroid=0xa88d4d8) at droid.c:935 dv = {x = 2800, y = 324, z = 1110} percentDamage = 29 emissionInterval = 3200 psBeingTargetted = (BASE_OBJECT *) 0x0 damageToDo = 1 __PRETTY_FUNCTION__ = "droidUpdate" #9 0x080c8f35 in gameLoop () at loop.c:282 psCurr = (DROID *) 0xa88d4d8 psNext = (DROID *) 0xa870fe0 psCBuilding = (STRUCTURE *) 0x0 psNBuilding = (STRUCTURE *) 0x0 psCFeat = (FEATURE *) 0xb7f2aebb psNFeat = (FEATURE *) 0xb7f55838 i = 6 widgval = 0 quitting = 0 intRetVal = INT_NONE clearMode = 3 __FUNCTION__ = "gameLoop" __PRETTY_FUNCTION__ = "gameLoop" #10 0x080cae4f in runGameLoop () at main.c:655 No locals. #11 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 = 156 '\234', sym = 1, mod = KMOD_NONE, unicode = 0}}, motion = {type = 4 '\004', which = 0 '\0', state = 0 '\0', x = 668, y = 259, xrel = 1, yrel = 0}, button = { type = 4 '\004', which = 0 '\0', button = 0 '\0', state = 0 '\0', x = 668, y = 259}, jaxis = {type = 4 '\004', which = 0 '\0', axis = 0 '\0', value = 668}, jball = { type = 4 '\004', which = 0 '\0', ball = 0 '\0', xrel = 668, yrel = 259}, 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 = 16974492, h = 1}, expose = {type = 4 '\004'}, quit = {type = 4 '\004'}, user = { type = 4 '\004', code = 16974492, data1 = 0x1, data2 = 0x0}, syswm = {type = 4 '\004', msg = 0x103029c}} #12 0x080cb5a2 in main (argc=2, argv=0xbfadef44) at main.c:965 No locals. (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 19233 _______________________________________________________ Reply to this item at: <http://gna.org/bugs/?11444> _______________________________________________ Message sent via/by Gna! http://gna.org/ _______________________________________________ Warzone-dev mailing list Warzone-dev@gna.org https://mail.gna.org/listinfo/warzone-dev