Menu

#6504 RINGWORLD2: Crash after scanning for ARM

closed-fixed
None
5
2014-02-23
2014-01-18
No

English CD version of the game.

After leaving the village and scanning for the location of ARM, I suggested a frontal assault as the most prudent course of action. The game disagreed, and crashed with the following backtrace:

#0 0x090831be in TsAGE::StripManager::signal (this=0x9e84d74)
at engines/tsage/converse.cpp:844
#1 0x08e72739 in TsAGE::Action::attached (this=0x9e84d74, newOwner=0x9e84d48,
endHandler=0x9e84d48, va=0xbffb90fc "\a") at engines/tsage/core.cpp:239
#2 0x08e723f7 in TsAGE::EventHandler::setAction (this=0x9e84d48,
action=0x9e84d74, endHandler=0x9e84d48) at engines/tsage/core.cpp:164
#3 0x09082643 in TsAGE::StripManager::start (this=0x9e84d74, stripNum=409,
owner=0x9e84d48, callback=0x0) at engines/tsage/converse.cpp:638
#4 0x09082fe0 in TsAGE::StripManager::signal (this=0x9e84d74)
at engines/tsage/converse.cpp:793
#5 0x08e726da in TsAGE::Action::dispatch (this=0x9e84d74)
at engines/tsage/core.cpp:226
#6 0x09082f3f in TsAGE::StripManager::dispatch (this=0x9e84d74)
at engines/tsage/converse.cpp:777
#7 0x08fe1990 in TsAGE::Scene::dispatch (this=0x9e84d48)
at engines/tsage/scenes.cpp:327
#8 0x08f1b1bb in TsAGE::Ringworld2::SceneExt::dispatch (this=0x9e84d48)
at engines/tsage/ringworld2/ringworld2_logic.cpp:416
#9 0x08e80540 in TsAGE::SceneHandler::dispatch (this=0x9eeb8f0)
at engines/tsage/core.cpp:4459
#10 0x08e7fb31 in TsAGE::GameHandler::execute (this=0x9eeb8f0)
at engines/tsage/core.cpp:4263
#11 0x08fe2da2 in TsAGE::Game::execute (this=0x9eeb8e0)
at engines/tsage/scenes.cpp:616
#12 0x08e6eb4d in TsAGE::TSageEngine::run (this=0x9cfae20)
at engines/tsage/tsage.cpp:134
#13 0x08051dbc in runGame (plugin=0x9d10ca0, system=..., edebuglevels=...)
at base/main.cpp:242
#14 0x08052cfc in scummvm_main (argc=4, argv=0xbffff2f4) at base/main.cpp:487
#15 0x08050a43 in main (argc=4, argv=0xbffff2f4)
at backends/platform/sdl/posix/posix-main.cpp:45

The line it crashes on tries to access _lookupList[], like so:

int f16Index = _lookupList[obj44._field16[0] - 1];

Unfortunately, _lookupList is 0.

1 Attachments

Discussion

  • Torbjörn Andersson

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -2,36 +2,36 @@
    
     After leaving the village and scanning for the location of ARM, I suggested a frontal assault as the most prudent course of action. The game disagreed, and crashed with the following backtrace:
    
    -#0  0x090831be in TsAGE::StripManager::signal (this=0x9e84d74)
    +#0  0x090831be in TsAGE::StripManager::signal (this=0x9e84d74)
         at engines/tsage/converse.cpp:844
    -#1  0x08e72739 in TsAGE::Action::attached (this=0x9e84d74, newOwner=0x9e84d48, 
    +#1  0x08e72739 in TsAGE::Action::attached (this=0x9e84d74, newOwner=0x9e84d48, 
         endHandler=0x9e84d48, va=0xbffb90fc "\a") at engines/tsage/core.cpp:239
    -#2  0x08e723f7 in TsAGE::EventHandler::setAction (this=0x9e84d48, 
    +#2  0x08e723f7 in TsAGE::EventHandler::setAction (this=0x9e84d48, 
         action=0x9e84d74, endHandler=0x9e84d48) at engines/tsage/core.cpp:164
    -#3  0x09082643 in TsAGE::StripManager::start (this=0x9e84d74, stripNum=409, 
    +#3  0x09082643 in TsAGE::StripManager::start (this=0x9e84d74, stripNum=409, 
         owner=0x9e84d48, callback=0x0) at engines/tsage/converse.cpp:638
    -#4  0x09082fe0 in TsAGE::StripManager::signal (this=0x9e84d74)
    +#4  0x09082fe0 in TsAGE::StripManager::signal (this=0x9e84d74)
         at engines/tsage/converse.cpp:793
    -#5  0x08e726da in TsAGE::Action::dispatch (this=0x9e84d74)
    +#5  0x08e726da in TsAGE::Action::dispatch (this=0x9e84d74)
         at engines/tsage/core.cpp:226
    -#6  0x09082f3f in TsAGE::StripManager::dispatch (this=0x9e84d74)
    +#6  0x09082f3f in TsAGE::StripManager::dispatch (this=0x9e84d74)
         at engines/tsage/converse.cpp:777
    -#7  0x08fe1990 in TsAGE::Scene::dispatch (this=0x9e84d48)
    +#7  0x08fe1990 in TsAGE::Scene::dispatch (this=0x9e84d48)
         at engines/tsage/scenes.cpp:327
    -#8  0x08f1b1bb in TsAGE::Ringworld2::SceneExt::dispatch (this=0x9e84d48)
    +#8  0x08f1b1bb in TsAGE::Ringworld2::SceneExt::dispatch (this=0x9e84d48)
         at engines/tsage/ringworld2/ringworld2_logic.cpp:416
    -#9  0x08e80540 in TsAGE::SceneHandler::dispatch (this=0x9eeb8f0)
    +#9  0x08e80540 in TsAGE::SceneHandler::dispatch (this=0x9eeb8f0)
         at engines/tsage/core.cpp:4459
    -#10 0x08e7fb31 in TsAGE::GameHandler::execute (this=0x9eeb8f0)
    +#10 0x08e7fb31 in TsAGE::GameHandler::execute (this=0x9eeb8f0)
         at engines/tsage/core.cpp:4263
    -#11 0x08fe2da2 in TsAGE::Game::execute (this=0x9eeb8e0)
    +#11 0x08fe2da2 in TsAGE::Game::execute (this=0x9eeb8e0)
         at engines/tsage/scenes.cpp:616
    -#12 0x08e6eb4d in TsAGE::TSageEngine::run (this=0x9cfae20)
    +#12 0x08e6eb4d in TsAGE::TSageEngine::run (this=0x9cfae20)
         at engines/tsage/tsage.cpp:134
    -#13 0x08051dbc in runGame (plugin=0x9d10ca0, system=..., edebuglevels=...)
    +#13 0x08051dbc in runGame (plugin=0x9d10ca0, system=..., edebuglevels=...)
         at base/main.cpp:242
    -#14 0x08052cfc in scummvm_main (argc=4, argv=0xbffff2f4) at base/main.cpp:487
    -#15 0x08050a43 in main (argc=4, argv=0xbffff2f4)
    +#14 0x08052cfc in scummvm_main (argc=4, argv=0xbffff2f4) at base/main.cpp:487
    +#15 0x08050a43 in main (argc=4, argv=0xbffff2f4)
         at backends/platform/sdl/posix/posix-main.cpp:45
    
     The line it crashes on tries to access _lookupList[], like so:
    
     
  • Strangerke

    Strangerke - 2014-01-30
    • status: open --> open-fixed
    • assigned_to: Strangerke
     
  • Strangerke

    Strangerke - 2014-01-30

    Fixed in 6c2ce625d86e81af3b351c59d1b8ea5c7cede625

     
  • Torbjörn Andersson

    It seems the responses are swapped, or maybe the random number generator is playing tricks on me. In ScummVM, I get this reply first:

    "I vote we go attack the ARM headquarters. Frontal assault!"
    "Are you star-dusted?! For one thing, the Lance of Truth isn't armed!"
    "For another thing, the ARM would detect us before we got within a thousand miles of the Base!"
    "And for another thing..."

    In DOSBox, I only get this reply if I suggest it a second time.

     
  • Strangerke

    Strangerke - 2014-02-23

    Fixed in 4d16b4ef193ba1e0137f166893ddb07b59bd96fb

     
  • Torbjörn Andersson

    • status: open-fixed --> closed-fixed
     
  • Torbjörn Andersson

    Seems to be working now.