SIMON1DOS: Fatal crashes with French version
|Reported by:||SF/jamieson630||Owned by:||Kirben|
|Cc:||Game:||Simon the Sorcerer 1|
This is a reincarnation of Bug , with additional information. The original bug report relates to a crash during the opening cutscene, when the goblins have Simon in a pot and one of them tries to push his head under the water.
Apparently there is a second crash point, during the opening credits, at the moment when the rabbit is going to hop away from Chippy the dog. Both these crashes seem to occur only with the French version (or at least, not with the English version), and only with simon1dos (or at least, not with simon1win). Both crashes seem to also be related to stack corruption that thus far has made a backtrace impossible Furthermore, both these crashes can be recreated in the original distro, i.e. they are not specific to ScummVM.
However, I feel that NO fatal crash should be tolerated in ScummVM, even if it is related to, say, a problematic script that is producing OOB values or such. Hence the new bug report. I think one way or another, we need to identify where bad values are causing stack corruption and add some checks to (1) ignore the script call, or (2) put the OOB value in bounds so that it can be used to complete the call.
If the fix causes the scripts to behave incorrectly, well, that's fine, as long as ScummVM itself isn't blowing up. But a page fault or segfault really makes ScummVM look bad, even if it's not really its fault.
Since stack corruption is making a backtrace at the point of crash impossible, I wonder if someone with valgrind can run through the simon1dos (French version) intro credits/cutscene and see if they can nab some OOB memory access?
Kirben, I'm assigning this to you just so you start getting the e-mails related to it. If you want to kick it back into my court, that's fine.
Ticket imported from: #770838. Ticket imported from: bugs/1029.
Change History (5)
comment:4 by , 16 years ago
|Component:||Engine: AGOS → Engine: AGI|
|Game:||Simon the Sorcerer 1 → Space Quest 1|