[pulseaudio-discuss] Are these crashes fixed with any patches post 6.0?

Tanu Kaskinen tanu.kaskinen at linux.intel.com
Mon Apr 13 05:46:56 PDT 2015


On Mon, 2015-04-13 at 14:21 +0200, David Henningsson wrote:
> 
> On 2015-04-13 11:20, Arun Raghavan wrote:
> > On 13 April 2015 at 13:44, David Henningsson
> > <david.henningsson at canonical.com> wrote:
> >>
> >>
> >> On 2015-04-13 04:34, Luke Yelavich wrote:
> >>>
> >>> Hi folks.
> >>> I've been alerted to a couple of crashers, one with a stack retrace, and
> >>> another with no retrace:
> >>>
> >>> https://errors.ubuntu.com/problem/303c6c40a7facabe59bfce5bc9e6dd0d72cf5fff
> >>
> >>
> >> For people who can't access this URL, I've uploaded the stack trace here
> >> [1].
> >>
> >>> https://launchpad.net/bugs/1425447
> >>
> >>
> >> This one is far more common than the previous one and should be fixed ASAP.
> >> That said, it's likely a follow up error to something else, but we seem to
> >> be dealing with that error in a bad way.
> >>
> >>> If any of these are already fixed post 6.0, which patches do I need to
> >>> pull? If not, I'll file them in the bug tracker.
> >>
> >>
> >> I'm not familiar with fixes to any of these two bugs.
> >
> > Would be useful to have debug logs from the server.
> 
> PulseAudio verbose logs would be helpful, yes. We don't enable them by 
> default so there's usually nothing "from the server" unless someone does 
> one and uploads it to launchpad.
> 
> That said, I wonder what would happen if we did this:
> 
> diff --git a/src/daemon/main.c b/src/daemon/main.c
> index deb1e43..039957f 100644
> --- a/src/daemon/main.c
> +++ b/src/daemon/main.c
> @@ -1157,6 +1157,7 @@ finish:
>       if (c) {
>           /* Ensure all the modules/samples are unloaded when the core 
> is still ref'ed,
>            * as unlink callback hooks in modules may need the core to be 
> ref'ed */
> +        c->disallow_module_loading = true;
>           pa_module_unload_all(c);
>           pa_scache_free_all(c);

That seems a sensible thing to do, or alternatively check whether the
daemon is shutting down in pa_module_unload(). I already had this item
in my todo list, line 727:

"pa_module_load() should fail if the daemon is shutting down. That will
make it unnecessary to call pa_idxset_remove_all() in
pa_module_unload_all() after having already done one round of
unloading."

-- 
Tanu



More information about the pulseaudio-discuss mailing list