[pulseaudio-discuss] What could cause "Assertion '!e->next' failed at pulsecore/queue.c:104, function pa_queue_pop(). Aborting." ?

Tanu Kaskinen tanuk at iki.fi
Sat Mar 24 15:42:17 UTC 2018


On Fri, 2018-03-23 at 15:38 -0300, wellington wallace wrote:
> Hi! PulseEffects developer here.
> 
> Every now and then when my applications starts it crashes with:
> 
> Assertion '!e->next' failed at pulsecore/queue.c:104, function
> pa_queue_pop(). Aborting.
> 
> This error is one of those that almost never happens and when it does it
> has no obvious reason. What could be causing this? As I am talking to
> Pulseaudio from Python it is possible I am doing something wrong in this
> communication. But as this error means nothing to me I don't know where to
> look.

I don't recall seeing this specific error, but a low-level data
structure corruption suggests a concurrency bug. If your application
were a C program, it should not access pa_mainloop, pa_context,
pa_stream etc. objects from multiple threads, unless locking is
appropriately implemented with pa_threaded_mainloop. I'm not familiar
with the Python bindings, so I'm not sure how helpful this is to you.
Does your application have multiple threads? It could also be that the
Python bindings are buggy.

-- 
Tanu

https://liberapay.com/tanuk
https://www.patreon.com/tanuk


More information about the pulseaudio-discuss mailing list