[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    Re: [PATCH 2/5] winepulse: Add format and period probing
From:       Andrew Eikum <aeikum () codeweavers ! com>
Date:       2015-10-29 18:01:23
Message-ID: 20151029180123.GU9736 () foghorn ! codeweavers ! com
[Download RAW message or body]

On Tue, Oct 20, 2015 at 12:15:22PM +0900, Alexandre Julliard wrote:
> Andrew Eikum <aeikum@codeweavers.com> writes:
> 
> > Hm, it works here whether PA is running or not. What's your setup? PA
> > is obviously installed. Is it running? What version do you have
> > installed? Can you give me a +devenum,+mmdevapi,+pulse,+alsa,+tid,+seh
> > log?
> 
> Version 7.0, it's running AFAICT. Log is attached. Note that this is
> with only the first patch applied, it also crashes (but not always which
> is why I missed it at first). Other sound tests crash as well.
> 

This was seen in my patchset, and not in wine-staging, because we
unload the pulse driver after it returns Low priority which is lower
than winealsa's Preferred priority. Winepulse misbehaved when it was
unloaded. In wine-staging, the Pulse driver is always Preferred and so
would never be unloaded.

I believe the crash happened because the DLL would be unloaded while
the PA mainloop thread was still running. DllMain does call
pa_mainloop_quit, but doesn't wait for the thread to actually exit.
The mainloop thread would occasionally trigger a callback after the
module has been unloaded, before acknowledging the quit status. This
is why you didn't always see the crash.

This has been remedied in the latest patchset. We now wait for the
thread to quit in DllMain, see patch 3/5.

Andrew


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic