glob2-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [glob2-devel] glob2 0.8.22 crash: ConfigVector<T>::get(size_t) [with


From: Joe Wells
Subject: Re: [glob2-devel] glob2 0.8.22 crash: ConfigVector<T>::get(size_t) [with T = BuildingType]: Assertion `false' failed.
Date: Fri, 06 Apr 2007 12:47:27 +0100
User-agent: Gnus/5.11 (Gnus v5.11) Emacs/22.0.50 (gnu/linux)

Kai Antweiler <address@hidden> writes:

>> Okay, I've done this.  I ran starting from the autosave file, and
>> within about two minutes got the same crash (i.e., the exact same
>> crash error message, character for character, including the same id
>> number 4294967295).  A transcript of my gdb session is below.  What
>> should I be doing to get a backtrace that shows the arguments to
>> method calls?
>
> recompile glob2:
> ./configure CXXFLAGS="-O2 -g"
> make clean
> make

This didn't work.  All of the g++ command lines had “-O3 -march=i686”
and none of them had “-O2 -g”.

It worked when I replaced “make” by “make CXXFLAGS="-O2 -g"”.

> Then run the game again.
> inside gdb: you can use the command "frame 4" to get to know more
> about ConfigVector<BuildingType>::get ()
> With "list" you can look into the soure code.
> With "print" you can get values of variables.

New “bt full” output below.  “ConfigVector<BuildingType>::get ()” is
no longer listed as a separate stack frame.  It looks like it got
inlined.

> Please file bugs in our tracker, otherwise we will forget about some
> bugs.  If the autosave is small enough you can upload it to the tracker.
> Your mails are fine.  But we get so many bug reports right now that I
> fear we forget some, if they are only listed in the mailing list.

I'm afraid you'll have to wait on this.  I've spent too much time on
glob2 already!  I think I've used up my entertainment time budget for
the next several months already.  :-(

> Just copy and paste.  Create several bug reports - one for each issue:
> http://savannah.nongnu.org/bugs/?group=glob2

Um, I have listed a _lot_ of issues.  Perhaps you could indicate which
precise ones are worth separate bug reports.

> I can confirm what you said in the other thread about incompatibility
> of maps created in 0.8.21 and 0.8.22 .

Okay, good.

> The new bad memory management is serious too.

Have you reproduced it?

> I have found another bug.  I will put this into the tracker.
>
> I tried to load a save game:
>
> 0.8.22-rc:
> game crashed:
> glob2: Unit.cpp:962: void Unit::handleDisplacement(): Assertion 
> `displacement!=DIS_RANDOM' failed.

Yes, I'm getting this same crash too.

> 0.8.21:
> No crash, but game wasn't loaded:
> Map:: Failed to find signature at the end of Map.

Hmm.  I haven't yet retried with 0.8.21 the saved game that failed
with 0.8.22.

> The games were saved sometime in february.
> New games work.

-- 
Joe

----------------------------------------------------------------------
~/<3>glob2-0.8.22/src > gdb ./glob2 /mnt/foo/jbw/core.11364
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library 
"/lib/tls/i686/cmov/libthread_db.so.1".

Core was generated by 
`/home/jbw/Desktop/software/glob-debugging/glob2-0.8.22/src/glob2 -s1344x736'.
Program terminated with signal 6, Aborted.

warning: Can't read pathname for load map: Input/output error.
Reading symbols from /usr/lib/libGLU.so.1...done.
Loaded symbols for /usr/lib/libGLU.so.1
Reading symbols from /usr/lib/libGL.so.1...done.
Loaded symbols for /usr/lib/libGL.so.1
Reading symbols from /usr/lib/libspeex.so.1...done.
Loaded symbols for /usr/lib/libspeex.so.1
Reading symbols from /usr/lib/libz.so.1...done.
Loaded symbols for /usr/lib/libz.so.1
Reading symbols from /usr/lib/libSDL-1.2.so.0...done.
Loaded symbols for /usr/lib/libSDL-1.2.so.0
Reading symbols from /lib/tls/i686/cmov/libpthread.so.0...done.
Loaded symbols for /lib/tls/i686/cmov/libpthread.so.0
Reading symbols from /usr/lib/libSDL_image-1.2.so.0...done.
Loaded symbols for /usr/lib/libSDL_image-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/libSDL_ttf-2.0.so.0...done.
Loaded symbols for /usr/lib/libSDL_ttf-2.0.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 /usr/lib/libstdc++.so.6...done.
Loaded symbols for /usr/lib/libstdc++.so.6
Reading symbols from /lib/tls/i686/cmov/libm.so.6...done.
Loaded symbols for /lib/tls/i686/cmov/libm.so.6
Reading symbols from /lib/libgcc_s.so.1...done.
Loaded symbols for /lib/libgcc_s.so.1
Reading symbols from /lib/tls/i686/cmov/libc.so.6...done.
Loaded symbols for /lib/tls/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 /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 /lib/tls/i686/cmov/libdl.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libdl.so.2
Reading symbols from /usr/lib/libdrm.so.2...done.
Loaded symbols for /usr/lib/libdrm.so.2
Reading symbols from /usr/lib/libasound.so.2...done.
Loaded symbols for /usr/lib/libasound.so.2
Reading symbols from /lib/ld-linux.so.2...done.
Loaded symbols for /lib/ld-linux.so.2
Reading symbols from /usr/lib/libtiff.so.4...done.
Loaded symbols for /usr/lib/libtiff.so.4
Reading symbols from /usr/lib/libjpeg.so.62...done.
Loaded symbols for /usr/lib/libjpeg.so.62
Reading symbols from /usr/lib/libpng12.so.0...done.
Loaded symbols for /usr/lib/libpng12.so.0
Reading symbols from /usr/lib/libfreetype.so.6...done.
Loaded symbols for /usr/lib/libfreetype.so.6
Reading symbols from /usr/lib/libogg.so.0...done.
Loaded symbols for /usr/lib/libogg.so.0
Reading symbols from /usr/lib/libXau.so.6...done.
Loaded symbols for /usr/lib/libXau.so.6
Reading symbols from /usr/lib/libXcursor.so.1...done.
Loaded symbols for /usr/lib/libXcursor.so.1
Reading symbols from /usr/lib/libXrender.so.1...done.
Loaded symbols for /usr/lib/libXrender.so.1
Reading symbols from /usr/lib/libXfixes.so.3...done.
Loaded symbols for /usr/lib/libXfixes.so.3
Reading symbols from /lib/tls/i686/cmov/libnss_compat.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_compat.so.2
Reading symbols from /lib/tls/i686/cmov/libnsl.so.1...done.
Loaded symbols for /lib/tls/i686/cmov/libnsl.so.1
Reading symbols from /lib/tls/i686/cmov/libnss_nis.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_nis.so.2
Reading symbols from /lib/tls/i686/cmov/libnss_files.so.2...done.
Loaded symbols for /lib/tls/i686/cmov/libnss_files.so.2
#0  0xffffe410 in __kernel_vsyscall ()
(gdb) bt full
#0  0xffffe410 in __kernel_vsyscall ()
No symbol table info available.
#1  0xb7bbd9a1 in raise () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#2  0xb7bbf2b9 in abort () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#3  0xb7bb6f51 in __assert_fail () from /lib/tls/i686/cmov/libc.so.6
No symbol table info available.
#4  0x080b06ad in Building::removeForbiddenZoneFromUpgradeArea (this=0x8cb3408)
    at ConfigFiles.h:181
        midPosY = 23
        newPosY = <value optimized out>
        newWidth = <value optimized out>
        newHeight = <value optimized out>
        midPosX = 63
        targetLevelTypeNum = -1
        targetBt = <value optimized out>
        newPosX = <value optimized out>
        __PRETTY_FUNCTION__ = "void 
Building::removeForbiddenZoneFromUpgradeArea()"
#5  0x080b0743 in Building::updateBuildingSite (this=0x8cb3408)
    at Building.cpp:888
        __PRETTY_FUNCTION__ = "void Building::updateBuildingSite()"
#6  0x081b0a15 in Unit::handleDisplacement (this=0x8c88768) at Unit.cpp:1047
        distance = <value optimized out>
        usr = <value optimized out>
        usr2 = <value optimized out>
        __PRETTY_FUNCTION__ = "void Unit::handleDisplacement()"
#7  0x081b4e85 in Unit::endOfAction (this=0x8c88768) at Unit.cpp:2214
No locals.
#8  0x081b4f27 in Unit::syncStep (this=0x8c88768) at Unit.cpp:526
        __PRETTY_FUNCTION__ = "void Unit::syncStep()"
#9  0x081a7a4b in Team::syncStep (this=0x8c90ae8) at Team.cpp:1071
        u = (Unit *) 0x8c88768
        isDirtyGlobalGradient = <value optimized out>
        isEnoughFoodInSwarm = <value optimized out>
        isDying = <value optimized out>
        nbUsefullUnits = 54
        nbUsefullUnitsAlone = 44
        __PRETTY_FUNCTION__ = "void Team::syncStep()"
#10 0x080d5c58 in Game::syncStep (this=0xbfac74e4, localTeam=0)
    at Game.cpp:1174
        i = 0
        startTick = 41624
        __PRETTY_FUNCTION__ = "void Game::syncStep(Sint32)"
#11 0x080cf1c8 in Engine::run (this=0xbfac74e4) at Engine.cpp:485
        fileName = 
{<std::basic_string<char,std::char_traits<char>,std::allocator<char> >> = 
{static npos = 4294967295,
    _M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = 
{<No data fields>}, <No data fields>},
      _M_p = 0x10 <Address 0x10 out of bounds>}}, argLevel = 137310980}
        __PRETTY_FUNCTION__ = "int Engine::run()"
#12 0x080fe5a0 in Glob2::run (this=0xbfacec37, argc=0, argv=0x0)
    at Glob2.cpp:335
        css = {<Glob2Screen> = {<GAGGUI::Screen> = {_vptr.Screen = 0x3,
      widgets = {_M_t = {
          _M_impl = {<std::allocator<std::_Rb_tree_node<GAGGUI::Widget*> >> = 
{<__gnu_cxx::new_allocator<std::_Rb_tree_node<GAGGUI::Widget*> >> = {<No data 
fields>}, <No data fields>},
            _M_key_compare = {<> = {<No data fields>}, <No data fields>},
            _M_header = {_M_color = std::_S_red, _M_parent = 0xb7dbcfd8,
              _M_left = 0x4d6, _M_right = 0xb7cc1358},
            _M_node_count = 3083604768}}}, run = 32, returnCode = -1211362528,
      gfx = 0xb7fee778, animationFrame = -1210075192},
    randomSeed = -1211111400}, title = 0xbfaceb60, ok = 0xb7cc1358,
  cancel = 0xb7dfb974, fileList = 0xb78e0f78}
        rc_css = <value optimized out>
        __PRETTY_FUNCTION__ = "int Glob2::run(int, char**)"
#13 0x080ffdaf in main (argc=0, argv=0x0) at Glob2.cpp:491
        glob2 = {static verbose = <optimized out>, isRunning = true}
(gdb)





reply via email to

[Prev in Thread] Current Thread [Next in Thread]