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

Reply via email to