Opened 16 years ago

Closed 16 years ago

#932 closed defect (fixed)

DIG: "Trying to append to a nonexistant stream 0"

Reported by: eriktorbjorn Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: The Dig

Description

While creating the test case for bug #763709 ("DIG:
Recent walk regression") with the latest CVS snapshot,
ScummVM crashed twice with a "Trying to append to a
nonexistant stream 0" message. The first time it then
proceeded with "SDL_BlitSurface failed: SDL_UpperBlit:
passed a NULL surface". The second time it started the
debugger.

I can't reproduce the bug reliably though. Could it be
a race condition?

Ticket imported from: #763714. Ticket imported from: bugs/932.

Change History (4)

comment:1 Changed 16 years ago by fingolfin

Owner: set to fingolfin

comment:2 Changed 16 years ago by fingolfin

So, Sound::stopTalkSound was doing this this:
if (_talkChannel != -1)
_scumm->_mixer->stop(_talkChannel);
but left _talkChannel at its old value. Then udner some
circumstances, stop() was called again for _talkChannel - only
that at this time, the channel was already used by something
else -> ka-boom. I fixed this (_talkChannel is now reset to -1)
and since then haven't been able to reproduce this problem. Of
course that is no prove that the problem is gone but before, I
was able to reproduce it in 2 out of 3 tries.

comment:3 Changed 16 years ago by fingolfin

Resolution: fixed
Status: newclosed

comment:4 Changed 16 years ago by fingolfin

Still didn't get the error again. Hope it's really fixed. Please
reopen this should you be able to reproduce the problem with
latest CVS.

Note: See TracTickets for help on using tickets.