#166: Various asserts in pulseaudio that result in mplayer crash ----------------------+----------------------------------------------------- Reporter: Stax | Owner: lennart Type: defect | Status: new Priority: normal | Milestone: Component: libpulse | Severity: major Keywords: | ----------------------+----------------------------------------------------- I'm getting errors which crash mplayer's ao_pulse sometimes. Both seem to happen on stopping playback, making switching to next file in playlist impossible. They are
mplayer: pulse/mainloop.c:287: mainloop_defer_enable: Assertion `e->mainloop->n_enabled_defer_events > 0' failed. It produces segfault and leaves core file, here is trace: {{{ (gdb) where #0 0x00000037766571db in glDeleteProgramsNV () from /usr/lib64/libGL.so.1 #1 0x000000000049c9e7 in uninitGl () at vo_gl.c:360 #2 0x000000000049ca0a in uninit () at vo_gl.c:774 #3 0x000000000045ae02 in uninit_player (mask=3787) at mplayer.c:615 #4 0x000000000045b27d in exit_player_with_rc (how=0x0, rc=1) at mplayer.c:669 #5 <signal handler called> #6 0x000000376ac30ec5 in raise () from /lib64/libc.so.6 #7 0x000000376ac32970 in abort () from /lib64/libc.so.6 #8 0x000000376ac2a11f in __assert_fail () from /lib64/libc.so.6 #9 0x000000394b417761 in close () from /usr/lib64/libpulse.so.0 #10 0x000000394b42a930 in close () from /usr/lib64/libpulse.so.0 #11 0x000000394b4174b9 in pa_mainloop_dispatch () from /usr/lib64/libpulse.so.0 #12 0x000000394b4175f6 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0 #13 0x000000394b417680 in pa_mainloop_run () from /usr/lib64/libpulse.so.0 #14 0x000000394b41d79d in close () from /usr/lib64/libpulse.so.0 #15 0x000000394b431d2d in close () from /usr/lib64/libpulse.so.0 #16 0x000000376b806407 in start_thread () from /lib64/libpthread.so.0 #17 0x000000376acd4b0d in clone () from /lib64/libc.so.6 (gdb) }}} And another one: mplayer: pulsecore/queue.c:67: pa_queue_free: Assertion `q->length == 0' failed. This one leaves no trace, just crashes, but reports that it happens in uninit function, which looks like this: {{{ static void uninit(int immed) { if (stream && !immed) { pa_threaded_mainloop_lock(mainloop); waitop(pa_stream_drain(stream, success_cb, NULL)); } if (mainloop) pa_threaded_mainloop_stop(mainloop); if (stream) { pa_stream_disconnect(stream); pa_stream_unref(stream); stream = NULL; } if (context) { pa_context_disconnect(context); pa_context_unref(context); context = NULL; } if (mainloop) { pa_threaded_mainloop_free(mainloop); mainloop = NULL; } } }}} -- Ticket URL: <http://pulseaudio.org/ticket/166> PulseAudio <http://pulseaudio.org/> The PulseAudio Sound Server _______________________________________________ pulseaudio-tickets mailing list pulseaudio-tickets@mail.0pointer.de https://tango.0pointer.de/mailman/listinfo/pulseaudio-tickets