Author Topic: [fixed] r2554: segmentation fault at start of scenario  (Read 691 times)

tomreyn

  • Local Moderator
  • Airship
  • ********
  • Posts: 2,764
    • View Profile
    • MegaGlest - the free and open source cross platform 3D real-time strategy game
[fixed] r2554: segmentation fault at start of scenario
« on: 24 September 2011, 21:52:57 »
I was trying to run titi's benchmark scenario on r2554. So I loaded it, and while everything loaded fine, and I got to see the in-game screen with objects rendered, the game ran into a segmentation fault:

Code: [Select]
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0  0x00007fb8f77059ca in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#0  0x00007fb8f77059ca in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x000000000077832a in operator-- (this=0x2743f98, __v=...) at /usr/include/c++/4.5/bits/stl_tree.h:199
#2  std::_Rb_tree<int, std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > >, std::_Select1st<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > >::_M_insert_unique (this=0x2743f98, __v=...) at /usr/include/c++/4.5/bits/stl_tree.h:1193
#3  0x0000000000778693 in std::_Rb_tree<int, std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > >, std::_Select1st<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > >::_M_insert_unique_ (this=0x2743f98, __position=<value optimized out>, __v=...) at /usr/include/c++/4.5/bits/stl_tree.h:1268
#4  0x00000000007741e6 in insert (this=0x2743f00, unit=0xc8fced0, range=10, rangedPtr=0x7fff99ae5538, ast=0x355a730) at /usr/include/c++/4.5/bits/stl_map.h:541
#5  operator[] (this=0x2743f00, unit=0xc8fced0, range=10, rangedPtr=0x7fff99ae5538, ast=0x355a730) at /usr/include/c++/4.5/bits/stl_map.h:451
#6  Glest::Game::UnitUpdater::unitOnRange (this=0x2743f00, unit=0xc8fced0, range=10, rangedPtr=0x7fff99ae5538, ast=0x355a730) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:2235
#7  0x000000000077453e in attackableOnSight (this=0x2743f00, unit=0xc8fced0, frameIndex=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:2101
#8  Glest::Game::UnitUpdater::updateStop (this=0x2743f00, unit=0xc8fced0, frameIndex=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:338
#9  0x0000000000769abf in Glest::Game::UnitUpdater::updateUnitCommand (this=0x2743f00, unit=0xc8fced0, frameIndex=-1) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:278
#10 0x000000000076c770 in Glest::Game::UnitUpdater::updateUnit (this=0x2743f00, unit=0xc8fced0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:160
#11 0x0000000000778c66 in Glest::Game::World::updateAllFactionUnits (this=0x27437f8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:349
#12 0x0000000000784cf7 in Glest::Game::World::update (this=0x27437f8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:434
#13 0x000000000051f0a2 in Glest::Game::Game::update (this=0x27437c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1009
#14 0x00000000005ab448 in Glest::Game::Program::loopWorker (this=0x2238000) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:349
#15 0x000000000059df6d in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:492
#16 0x0000000000585ab2 in Glest::Game::handleSIGSEGV (sig=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:610
#17 <signal handler called>
#18 0x00007fb8f77059ca in std::_Rb_tree_decrement(std::_Rb_tree_node_base*) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#19 0x000000000077832a in operator-- (this=0x2743f98, __v=...) at /usr/include/c++/4.5/bits/stl_tree.h:199
#20 std::_Rb_tree<int, std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > >, std::_Select1st<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > >::_M_insert_unique (this=0x2743f98, __v=...) at /usr/include/c++/4.5/bits/stl_tree.h:1193
#21 0x0000000000778693 in std::_Rb_tree<int, std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > >, std::_Select1st<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > >, std::less<int>, std::allocator<std::pair<int const, std::map<int, Glest::Game::UnitRangeCellsLookupItem, std::less<int>, std::allocator<std::pair<int const, Glest::Game::UnitRangeCellsLookupItem> > > > > >::_M_insert_unique_ (this=0x2743f98, __position=<value optimized out>, __v=...) at /usr/include/c++/4.5/bits/stl_tree.h:1268
#22 0x00000000007741e6 in insert (this=0x2743f00, unit=0xc8f8fd0, range=10, rangedPtr=0x7fff99aea728, ast=0x355a730) at /usr/include/c++/4.5/bits/stl_map.h:541
#23 operator[] (this=0x2743f00, unit=0xc8f8fd0, range=10, rangedPtr=0x7fff99aea728, ast=0x355a730) at /usr/include/c++/4.5/bits/stl_map.h:451
#24 Glest::Game::UnitUpdater::unitOnRange (this=0x2743f00, unit=0xc8f8fd0, range=10, rangedPtr=0x7fff99aea728, ast=0x355a730) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:2235
#25 0x000000000077453e in attackableOnSight (this=0x2743f00, unit=0xc8f8fd0, frameIndex=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:2101
#26 Glest::Game::UnitUpdater::updateStop (this=0x2743f00, unit=0xc8f8fd0, frameIndex=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:338
#27 0x0000000000769abf in Glest::Game::UnitUpdater::updateUnitCommand (this=0x2743f00, unit=0xc8f8fd0, frameIndex=-1) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:278
#28 0x000000000076c770 in Glest::Game::UnitUpdater::updateUnit (this=0x2743f00, unit=0xc8f8fd0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/unit_updater.cpp:160
#29 0x0000000000778c66 in Glest::Game::World::updateAllFactionUnits (this=0x27437f8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:349
#30 0x0000000000784cf7 in Glest::Game::World::update (this=0x27437f8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:434
#31 0x000000000051f0a2 in Glest::Game::Game::update (this=0x27437c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1009
#32 0x00000000005ab448 in Glest::Game::Program::loopWorker (this=0x2238000) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:349
#33 0x000000000059bc72 in Glest::Game::glestMain (argc=<value optimized out>, argv=<value optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:3435
#34 0x000000000059d290 in glestMainWrapper (argc=1, argv=0x7fff99aed9e8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:3522
#35 main (argc=1, argv=0x7fff99aed9e8) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:3544

I did the exact same thing again a few minutes later but not not reproduce it then.
« Last Edit: 12 October 2011, 03:14:26 by softcoder »
atibox: Ryzen 1800X (8 cores @3.6GHz), 32 GB RAM, MSI Radeon RX 580 Gaming X 8G, PCI subsystem ID [1462:3417], (Radeon RX 580 chipset, POLARIS10) @3440x1440; latest stable Ubuntu release, (open source) radeon (amdgpu) / mesa video driver
atibox (old): Core2Quad Q9400 (4 cores @2.66GHz), 8 GB RAM, XFX HD-467X-DDF2, PCI subsystem ID [1682:2931], (Radeon HD 4670, RV730 XT) @1680x1050; latest stable Ubuntu release, (open source) radeon / mesa video driver
notebook: HP envy13d020ng
internet access: VDSL2+

· · · How YOU can contribute to MG · Latest development snapshot · How to build yourself · Megapack techtree · Currently hosted MG games · · ·

softcoder

  • MegaGlest Team
  • Battle Machine
  • ********
  • Posts: 2,239
    • View Profile
Re: r2554: segmentation fault at start of scenario
« Reply #1 on: 24 September 2011, 22:18:12 »
Hopefully fixed in svn rev 2556