Opened 4 years ago

Closed 3 years ago

#6962 closed defect (worksforme)

SHERLOCK: Crash In Tobacco Shop

Reported by: SF/tyrant79 Owned by: dreammaster
Priority: low Component: Engine: Sherlock
Keywords: Cc:
Game: Sherlock Holmes: Case of the Serrated Scalpel

Description

ScummVM 1.8.0git5149-g1c84109 1.Dezember 2015
Language: German
Game: Sherlock Holmes Case of the serated scalpel DOS/Floppy
OS: Win8.1 64bit

In the tobacco shop you have to move the cigar box under the head of the elk. By clicking "Move" and then on the cigar box, the complete game and ScummVM crashes.

Unfortunately I do not know where the savegame is. It is not in the standard path and other is not selceted.

Ticket imported from: bugs/6962.

Attachments (12)

scalpel-de.000 (18.9 KB ) - added by SF/tyrant79 4 years ago.
Scalpel.PNG (9.1 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.001 (19.2 KB ) - added by SF/tyrant79 4 years ago.
Scalpel 2.PNG (9.2 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.002 (12.3 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.003 (14.3 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.004 (15.5 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.005 (15.2 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.006 (14.5 KB ) - added by SF/tyrant79 4 years ago.
scalpel-de.zip (84.0 KB ) - added by dreammaster 4 years ago.
scalpel-de.2.000 (18.9 KB ) - added by SF/cruzha 3 years ago.
Unbenannt.JPG (31.5 KB ) - added by SF/cruzha 3 years ago.

Download all attachments as: .zip

Change History (29)

by SF/tyrant79, 4 years ago

Attachment: scalpel-de.000 added

comment:1 by SF/tyrant79, 4 years ago

Added savegame.

by SF/tyrant79, 4 years ago

Attachment: Scalpel.PNG added

comment:2 by SF/tyrant79, 4 years ago

Screenshot from ScummVM box.

comment:3 by dreammaster, 4 years ago

Fixed. It was a buggy script in the German version, which had a length value for a following sequence that was one higher than it should be, so the script interpreter was losing it's place.

comment:4 by dreammaster, 4 years ago

Owner: set to dreammaster
Resolution: fixed
Status: newclosed

comment:5 by SF/tyrant79, 4 years ago

Your change was done in file "talk.cpp" but the failure is in "journal.cpp" according to the screenshot.
Bug is still in the actual version from this morning 4:15.

comment:6 by dreammaster, 4 years ago

That's weird. When I first did the testing in the scene, that's where I got the crash, and fixing it resolved the problem. I'll do some further experimentation tonight.

comment:7 by dreammaster, 4 years ago

Resolution: fixed
Status: closednew

comment:8 by SF/tyrant79, 4 years ago

Hi,
some news about here? Bug is still in and game is not completable that way.

comment:9 by dreammaster, 4 years ago

I've been trying to investigate the problem with the journal further - all new conversation entries are recorded in the journal as they happen, and although I couldn't directly replicate the problem with the game crashing direclty when trying to move the boxes, since I can replicate a crash from viewing the journal directly instead, that's where I've focused.

I have to say, there's some really strange data that was saved at the end of the journal.. I tried working my way around a crash due to a non-existent statement, a non-existent 'talked to' character, and references to conversations happening in non-existent scenes. To progress, I really need an earlier save from before all these problem entries were added, so I can muddle my way forward and see if I can replicate the problems when they originally occur.

The last good page in the journal on your attached save is for Page 174, which ends with a heading "In Antonio Carusos Wohnung:". Do you have any save from around that point? If so, could you check that going to the end of the journal doesn't produce any errors, and if not, attach a copy of it to the bug report? Thanks.

by SF/tyrant79, 4 years ago

Attachment: scalpel-de.001 added

comment:10 by SF/tyrant79, 4 years ago

Sorry but I have no save from any earlier point. I started a new game this morning, changed the order of some quests, so that all things are done and only the tobacco shop would be left. It produces the same problem. See savegame attached.

comment:11 by dreammaster, 4 years ago

Thanks, but unfortunately, it still doesn't help. As I explained before, the problem is actually happening earlier in the game.. the crash in the tobacco shop is simply because as part of adding a new entry, it tries to figure out how many pages will now be needed in the journal, and throws an error on the already present previously added bad entries. If you view the journal in either savegame, and start moving forward page by page, you'll shortly get a crash. It's likely for some conversation you had prevoiusly, but not too far prevoously, since the journal in the first savegame got up to about page 177 before crashing.

To make things easier, I've added in some new validation when new entries are added to the journal. In theory, this should produce an error when the invalid actions first occur. I'm hoping that you made some extra savegames during this new play-through, and can resume an earlier one and validate that the entire journal displays correctly, then play forward until an error occurs.

by SF/tyrant79, 4 years ago

Attachment: scalpel-de.006 added

comment:12 by SF/tyrant79, 4 years ago

Hello,
I started a new game and played towards the pub in the "Covent Garden". There you can ask the barkeeper and then a new error occured. Attached you can find a screen and several savegames. The last savegame is in the pub. Just ask the barkeeper number "2". Then ask again "2". After this, the game crashes.
You do not need to do this to continue the game. When you beat the 3 guests in the dart game, you also get what you want.
Maybe it has something to do with it, but I dont know.

by dreammaster, 4 years ago

Attachment: scalpel-de.zip added

comment:13 by dreammaster, 4 years ago

Thanks for your assistence so far in trying to track down the problem. I've made some progress, sort of. One of the most recent saves you provided, scalpel-de.002, has a crash trying to display the journal, and in this case the bad entries are right at the start of the journal, the record of you first talking to Watson at the start of the game. In my partial play-through (attached if you're interested), his two conversation points get stored in the journal as conversation 396, statements 0 & 1 respectively. However, in your savegame, the journal entries incorrectly list his conversation as 88, statements 0 & 1. And conversation 88 has only a single statement, so it throws an error trying to get the data for statement #1.

Unfortunately, I'm not sure why the journal entries are getting bad. Journal entries are only changed at the time they're first created, and I've re-tested saving and loading of the journal entry list, and nothing seems wrong with it.. it's both saving and reloading the correct conversation entries. The only thing I can think of is maybe at some point you're doing something unusual that's corrupting memory, and that includes corrupting the journal data.

I can only suggest, if you're willing to asist, try slowly playing through the game yet again, only this time make lots of savegames, at least one for each scene you visit, and keep viewing the journal and scrolling to it's end after every time you have a conversation or do something. If you can track down where exactly the journal is getting corrupted for you, that may give me important information to track down why it's happening.

comment:14 by dreammaster, 4 years ago

Since there's been no further response on this, and I know I could not replicate any problem in the beginning of the game (where the player's journal would have been corrupted originally), I'm going to mark this as closed. We can always reopen it if the problem resurfaces.

comment:15 by dreammaster, 4 years ago

Resolution: worksforme
Status: newclosed
Summary: Sherlock Holmes: Crash In Tobacco ShopSHERLOCK: Crash In Tobacco Shop

by SF/cruzha, 3 years ago

Attachment: scalpel-de.2.000 added

comment:16 by SF/cruzha, 3 years ago

Unfortunately, I can confirm the problem.

By clicking "Move" and then on the cigar box, the complete game and ScummVM crashes.

Windows gives this error message:

Problemsignatur:
Problemereignisname: APPCRASH
Anwendungsname: scummvm.exe
Anwendungsversion: 1.8.1.0
Anwendungszeitstempel: 57414a39
Fehlermodulname: msvcrt.dll
Fehlermodulversion: 7.0.7601.17744
Fehlermodulzeitstempel: 4eeaf722
Ausnahmecode: 40000015
Ausnahmeoffset: 0006680c
Betriebsystemversion: 6.1.7601.2.1.0.256.1
Gebietsschema-ID: 1031
Zusatzinformation 1: 02c1
Zusatzinformation 2: 02c1bfe702eda62d7a4ed05c463ea32a
Zusatzinformation 3: 161b
Zusatzinformation 4: 161b29e5cf4df1de187de27d46b30918

by SF/cruzha, 3 years ago

Attachment: Unbenannt.JPG added

comment:17 by SF/cruzha, 3 years ago

error message of console

comment:18 by dreammaster, 3 years ago

Resolution: worksforme
Status: closednew

comment:19 by dreammaster, 3 years ago

Hi Christian, sorry for the delayed reply. I looked at your savegame - it's the same as previous, I'm afraid: I don't get an immediate crash when I click on "Dewege" and then on the box. However, I do get a crash when I click on the Journal and try to turn the page.. it tries to draw a header line for "someone said" with a negative person number. It seems probable that that's related to the crash you're getting. Unfortunately, it means that to fix it, I'd need you to look at earlier savegames (if you have any), and track down where the error first occurred. i.e. by opening the ournal in each, and ensuring each time that you can scroll through all the pages. By finding when you first can't, it should help narrow down when the actual error that needs to be fixed happens.

comment:20 by dreammaster, 3 years ago

Status: newpending

comment:21 by dreammaster, 3 years ago

PS: I tried adding in a hack to handle invalid character indexes, but then a few pages later in the journal it's also erroring out on trying to load an invalid statement. Plus, looking at the very first page of the journal (the only one I can display without crashing), it doesn't even look like the start of the game..

Hmm.. I'm wondering if the problem isn't the possibility of there having been multiple versions of the German release. Maybe that's why I've never been able to replicate the problem locally. Maybe if you could create an MD5 list of all your files (there are plenty of free programs online that can do a whole directory for you), and post a picture of your game disc, it might help us determine if it really is a different release or not.

comment:22 by sev-, 3 years ago

Resolution: worksforme
Status: pendingclosed
Note: See TracTickets for help on using tickets.