[Scummvm-tracker] [ScummVM :: Bugs] #13554: LSL6 break to debugger when calling bad numbers

ScummVM :: Bugs trac at scummvm.org
Tue Jun 7 14:06:17 UTC 2022


#13554: LSL6 break to debugger when calling bad numbers
-----------------------------------------+---------------------------------
Reporter:  RayKoopa                      |       Owner:  (none)
    Type:  defect                        |      Status:  new
Priority:  normal                        |   Component:  Engine: SCI
 Version:                                |  Resolution:
Keywords:  debugger, signature mismatch  |        Game:  Leisure Suit Larry
                                         |  6
-----------------------------------------+---------------------------------
Comment (by m-kiewitz):

 Replying to [comment:3 RayKoopa]:
 > Thanks for the explanation. I supposed it was some kind of "strictly
 incorrect behavior" only caught by ScummVM, yet hoped to notice any of the
 side effects in DOSBox (maybe even a crash) to confirm the call is also
 done incorrectly there.
 >
 > Once I see it happening again, is there a command or something with
 which I could gather more information on the incorrect call, which could
 help fixing it?

 You can't do much about it yourself, unless you know ins and outs of SCI
 and in case you can compile ScummVM yourself.
 There is a workarounds.cpp in the ScummVM SCI source code which contains
 these special situations / script bugs. There are also tons of script
 patches, where we fix bugs on the fly.

 In the workaround.cpp tables you can enter what ScummVM is supposed to do
 in that situation, which is either "still call" (call the kernel call
 anyway), "ignore" (don't call) or "fake" (don't call and fake the result
 that would have come back from the kernel call, some game scripts require
 specific values coming back), but in the end someone has to go through the
 LSL6 scripts and figure out what's actually going on and then do a proper
 fix. You said it happens randomly, which hints at it probably being timing
 related.

 And of course we can never rule out actual interpreter bugs in ScummVM,
 these may exist as well. This here looks like another script bug to me for
 now. And in original SCI some of these issues were harmless, others even
 caused memory corruption, which then in turn may have caused the game to
 crash 1 hour later or break the state of the game.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/13554#comment:4>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list