Opened 3 years ago

Last modified 13 months ago

#9707 pending defect (fixed)

PQ1AGI: Segfault during restore via GMM at cards game

Reported by: waltervn Owned by: m-kiewitz
Priority: normal Component: Engine: AGI
Keywords: Cc:
Game: Police Quest 1

Description

When trying to restore at the cards game using the GMM (at a time where the game does not allow it via F7), I frequently get a segfault.

Steps to reproduce:

  • At the poker screen, type 'ante'
  • Wait a few seconds
  • Open the GMM
  • Restore a save game

Backtrace:
0x00007ffba611c981 in strlen () from C:\WINDOWS\System32\msvcrt.dll
(gdb) bt
#0 0x00007ffba611c981 in strlen () from C:\WINDOWS\System32\msvcrt.dll
#1 0x00000000007e973c in Agi::AgiInstruction::argumentsLength (

this=0x96c0c8 <Agi::insV2+4392>) at ../engines/agi/opcodes.h:33

#2 0x000000000055c000 in Agi::AgiEngine::skipInstruction (this=0xacbaeb0,

op=203 '▒') at ../engines/agi/op_test.cpp:473

#3 0x000000000055c08f in Agi::AgiEngine::skipInstructionsUntil (

this=0xacbaeb0, v=255 '▒') at ../engines/agi/op_test.cpp:482

#4 0x000000000055be54 in Agi::AgiEngine::testIfCode (this=0xacbaeb0,

lognum=81) at ../engines/agi/op_test.cpp:445

#5 0x000000000055a511 in Agi::AgiEngine::runLogic (this=0xacbaeb0,

logicNr=81) at ../engines/agi/op_cmd.cpp:2368

#6 0x000000000055633d in Agi::cmdCall (state=0xacbaf58, vm=0xacbaeb0,

parameter=0x3049130 "Q") at ../engines/agi/op_cmd.cpp:1112

#7 0x000000000055a6e2 in Agi::AgiEngine::runLogic (this=0xacbaeb0,

logicNr=75) at ../engines/agi/op_cmd.cpp:2399

#8 0x000000000055633d in Agi::cmdCall (state=0xacbaf58, vm=0xacbaeb0,

parameter=0x30491dd "K") at ../engines/agi/op_cmd.cpp:1112

#9 0x00000000005563e1 in Agi::cmdCallF (state=0xacbaf58, vm=0xacbaeb0,

parameter=0x30492b0 "") at ../engines/agi/op_cmd.cpp:1123

#10 0x000000000055a6e2 in Agi::AgiEngine::runLogic (this=0xacbaeb0, logicNr=0)

at ../engines/agi/op_cmd.cpp:2399

#11 0x000000000054f59d in Agi::AgiEngine::interpretCycle (this=0xacbaeb0)

at ../engines/agi/cycle.cpp:149

#12 0x000000000054ff7e in Agi::AgiEngine::playGame (this=0xacbaeb0)

at ../engines/agi/cycle.cpp:442

#13 0x0000000000550339 in Agi::AgiEngine::runGame (this=0xacbaeb0)

at ../engines/agi/cycle.cpp:547

#14 0x000000000054b4fa in Agi::AgiEngine::go (this=0xacbaeb0)

at ../engines/agi/agi.cpp:551

#15 0x00000000007e9a2e in Agi::AgiBase::run (this=0xacbaeb0)

at ../engines/agi/agi.h:621

#16 0x0000000000405a26 in runGame (plugin=0x4f0ff70, system=...,

edebuglevels=...) at ../base/main.cpp:263

#17 0x0000000000406bc3 in scummvm_main (argc=1, argv=0x1a1f60)

at ../base/main.cpp:529

#18 0x0000000000403b1d in SDL_main (argc=1, argv=0x1a1f60)

at ../backends/platform/sdl/win32/win32-main.cpp:72

#19 0x0000000000403a68 in WinMain ()

at ../backends/platform/sdl/win32/win32-main.cpp:55

#20 0x0000000000968372 in main (flags=<optimized out>,

cmdline=<optimized out>, inst=<optimized out>)

I've attached a save game at the cards game for PQ1 2.0G DOS

Attachments (1)

pq1.102 (3.0 KB ) - added by waltervn 3 years ago.

Download all attachments as: .zip

Change History (3)

by waltervn, 3 years ago

Attachment: pq1.102 added

comment:1 by m-kiewitz, 3 years ago

Owner: set to m-kiewitz
Resolution: fixed
Status: newpending

Fixed with commit be763b5

comment:2 by digitall, 13 months ago

I assume that this was set pending on a retest to check that the segfault was fixed?

@waltervn: Since this should have been fixed by https://github.com/scummvm/scummvm/commit/be763b59aa44c126ace6f0b8854d3ebc2ff62d37, can you retest and confirm fixed?

Since this is pending and likely fixed, if this is not updated within 7 days, will close it out.

Note: See TracTickets for help on using tickets.