[Scummvm-tracker] [ScummVM :: Bugs] #13642: MADS: Rex Nebular crashes if autosave triggers during the intro

ScummVM :: Bugs trac at scummvm.org
Mon Jun 27 17:01:21 UTC 2022


#13642: MADS: Rex Nebular crashes if autosave triggers during the intro
------------------------+--------------------------
Reporter:  dwatteau     |      Owner:  (none)
    Type:  defect       |     Status:  new
Priority:  normal       |  Component:  Engine: MADS
 Version:               |   Keywords:  autosave
    Game:  Rex Nebular  |
------------------------+--------------------------
 This is on macOS 12.4 (arm64) with ScummVM 2.7.0git-2f15828d5ac.

 After adding the game with its default settings and playing the (long!)
 intro, this crash systematically happens nearly exactly at 5 min 00 (which
 is my autosave setting in ScummVM).

 This is when the guy in red is done saying "You don't have a problem
 taking a check, do you?" to Rex.

 Looking at the timing and the backtrace, I think it's related to the
 autosave feature causing a problem in this case.

 {{{
 User picked target 'nebular' (engine ID 'mads', game ID 'nebular')...
    Looking for a plugin supporting this target... MADS
 Running Rex Nebular and the Cosmic Gender Bender (DOS/English)
 section1.hag: 6f725eb38660de8af31ec7cdd628d615, 927222 bytes.
 WARNING: Read beyond end of loaded sound data!
 WARNING: Read beyond end of loaded sound data!
 Process 12297 stopped
 * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
 (code=1, address=0x0)
     frame #0: 0x000000010012083c
 scummvm`MADS::Game::synchronize(this=0x000000010211f800,
 s=0x000000016fdfcd50, phase1=false) at game.cpp:476:23
    473                  _screenObjects.synchronize(s);
    474          } else {
    475                  // Load scene specific data for the loaded scene
 -> 476                  _scene._sceneLogic->synchronize(s);
    477          }
    478  }
    479
 Target 0: (scummvm) stopped.

 (lldb) p s
 (Common::Serializer) $0 = (_loadStream = 0x0000000000000000, _saveStream =
 0x00006000000203c0, _bytesSynced = 3966, _version = 0)

 (lldb) p _scene._sceneLogic
 (MADS::SceneLogic *) $2 = nullptr

 (lldb) bt
 * thread #1, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS
 (code=1, address=0x0)
   * frame #0: 0x000000010012083c
 scummvm`MADS::Game::synchronize(this=0x000000010211f800,
 s=0x000000016fdfcd50, phase1=false) at game.cpp:476:23
     frame #1: 0x0000000100033448
 scummvm`MADS::Nebular::GameNebular::synchronize(this=0x000000010211f800,
 s=0x000000016fdfcd50, phase1=false) at game_nebular.cpp:898:8
     frame #2: 0x0000000100120f68
 scummvm`MADS::Game::saveGame(this=0x000000010211f800, slotNumber=0,
 saveName=0x000000016fdfd000) at game.cpp:519:2
     frame #3: 0x0000000100126c14
 scummvm`MADS::MADSEngine::saveGameState(this=0x000000010143d770, slot=0,
 desc=0x000000016fdfd000, isAutosave=true) at mads.cpp:206:9
     frame #4: 0x0000000100166468
 scummvm`Engine::saveAutosaveIfEnabled(this=0x000000010143d770) at
 engine.cpp:616:18
     frame #5: 0x000000010016631c
 scummvm`Engine::handleAutoSave(this=0x000000010143d770) at
 engine.cpp:563:3
     frame #6: 0x0000000100202700
 scummvm`DefaultEventManager::pollEvent(this=0x00006000030126d0,
 event=0x000000016fdfd808) at default-events.cpp:87:13
     frame #7: 0x000000010011bff0
 scummvm`MADS::EventsManager::pollEvents(this=0x0000600002639320) at
 events.cpp:139:38
     frame #8: 0x000000010011c42c
 scummvm`MADS::EventsManager::delay(this=0x0000600002639320, cycles=1) at
 events.cpp:225:3
     frame #9: 0x000000010011c4c0
 scummvm`MADS::EventsManager::waitForNextFrame(this=0x0000600002639320) at
 events.cpp:240:3
     frame #10: 0x0000000100126db4
 scummvm`MADS::MenuView::show(this=0x0000000132804a20) at
 menu_views.cpp:57:17
     frame #11: 0x000000010002a2b8
 scummvm`MADS::Nebular::DialogsNebular::showDialog(this=0x0000600002124550)
 at dialogs_nebular.cpp:336:9
     frame #12: 0x000000010002f044
 scummvm`MADS::Nebular::GameNebular::startGame(this=0x000000010211f800) at
 game_nebular.cpp:109:18
     frame #13: 0x000000010011f0bc
 scummvm`MADS::Game::run(this=0x000000010211f800) at game.cpp:121:4
     frame #14: 0x000000010012694c
 scummvm`MADS::MADSEngine::run(this=0x000000010143d770) at mads.cpp:165:9
     frame #15: 0x0000000100011694
 scummvm`runGame(plugin=0x000060000021d8c0,
 enginePlugin=0x000060000021d4c0, system=0x0000000101405270,
 debugLevels=0x000000016fdff6a0) at main.cpp:318:33
     frame #16: 0x000000010000fe44 scummvm`::scummvm_main(argc=1,
 argv=0x000000016fdff8a8) at main.cpp:619:27
     frame #17: 0x000000010000c534 scummvm`main(argc=1,
 argv=0x000000016fdff8a8) at macosx-main.cpp:44:12
     frame #18: 0x00000001008b108c dyld`start + 520
 }}}
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13642>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list