[pulseaudio-discuss] [PATCH] module: Warn about modules loaded after unload

David Henningsson david.henningsson at canonical.com
Thu Jun 11 05:00:08 PDT 2015


We have crashes related to modules loaded after unload. This added
warning can provide some information about what that module is,
which in turn can help us solve the crashes, hopefully.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=90108
Signed-off-by: David Henningsson <david.henningsson at canonical.com>
---

Will commit this one in one week if there are no reviews.

 src/pulsecore/module.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/src/pulsecore/module.c b/src/pulsecore/module.c
index 8683cc1..1d4187e 100644
--- a/src/pulsecore/module.c
+++ b/src/pulsecore/module.c
@@ -313,7 +313,11 @@ void pa_module_unload_all(pa_core *c) {
     pa_xfree(indices);
 
     /* Just in case module unloading caused more modules to load */
+    PA_IDXSET_FOREACH(m, c->modules, state)
+        pa_log_warn("After module unload, module '%s' was still loaded!", m->name);
+    c->disallow_module_loading = 1;
     pa_idxset_remove_all(c->modules, (pa_free_cb_t) pa_module_free);
+    pa_assert(pa_idxset_isempty(c->modules));
 
     if (c->module_defer_unload_event) {
         c->mainloop->defer_free(c->module_defer_unload_event);
-- 
1.9.1



More information about the pulseaudio-discuss mailing list