The outputs are removed from the idxset before output_free() is
called. Trying to remove them again in output_free(), and asserting
that it should succeed caused crashing whenever outputs were freed.

This bug was introduced in commit
061878b5a47ed9aa05d12430b039874b63c29a84.

BugLink: https://bugs.freedesktop.org/show_bug.cgi?id=65901
---

Perhaps this bug is serious enough to warrant a bugfix release?

 src/modules/module-combine-sink.c | 2 --
 1 file changed, 2 deletions(-)

diff --git a/src/modules/module-combine-sink.c 
b/src/modules/module-combine-sink.c
index 7d660f0..faf65c2 100644
--- a/src/modules/module-combine-sink.c
+++ b/src/modules/module-combine-sink.c
@@ -923,8 +923,6 @@ static void output_free(struct output *o) {
     pa_assert(o);
 
     output_disable(o);
-
-    pa_assert_se(pa_idxset_remove_by_data(o->userdata->outputs, o, NULL));
     update_description(o->userdata);
 
     if (o->inq_rtpoll_item_read)
-- 
1.8.1.2

_______________________________________________
pulseaudio-discuss mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss

Reply via email to