While loading
a savegame (see note below) which uses a techtree not available on my system, I ran into this:
$ LANG=en_US.utf-8 ./dev_rungame
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: default value of option vblank_mode overridden by environment.
ATTENTION: option value of option vblank_mode ignored.
megaglest v3.6.1-dev
Compiled using: GNUC: 40601 [64bit] on: Apr 2 2012 12:42:52
SVN: [Rev: 3217M] - using STREFLOP [SSE] - [no-denormals]
>>> schoen
[2012-04-02 14:50:01] *ERROR* In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/map.cpp::load Line: 541] Error [This tech tree has not tech resources, one at least is required]
[2012-04-02 14:50:01] *ERROR* In [program.cpp::setState Line: 590]
Error [Error loading map: /home/tomreyn/.megaglest/maps/Captive 1v1.gbm
This tech tree has not tech resources, one at least is required]
In [/home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp::handleSIGSEGV Line: 634] Error detected: signal 11:
Error saved to logfile [/home/tomreyn/.megaglest/error.log]
Segmentation fault detected, analyzing...
warning: [New LWP 29610]
[New LWP 29614]
[New LWP 29616]
[New LWP 29621]
[New LWP 29615]
[New LWP 29620]
[New LWP 29619]
[New LWP 29613]
[New LWP 29618]
[New LWP 29622]
Can't read pathname for load map: Input/output error.
[Thread debugging using libthread_db enabled]
Core was generated by `./megaglest'.
Program terminated with signal 11, Segmentation fault.
#0 0x0000000000899074 in Glest::Game::World::showWorldForPlayer (this=0x2fb54f8, factionIndex=0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:1789
1789 else if(game->getGameOver() == true &&
#0 0x0000000000899074 in Glest::Game::World::showWorldForPlayer (this=0x2fb54f8, factionIndex=0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:1789
#1 0x00000000005d781e in Glest::Game::Renderer::getQuadCache (this=0xc80280, forceNew=false, updateOnDirtyFrame=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:7812
#2 0x00000000005d8883 in Glest::Game::Renderer::renderUnits (this=0xc80280, renderFps=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:4595
#3 0x0000000000542c9b in Glest::Game::Game::render3d (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2844
#4 0x0000000000565c72 in Glest::Game::Game::renderWorker (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1662
#5 0x0000000000566198 in Glest::Game::Game::render (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1592
#6 0x000000000063d7a6 in Glest::Game::Program::loopWorker (this=0x1bddbb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:409
#7 0x0000000000634345 in Glest::Game::ExceptionHandler::handleRuntimeError (msg=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:512
#8 0x000000000061da22 in Glest::Game::handleSIGSEGV (sig=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:638
#9 <signal handler called>
#10 0x0000000000899074 in Glest::Game::World::showWorldForPlayer (this=0x2fb54f8, factionIndex=0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/world/world.cpp:1789
#11 0x00000000005d781e in Glest::Game::Renderer::getQuadCache (this=0xc80280, forceNew=false, updateOnDirtyFrame=true) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:7812
#12 0x00000000005d9001 in Glest::Game::Renderer::renderUnitsFast (this=0xc80280, renderingShadows=true, colorPickingSelection=false) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:6633
#13 0x00000000005d95d0 in Glest::Game::Renderer::renderShadowsToTexture (this=0xc80280, renderFps=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/graphics/renderer.cpp:6287
#14 0x0000000000542b96 in Glest::Game::Game::render3d (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:2818
#15 0x0000000000565c72 in Glest::Game::Game::renderWorker (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1662
#16 0x0000000000566198 in Glest::Game::Game::render (this=0x2fb54c0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/game/game.cpp:1592
#17 0x000000000063d7a6 in Glest::Game::Program::loopWorker (this=0x1bddbb0) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/program.cpp:409
#18 0x000000000062aca6 in Glest::Game::glestMain (argc=<optimized out>, argv=<optimized out>) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4140
#19 0x000000000062e0d6 in Glest::Game::glestMainWrapper (argc=1, argv=0x7fffb52e9a48) at /home/tomreyn/SCM/megaglest-trunk/source/glest_game/main/main.cpp:4296
#20 0x00007fdc9c32e30d in __libc_start_main (main=0x4ab0c0 <main(int, char**)>, argc=1, ubp_av=0x7fffb52e9a48, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffb52e9a38) at libc-start.c:226
#21 0x00000000004b0539 in _start ()
Please note that I manually edited an existing savegame to create this situation, replacing all occurrences of the previous techtree "megapack" by "doesntexist". Before this modification was made, this savegame loaded fine. If this is not a proper test case, please say so.
I'm not exactly sure whether or not this can be considered a bug. However, the map referred to in the error message IS available at the very location provided, so at least this error message seems wrong. And the "tech tree has not tech resources, one at least is required" message is at least hard to understand / misleading when what is happening is that you are trying to play a savegame from someone else who was using a techtree you have not available on your system. So maybe the error message could be improved, and an on-screen message could be displayed instead of the game segfaulting immediately? (I really don't know how much I'm asking here, so if this makes things complex then just keep it as is).
Entirely unrelated (I guess) is that I'm surprised about the output of
>>> schoen (german for
nice) in this place and I'm wondering what it means in this context.