Opened 2 years ago
Closed 2 years ago
#13642 closed defect (fixed)
MADS: Rex Nebular crashes if autosave triggers during the intro
Reported by: | dwatteau | Owned by: | dwatteau |
---|---|---|---|
Priority: | normal | Component: | Engine: MADS |
Version: | Keywords: | autosave | |
Cc: | Game: | Rex Nebular |
Description
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
Change History (1)
comment:1 by , 2 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
Note:
See TracTickets
for help on using tickets.
Fixed by Filippos in commit e51766c768b9709dbf2d3b11171f42888ba547eb.
Thanks!