http://bugs.codeweavers.com/show_bug.cgi?id=611
*** shadow/611 Mon Apr 22 09:09:34 2002 --- shadow/611.tmp.6145 Mon Apr 22 09:09:34 2002 *************** *** 0 **** --- 1,106 ---- + +============================================================================+ + | Sound-related crash in Myth: The Fallen Lords, pin-pointed to one specific | + +----------------------------------------------------------------------------+ + | Bug #: 611 Product: Wine | + | Status: UNCONFIRMED Version: 20020411 | + | Resolution: Platform: | + | Severity: normal OS/Version: All | + | Priority: P1 Component: wine-multimedia | + +----------------------------------------------------------------------------+ + | Assigned To: wine-bugs@winehq.com | + | Reported By: torbjorn.e.andersson@tietoenator.com | + | CC list: Cc: | + +----------------------------------------------------------------------------+ + | Milestone: TargetMilestone: --- | + | URL: | + +============================================================================+ + | DESCRIPTION | + In the last few snapshots I've had sound-related crashes with Myth: The Fallen + Lords. The sound works fine in the main menu and during the game itself. It's + the animated cut-scenes that cause problems. I hope the information below will + be of some help in tracking down the bug. If not, I'd be happy to provide + further information. + + First, I used to get a message about fragment size("Your Open Sound System + driver did not letus configure small enough sound fragments. This may cause + delays and other problems in audio playback with certain applications."), but I + didn't see this with the 20020411 snapshot. + + Then I get countless "err:wave:IDsDriverBufferImpl_GetPosition device + not open, but accessing?" but they appear to be harmless. The cut-scene plays, + albeit without sound and sometimes a bit too slowly. + + The crash happens when the cut-scene ends, and the game returns to the main menu: + + err:wave:IDsDriverImpl_CreateSoundBuffer ioctl failed (9) + wine: Unhandled exception, starting debugger... + WineDbg starting... on pid 806c768 + + (lots of messages, mostly about loading, or failing to find, debug + information.) + + Unhandled exception: page fault on read access to 0x42a30000 in 32-bit code + (0x40c5ed06). + In 32-bit mode. + 0x40c5ed06 (DSOUND_MixInBuffer+0x1b6 [dsound_main.c:2883] in dsound.dll.so): + movswl 0x0(%esi),%eax + 2883 field += *obufs; + Wine-dbg>bt + Backtrace: + =>0 0x40c5dd06 (DSOUND_MixInBuffer+0x1b6(dsb=0x44dd8bc8, writepos=0x0, + fraglen=0x1c00) [dsound_main.c:2883] in dsound.dll.so) (ebp=45576e08) + 1 0x40c5e5a7 (DSOUND_MixOne+0x3df(dsb=0x44dd8bc8, playpos=0x0, writepos=0x0, + mixlen=0x1c00) [dsound_main.c:3144] in dsound.dll.so) (ebp=45576e40) + 2 0x40c5e816 (DSOUND_MixToPrimary+0x126(playpos=0x0, writepos=0x0, + mixlen=0x1c00, recover=0x1) [dsound_main.c:3194] in dsound.dll.so) (ebp=45576e6c) + 3 0x40c5eeac (DSOUND_PerformMix+0x3bc [dsound_main.c:3408] in dsound.dll.so) + (ebp=45576ea8) + 4 0x40c5f08c (DSOUND_timer+0x80(timerID=0x1, msg=0x0, dwUser=0x44d685e8, + dw1=0x0, dw2=0x0) [dsound_main.c:3458] in dsound.dll.so) (ebp=45576eb4) + 5 0x409789c0 (TIME_TriggerCallBack+0x80(lpTimer=0x44d69f24) [time.c:71] in + winmm.dll.so) (ebp=45576ed8) + 6 0x40978bb4 (TIME_MMSysTimeCallback+0x15c(iData=0x40386124) [time.c:150] in + winmm.dll.so) (ebp=45576f04) + 7 0x40978c16 (TIME_MMSysTimeThread+0x46(arg=0x40386124) [time.c:167] in + winmm.dll.so) (ebp=45576f20) + 8 0x400d1690 (THREAD_Start+0x5c [thread.c:265] in libntdll.dll.so) (ebp=45576f38) + 9 0x400d0a8a (SYSDEPS_StartThread+0x36(teb=0x45587000) [sysdeps.c:158] in + libntdll.dll.so) (ebp=45576ff4) + 10 0x402e4daa (NTDLL.DLL.memcpy+0x5ac0a in libc.so.6) (ebp=00000000) + + If I run with --debugmsg trace+wave the final few messages are: + + trace:wave:IDsDriverBufferImpl_GetPosition (0x44d689f0) + err:wave:IDsDriverBufferImpl_GetPosition device not open, but accessing? + trace:wave:IDsDriverBufferImpl_GetPosition (0x44d689f0) + err:wave:IDsDriverBufferImpl_GetPosition device not open, but accessing? + fixme:dsound:IDirectSoundImpl_SetCooperativeLevel (0x44d68560,00010021,3):stub + trace:wave:OSS_wodMessage (0, 0006, 0000001C, 00000000, 00000000); + trace:wave:wodClose (0); + trace:wave:OSS_wodMessage (0, 0005, 40566C78, 40566CA8, 00030080); + trace:wave:wodOpen (0, 0x40566ca8, 00030080); + trace:wave:IDsDriverBufferImpl_SetFormat (0x44d689f0,0x44d68938) + trace:wave:DSDB_UnmapPrimary (0x44d689f0): sound device unmapped + trace:wave:IDsDriverImpl_CreateSoundBuffer (0x44d68540,0x44d68938,1,0) + err:wave:IDsDriverImpl_CreateSoundBuffer ioctl failed (9) + wine: Unhandled exception, starting debugger... + + I've spent some time running CVS snapshots in-between the official releases, and + the crash seems to be caused by changes to dlls/winmm/wineoss/audio.c. The + crash, as described above, begins with revision 1.52 of that file, but I get + other sound-related crashes with revisions 1.50 or later. This makes sense as + 1.52 appears to be just a tiny bugfix to code that was checked in with 1.50. + + ---------------------------- + revision 1.50 + date: 2002/01/12 21:15:08; author: julliard; state: Exp; lines: +93 -58 + Eric Pouech eric.pouech@wanadoo.fr + Fixed the wodReset implementation, internal messages priority, full + duplex code, wait algorithm for feeding the OSS buffer. + ---------------------------- + + I haven't managed to provoke any crashes with revision 1.49. + + I should, perhaps, point out that until quite recently the cut-scenes didn't + work at all -- Wine would simply hang. As far as I'm concerned even the crashing + versions is a great improvement. ;-) \ No newline at end of file