Opened 21 years ago
Closed 21 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 |
Version: | 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 by , 21 years ago
Owner: | set to |
---|
comment:2 by , 21 years ago
comment:3 by , 21 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:4 by , 21 years ago
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.
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.