[pulseaudio-discuss] Thread message queue crash

Colin Guthrie gmane at colin.guthr.ie
Fri Sep 23 07:59:27 PDT 2011


'Twas brillig, and Maarten Bosmans at 23/09/11 09:48 did gyre and gimble:
> 2011/9/22 Colin Guthrie <gmane at colin.guthr.ie>:
>> 'Twas brillig, and David Henningsson at 22/09/11 12:41 did gyre and gimble:
>>> I'm trying to trace down a crash:
>>>
>>> https://bugs.launchpad.net/ubuntu/+source/pulseaudio/+bug/853560
>>> https://launchpadlibrarian.net/80418699/ThreadStacktrace.txt
>>>
>>> I'm seeing that both threads call "pa_asyncq_write_after_poll"
>>> simultaneously on the same object, which is module-null-sink's
>>> thread_mq->outq. The outq writes in the thread and reads from the main
>>> thread. Therefore it seems like the main thread should not call
>>> write_after_poll. From what I can see, there almost seems to be a typo
>>> in asyncmsgq_read_cb (see suggested patch below).
>>>
>>> But since this is deep down, has been there for three years without
>>> causing trouble in the past (for what we know), I'd like a second
>>> opinion before actually applying this patch. I've just run a a quick
>>> test here and it didn't seem to break anything.
>>
>> As well as not breaking things, does it also fix the problem case?
>>
>> Just from the patch posted, it does indeed look like a typo to me!
> 
> And from the commit that introduced it, it looks like a type too.
> 
> In 045c1d602dcba57868845ba3270510593c39480f merge glitch-free branch
> back into trunk (damn you svn-merge commits)
> pa_asyncmsgq_{before,after}_poll gets renamed to
> pa_asyncmsgq_read_{before,after}_poll and
> pa_asyncmsgq_write_{before,after}_poll is introduced. The conversion
> was wrong there.

Seems conclusive enough. Want to make that a proper patch David?

Col


-- 

Colin Guthrie
gmane(at)colin.guthr.ie
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited [http://www.tribalogic.net/]
Open Source:
  Mageia Contributor [http://www.mageia.org/]
  PulseAudio Hacker [http://www.pulseaudio.org/]
  Trac Hacker [http://trac.edgewall.org/]



More information about the pulseaudio-discuss mailing list