[pulseaudio-tickets] [Bug 90108] Multiple pulseaudio crashes.

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Wed Sep 2 02:05:19 PDT 2015


https://bugs.freedesktop.org/show_bug.cgi?id=90108

Pierre Ossman <pierre-bugzilla at ossman.eu> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |NEW

--- Comment #9 from Pierre Ossman <pierre-bugzilla at ossman.eu> ---
I think I'm hitting this, and I've found out why.

What happens is this:

 1. module-always-sink is loaded
 2. it pulls in module-sink
 3. pulseaudio is shut down
 4. pa_module_unload_all() is called
 5. module-always-sink is unloaded
 6. it requests an unload of the module-sink it loaded
 7. pa_module_unload_all() proceeds to unload module-sink
 8. pa_core_free() is called
 9. an assert is triggered as the request in 6. was never handled

A quick fix is to clear out core->modules_pending_unload in pa_module_free() as
well.


A note is that module-always-sink tries to check if the core is shutting down.
However, checking for PA_CORE_SHUTDOWN seems highly suspect as that state is
entered at a point where are cleanup is already done and the core object is
about to be freed. In other words, if it is safe to dereference core->state,
then state cannot be PA_CORE_SHUTDOWN. So all of commit 967c17a1 could be
pointless.

-- 
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/pulseaudio-bugs/attachments/20150902/4bd9ae61/attachment.html>


More information about the pulseaudio-bugs mailing list