Opened 4 years ago

Closed 3 months ago

#9707 closed defect (outdated)

AGI: PQ1 - 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 4 years ago.

Download all attachments as: .zip

Change History (8)

by waltervn, 4 years ago

Attachment: pq1.102 added

comment:1 by m-kiewitz, 4 years ago

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

Fixed with commit be763b5

comment:2 by digitall, 2 years 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.

comment:3 by ZvikaZ, 4 months ago

Any news with this?

comment:4 by raziel-, 3 months ago

Summary: PQ1AGI: Segfault during restore via GMM at cards gameAGI: PQ1 - Segfault during restore via GMM at cards game

comment:5 by raziel-, 3 months ago

ScummVM 2.2.0git (Jul 15 2020 10:24:49)
Features compiled in: Vorbis FLAC MP3 RGB zLib MPEG2 Theora AAC A/52 FreeType2 FriBiDi JPEG PNG cloud (servers, local)

Is this still an issue?
I can't trigger this segfault/crash, then again i have a different AGI version of the game (see below). It even says so in the console:
User picked target 'pq1-amiga' (engine ID 'agi', game ID 'pq1')...

Looking for a plugin supporting this target... AGI preAGI + v2 + v3

AGI: Using recreation of Amiga Topaz font
Emulating Sierra AGI v3.002.149
WARNING: Game was saved with different gamedata - you may encounter problems!

Maybe it's only with a specific version of the game?

Police Quest I: In Pursuit of the Death Angel (2.0B 1989-02-22/Amiga/English)

AmigaO4 - PPC - BE - SDL

comment:6 by waltervn, 3 months ago

I'm pretty sure this was fixed and this bug can be closed.

comment:7 by raziel-, 3 months ago

Resolution: fixedoutdated
Status: pendingclosed

@waltervn

Thank you for the feedback.
Closing as outdated.

Note: See TracTickets for help on using tickets.