Opened 19 years ago

Closed 18 years ago

Last modified 18 years ago

#2250 closed defect (worksforme)

FOA: Intermittent crash when loading a save

Reported by: SF/dfabulich Owned by: fingolfin
Priority: low Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Indiana Jones 4


Load the attached save several times. About one time in three, the game will crash to the debugger while loading the save, with the error: "ERROR: no parts available". You definitely won't be able to load the game more than 10 times.

I'm on Win2K, with English FOA Talkie CD, ScummVM 0.8.0CVS (Oct 12 2005 10:59:24), Features compiled in: Vorbis FLAC MP3 zLib MPEG2.

Ticket imported from: #1325060. Ticket imported from: bugs/2250.

Attachments (1)

atlantis.s02 (24.4 KB ) - added by SF/dfabulich 19 years ago.
crashes when loading this save

Download all attachments as: .zip

Change History (14)

by SF/dfabulich, 19 years ago

Attachment: atlantis.s02 added

crashes when loading this save

comment:1 by eriktorbjorn, 19 years ago

I couldn't reproduce it myself, but it's probably not a regression. That error message used to be just a warning. (See revision 2.56 of imuse_player.cpp.) Perhaps it should be changed back into a warning again?

comment:2 by SF/dfabulich, 19 years ago

If it's all the same to you, yes, please do turn that error back into a warning. That may fix the broader hard-to-reproduce crashing behavior I was seeing in FOA (that I haven't filed because I have no clear reproduction case).

comment:3 by fingolfin, 19 years ago

That would just be a workaround for the real problem, though ....

if it crashes only after you reload several times, then we definitely are doing something wrong....

comment:4 by eriktorbjorn, 19 years ago

Maybe. It's certainly suspicious if it happens only when loading savegames and not otherwise.

On the other hand, the error happens when allocate_part() fails, and it looks to me as if that function is supposed to be able to fail, because when you ask for a new part you also tell it how important it is that you get one. If there is an unused part, you get that one. Otherwise, it evicts the one with the lowest priority.

But if there are no parts with lower priority, the function will fail. And probably rightly so.

comment:5 by eriktorbjorn, 19 years ago

No one I've spoken to has managed to reproduce the problem, but as I said it looks to me as if it was never intended to be a fatal error, so I've downgraded it to a debug message.

comment:6 by SF/dfabulich, 19 years ago

I now seem to be able to complete the game with ScummVM 0.8.0CVS (Oct 14 2005 12:39:58) Features compiled in: Vorbis FLAC MP3 zLib MPEG2... Whatever that message was for, it's no longer bothering me. This bug is "fixed", or something. :-)

comment:7 by fingolfin, 18 years ago

Yeah, we reverted that error back to a warning. However, I am leaving this open, as it would be better if the underlying issue was identified and corrected.

comment:8 by fingolfin, 18 years ago

Priority: normallow

comment:9 by sev-, 18 years ago

What is the status of this item?

comment:10 by fingolfin, 18 years ago

We have a work around for the issue reported here, but the real issue remains a mystery.

I am lowering the priority to 1, but I'd like to keep this around, in case we run into similar issues again; or in case somebody feels like spending some time digging deep into this report and rooting out the real cause.

After all, we have some other mystery crashes in FOA and other games, who knows, maybe there is some strange connection (just think of FOA's "Bad Bratwurst Bug" #1453668 or DOTT's "Crazy Stamp Crash" #1399830 ;-).

comment:11 by fingolfin, 18 years ago

Resolution: worksforme
Status: newclosed

comment:12 by fingolfin, 18 years ago

The bratwurst and stamp crashes have finally (after literally years) been resolved (well, at least it seems as if that was the case...).

It's not really likely anybody will have time and interest to research this obscure potentially bug, hence I am closing this now anyway.

comment:13 by fingolfin, 18 years ago

Owner: set to fingolfin
Note: See TracTickets for help on using tickets.