[Wine] Bug in winealsa.drv? Incredibly specific oddity
wineforum-user at winehq.org
Wed Sep 10 09:06:38 CDT 2008
I've been struggling desperately to get iGuidance 4 working with Wine and I've come across what seems like an incredibly specific problem.
I've been struggling with the TTS output for the navigation, it just keeps randomly locking up the app, sometimes after a mile, sometimes 30, after figuring out I could debug just the wave classes, I think I've found a clue.
It keeps hanging on wodPlayer_NotifyCompletions and just waiting forever when it locks up. Here's the interesting part though...
It only locks up when the difference between lpWaveHdr->reserved and wwo->dwPlayedTotal is EXACTLY 940 [Shocked]
I've repeated this over 4 times. How I even caught it... lol.
I wrote a parser to verify it wasn't a fluke, on the first run, there were 446 instances of "wodPlayer_NotifyCompletions" and not one had a value of "940" until it did and locked up the application, where it will just keep outputting something along the lines of ....
trace:wave:wodPlayer_NotifyCompletions still playing 0x1060120 (152740/151800)
trace:wave:wodPlayer waiting 21ms (21,21)
On the second run, 346 instances, until it hit the magic number again and locked up, on the 3rd, 81 instances before it hit it, the 4th, 151. In all cases, the first time the difference is "940", it goes boom.
And the values for lpWaveHdr->reserved and wwo->dwPlayedTotal are never the same, just the difference between them.
I'm guessing I'm hitting some weird bug in winealsa.drv, because everything else sound-wise, works flawlessly.
KDE4 (Hardy Heron) 2.6.24-19-generic using Alsa (1.0.16) dmix for output.
The computer is a Dell laptop Inspiron 8600 with intel 82801db-ich4 audio.
No other Win apps have crashed yet (including TTS ones) though I haven't tried that many.
I don't even know where to begin tracking this down, any suggestions would be very appreciated.
More information about the wine-users