hang in mci tests?

Joerg-Cyril.Hoehle at t-systems.com Joerg-Cyril.Hoehle at t-systems.com
Wed Nov 11 11:03:50 CST 2009


Dan Kegel wrote:

>I had a new hang on yesterday's git under valgrind:
>err:wave:wodPlayer_WriteMaxFrags Error in writing wavehdr. Reason:
>Resource temporarily unavailable
>... 1600 dup lines removed ...
>ALSA lib ../../../src/pcm/pcm.c:7228:(snd_pcm_recover) underrun occured

Good that I'm not alone. I had these specific two yesterday for the first time
ever as well, without valgrind.  I attributed it to "yet another flaky error
in the audio drivers" -- I mean I don't entirely trust the audio drivers because
winmm/tests/wave.c has shown flaky failures (WOD_PREPARED msg) for ages,
without being driven by the MCI.
IIRC, Wine did not hang as I waited long enough, but maybe I did ^C.

Facts:
 - The MCI play loop is still buggy w.r.t. sample size (witness the 333ms multiples)
   That could explain the underrun log that I've also seen (which I believe is a very recent
   log addition from Maarten).
 - winmm/wave.ok produces errors from time to time in test.winehq as well as on my machines.

Suppositions:
 - the broken MCI play loop causes the above errors, randomly. But we have nothing to prove that.

Well, I don't know where to look for the wave.ok intermittent failures (not in MCI), but
my goal is to write a correct MCI play/record loop that will also be usable in mciavi32.

Oh well, another piece to the puzzle: using my interactive MCI shell,
play 2 sounds in parallel [*].  *Sometimes* the second one manages to halt
the first sound. I see no reason/code in MCI's waveaudio that can do that! The
error must be elsewhere (-> wave or audio drivers).

[*]
open long-sound.wav alias a
open other.wav alias b
play a from 0
play b from 0
Repeat play until a is interrupted (i.e. nothing is heard any more).
The playloop appears to hang.

Regards,
 Jörg Höhle



More information about the wine-devel mailing list