#9797 closed defect (fixed)
SCI: Torin: Access violation on script.20700
Reported by: | g5ppc | Owned by: | csnover |
---|---|---|---|
Priority: | blocker | Component: | Engine: SCI |
Version: | Keywords: | sci32 | |
Cc: | Game: | Torin's Passage |
Description
Using the May 16 build, Torin's Passage FRench on Win7,
in World 2/Escarpa, when Torin attempts to walk down to the just-grown tree, at the end of the animation, the debug console appears:
ERROR: Access violation reading script.20700 buffer: 8010 + 2 > 8011 (abs: 8010 + 2 > 8011)!
Attachments (2)
Change History (19)
by , 8 years ago
Attachment: | torin-cd-win-fr.005 added |
---|
comment:1 by , 8 years ago
Keywords: | sci32 added |
---|---|
Resolution: | → duplicate |
Status: | new → pending |
Summary: | Torin's Passage access violation on script.20700 → SCI: Torin: Access violation on script.20700 |
comment:2 by , 8 years ago
Ugh, you are right. I only looked at the open ticket list first.
It is the PointSoft release, and there are a bunch of .MSG files in a directory I thought wasn't needed. D:\FRENCH\MSG
comment:3 by , 8 years ago
\FRENCH\MSG was available to ScummVM, so I tried renaming it to \PATCHES \PATCH and even moving *.MSG into the game-dir root. None stopped the crash from the save game. Do I need to restart the game? Is it a problem that these files are .MSG files, and the 9776 bug mentions .SCR files?
comment:4 by , 8 years ago
Resolution: | duplicate |
---|---|
Status: | pending → new |
It is interesting that your disc does not appear to contain the extra “patch” directory that the reporter in #9776 had on their disc. I assume that their patch directory contained the same files as the official TORINPAT patch, which it sounds like is necessary to keep the game from crashing. If this is so, some extra work will need to be done to either hot-patch the bad script or blacklist it and require users to install the patch. (You may install the patch by extracting the contents of that ZIP file to your Torin directory.) Please let me know if applying that patch allows you to continue the game successfully.
With regards to the message files, they have nothing to do with this crash. I have a pending patch to look up the correct locale-specific message files in this release, but I have not finalised it yet.
comment:5 by , 8 years ago
I tried renaming 20700.MSG to 20700.SCR (still in game-root dir) and the console called out a resource type conflict on that file, and no difference. So ScummVM does seem to notice 20700.SCR, and I assume 20700.MSG as well.
The build is 1.10.0git3283-gcadd89e675 07:35:40
Confirmed \FRENCH\MSG is not processed. Confirmed \PATCHES is processed. Restarting game in Chapter 2, and will see if it still errors.
Also removed the \ENGLISH \ITALIAN \GERMAN directories, although I guess that probably isn't necessary since \FRENCH\MSG wasn't processed either.
comment:7 by , 8 years ago
Savegame seems invalidated by the TORINPAT, so doing a restart from Chap 2.
comment:9 by , 8 years ago
Thank you for verifying the problem is resolved by the patch. So that I can blacklist the affected script, would you kindly perform the following steps, using the original game data *without* the patches from TORINPAT:
- Start Torin in ScummVM
- Press Ctrl+Shift+D to enter the SCI debugger
- Type
resource_info script 20700
into the debugger and hit Enter
This should print out a resource size & location. Please reply to this ticket with that information.
Thanks!
comment:10 by , 8 years ago
resource_info script 20700
Resource size: 6066 Resource location: RESSCI.000
comment:11 by , 8 years ago
Thanks for the information! It seems at the moment that this bad script has the same size as the good script from TORINPAT. This either means that the heap is the bad part, or the bad script can only be identified by digest instead of by file size.
I have enhanced the resource_info
command in daily builds 1.10.0git-3302 and higher to also display the message digest of a resource. If you could, once the next daily build is available, run these resource_info
commands with patches from TORINPAT disabled and paste the full output here again:
resource_info script 20700
resource_info heap 20700
Thanks for your help tracking down this issue!
comment:12 by , 8 years ago
script:
Resource size: 6066 Resource location: RESSCI.000 Resource hash (decompressed): 665967c0040e7bf13b8ef25e212078ad
heap:
Resource size: 1944 Resource location: RESSCI.000 Resource hash (decompressed): ead0563382a6aa83b860df31c46b672a
Is there a way to write that output to file or clipboard for cut/paste?
comment:13 by , 8 years ago
Thanks for the details. Interesting, your copy of the game seems to come with the fixed script, but the bad heap file.
I have a patch now that will detect and warn about this bad file when the game starts, but I want to get some feedback from others about some details of the UX (regarding whether/where to link to the game patch) before I land it.
Is there a way to write that output to file or clipboard for cut/paste?
If you are compiling yourself you can use --enable-text-console
to put the debugger in a text console, otherwise you can just take a screenshot and attach it. I am not sure if there is another way to get data out of the graphical debugger, since I always use the text console.
comment:14 by , 7 years ago
Priority: | normal → blocker |
---|
comment:15 by , 7 years ago
Owner: | set to |
---|
comment:16 by , 7 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
Thanks for your report! A patch for this issue has been added in commit 8e0ccc5eb144a458d3e12cae24fa7970a7d9a749 and will be available in nightly builds 1.10.0git-3950 and later.
Since #9864 clearly demonstrates that this version of Torin cannot just have TORINPAT applied to it, there is now code in ScummVM to hot-patch the mismatched heap that causes this error. Hopefully this fix allows the PointSoft release of Torin to be completable now without any other patches.
comment:17 by , 7 years ago
Can confirm this seems fixed without TORINPAT from a replay to this point.
This is the same crash that was reported in #9776. Could you please state the version of ScummVM you are using, and send a complete directory listing of your game files directory (
dir /s
on Windows,ls -lR
on *nix)?