Opened 3 months ago
Last modified 3 months ago
#15305 new defect
GLK: Crash when saving a game
Reported by: | neuromancer | Owned by: | dreammaster |
---|---|---|---|
Priority: | normal | Component: | Engine: GLK: Glulxe |
Version: | Keywords: | ||
Cc: | Game: | GLK GLULXE Game |
Description
To reproduce (I'm using 78ee37a1e305fa516d88089f7165271ff0cdb9a6):
- Download Toby's Nose: https://ifdb.org/viewgame?id=xf5y04yekcrqtnc
- Add it and start the game
- Press Ctrl + F5 and save the game.
It crashes:
Thread 1 "scummvm" received signal SIGSEGV, Segmentation fault. 0x00005555647dbf1c in Glk::Glulx::Glulx::write_stackstate (this=0x51e000207c80, dest=0x7fffeed484d0, portable=1) at engines/glk/glulx/serial.cpp:687 687 frm != 0 && (frm2 = Stk4(frm - 4)) != lastframe; (gdb) bt #0 0x00005555647dbf1c in Glk::Glulx::Glulx::write_stackstate (this=0x51e000207c80, dest=0x7fffeed484d0, portable=1) at engines/glk/glulx/serial.cpp:687 #1 0x00005555647d5a56 in Glk::Glulx::Glulx::saveGameChunks (this=0x51e000207c80, quetzal=...) at engines/glk/glulx/serial.cpp:331 #2 0x0000555564b2ed4a in Glk::GlkEngine::saveGameState (this=0x51e000207c80, slot=3, desc=..., isAutosave=false) at engines/glk/glk.cpp:218 #3 0x0000555565a13d74 in MainMenuDialog::save (this=0x5100000d9040) at engines/dialogs.cpp:219 #4 0x0000555565a0c9a3 in MainMenuDialog::handleCommand (this=0x5100000d9040, sender=0x5160008eb518, cmd=1396790853, data=0) at engines/dialogs.cpp:113 #5 0x0000555565b32549 in GUI::CommandSender::sendCommand (this=0x5160008eb518, cmd=1396790853, data=0) at ./gui/object.h:54 #6 0x0000555565ea0571 in GUI::ButtonWidget::handleMouseUp (this=0x5160008eb380, x=259, y=26, button=1, clickCount=1) at gui/widget.cpp:408 #7 0x0000555565af69c9 in GUI::Dialog::handleMouseUp (this=0x5100000d9040, x=397, y=476, button=1, clickCount=1) at gui/dialog.cpp:233 #8 0x0000555565b2bb90 in GUI::GuiManager::processEvent (this=0x51d0000bcc80, event=..., activeDialog=0x5100000d9040) at gui/gui-manager.cpp:892 #9 0x0000555565b194f4 in GUI::GuiManager::runLoop (this=0x51d0000bcc80) at gui/gui-manager.cpp:594 #10 0x0000555565aef506 in GUI::Dialog::runModal (this=0x5100000d9040) at gui/dialog.cpp:78 #11 0x0000555565a469e4 in Engine::runDialog (this=0x51e000207c80, dialog=...) at engines/engine.cpp:811 #12 0x0000555565a41a7d in Engine::openMainMenuDialog (this=0x51e000207c80) at engines/engine.cpp:724 #13 0x00005555661b1cc4 in DefaultEventManager::pollEvent (this=0x50d000007540, event=...) at backends/events/default/default-events.cpp:149 #14 0x0000555564b1b634 in Glk::Events::pollEvents (this=0x511000081000) at engines/glk/events.cpp:183 #15 0x0000555564b19a15 in Glk::Events::getEvent (this=0x511000081000, event=0x7fffeee8a900, polled=false) at engines/glk/events.cpp:126 #16 0x0000555564b420f0 in Glk::GlkAPI::glk_select (this=0x51e000207c80, event=0x7fffeee8a900) at engines/glk/glk_api.cpp:689 #17 0x00005555652a2f06 in Glk::GlkAPI::gidispatch_call (this=0x51e000207c80, funcnum=192, numargs=5, arglist=0x50e000222900) at engines/glk/glk_dispa.cpp:815 #18 0x0000555564e38b28 in Glk::Glulx::Glulx::perform_glk (this=0x51e000207c80, funcnum=192, numargs=1, arglist=0x55557cb94640 <Glk::Glulx::Glulx::pop_arguments(unsigned int, unsigned int)::statarray>) at engines/glk/glulx/glkop.cpp:215 #19 0x0000555564e1ee7f in Glk::Glulx::Glulx::execute_loop (this=0x51e000207c80) at engines/glk/glulx/exec.cpp:638 #20 0x00005555647ca0bb in Glk::Glulx::Glulx::runGame (this=0x51e000207c80) at engines/glk/glulx/glulx.cpp:68 #21 0x0000555564b2c69d in Glk::GlkEngine::run (this=0x51e000207c80) at engines/glk/glk.cpp:148 #22 0x0000555562c84416 in runGame (enginePlugin=0x50300000ca90, system=..., game=..., meDescriptor=0x50d000031c80) at base/main.cpp:311 #23 0x0000555562c91a71 in scummvm_main (argc=4, argv=0x7fffffffe7b8) at base/main.cpp:796 #24 0x0000555562c73c97 in main (argc=4, argv=0x7fffffffe7b8) at backends/platform/sdl/posix/posix-main.cpp:44
The same will happen if the autosave is triggered.
Change History (2)
comment:1 by , 3 months ago
comment:2 by , 3 months ago
Actually, it is a duplicated of #14859, so it makes sense to close this one. I will let dreammaster to handle this since the ticket is assigned to him.
Note:
See TracTickets
for help on using tickets.
Also check #14859 which contains useful info