[Scummvm-tracker] [ScummVM :: Bugs] #15305: GLK: Crash when saving a game
ScummVM :: Bugs
trac at scummvm.org
Thu Aug 1 10:07:47 UTC 2024
#15305: GLK: Crash when saving a game
----------------------------+---------------------------------
Reporter: neuromancer | Owner: dreammaster
Type: defect | Status: new
Priority: normal | Component: Engine: GLK: Glulxe
Version: | Keywords:
Game: GLK GLULXE Game |
----------------------------+---------------------------------
To reproduce (I'm using 78ee37a1e305fa516d88089f7165271ff0cdb9a6):
1. Download Toby's Nose: https://ifdb.org/viewgame?id=xf5y04yekcrqtnc
2. Add it and start the game
3. 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.
--
Ticket URL: <https://bugs.scummvm.org/ticket/15305>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list