crashes in gcompris Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:161, function pa_threaded_mainloop_stop().

Bug #458071 reported by zeimusu
68
This bug affects 15 people
Affects Status Importance Assigned to Milestone
pulseaudio (Debian)
Fix Released
Unknown
pulseaudio (Ubuntu)
Fix Released
Undecided
Unassigned
Nominated for Lucid by Bruno coudoin
pulseaudio (openSUSE)
Fix Released
Medium

Bug Description

Binary package hint: gcompris

I'm reporting crashes in gcompris, at least two different boards are crashing: The click on a fish board and the move the mouse to display a hidden picture (others not tested) . Gcompris starts but crashes after a while. I've not been able to get apport to produce sensible output, but terminal output is pasted below. Pulseaudio seems to be implicated. Let me know if there is additional information I can produce.

$ gcompris
XF86VidMode: Compiled with XF86VidMode.
If you have problems starting GCompris in fullscreen, try the -x option to disable XF86VidMode.

** (process:4584): WARNING **: Binary relocation disabled

** (process:4584): WARNING **: exec_prefix NONE

package_data_dir = /usr/share/gcompris/boards
package_locale_dir = /usr/share/locale
package_plugin_dir = /usr/lib/gcompris
package_python_plugin_dir= /usr/share/gcompris/python
Infos:
   Config dir '/home/james/.config/gcompris'
   Users dir '/home/james/My GCompris'
   Database '/home/james/.config/gcompris/gcompris_sqlite.db'

(gcompris:4584): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(gcompris:4584): GLib-GObject-CRITICAL **: g_object_ref: assertion `object->ref_count > 0' failed

(gcompris:4584): GStreamer-CRITICAL **: gst_object_unref: assertion `((GObject *) object)->ref_count > 0' failed
Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:161, function pa_threaded_mainloop_stop(). Aborting.
Aborted (core dumped)

ProblemType: Bug
Architecture: i386
Date: Thu Oct 22 11:13:18 2009
DistroRelease: Ubuntu 9.10
NonfreeKernelModules: nvidia
Package: gcompris 8.4.12-1ubuntu2 [modified: usr/share/applications/gcompris.desktop]
ProcEnviron:
 PATH=(custom, user)
 LANG=en_GB.UTF-8
 SHELL=/bin/bash
ProcVersionSignature: Ubuntu 2.6.31-14.48-generic
SourcePackage: gcompris
Uname: Linux 2.6.31-14-generic i686

Revision history for this message
zeimusu (james-kilfiger) wrote :
Revision history for this message
Aapo Rantalainen (aapo-rantalainen) wrote :

I confirm this. I haven't found any pattern how to reproduce this.
These refs and unrefs are not necessary. Every crash there are this error message:
Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:161, function pa_threaded_mainloop_stop(). Aborting.

This doesn't affect any of my other applications, but this might still be pulseaudio issue, not gcompris.

Revision history for this message
elrond (elrond.) wrote :

I got this message in Pidgin:

Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:161, function pa_threaded_mainloop_stop(). Aborting.

so I think it is not a problem in gcompris. I haven't found any way to reproduce this crash, it appears to occur randomly (but always during chat). I'm going to add pulseaudio to affected projects. There is a similiar bug report in Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=553993

affects: gcompris (Ubuntu) → pulseaudio (Ubuntu)
Changed in pulseaudio (Debian):
status: Unknown → New
Daniel T Chen (crimsun)
Changed in pulseaudio (Ubuntu):
status: New → Fix Released
Revision history for this message
BrowneR (chris-scotland) wrote :

I still experience this bug with Pidgin. Daniel you have marked it as fixed - does that mean there will be updated pulseaudio packages available soon?

Revision history for this message
BrowneR (chris-scotland) wrote :
Revision history for this message
Daniel T Chen (crimsun) wrote : Re: [Bug 458071] Re: crashes in gcompris Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:161, function pa_threaded_mainloop_stop().

There already are; use ppa:ubuntu-audio-dev

Revision history for this message
BrowneR (chris-scotland) wrote :

thanks Daniel

Revision history for this message
BrowneR (chris-scotland) wrote :

After installing the updated packages from ppa:ubuntu-audio-dev I still get this crash in pidgin.

pulseaudio-esound-compat 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14~~karmic~ubuntuaudiodev1
pulseaudio-module-bluetooth 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14~~karmic~ubuntuaudiodev1
pulseaudio-module-gconf 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14~~karmic~ubuntuaudiodev1
pulseaudio-module-x11 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14~~karmic~ubuntuaudiodev1
pulseaudio-module-zeroconf 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14~~karmic~ubuntuaudiodev1
pulseaudio-utils 1:0.9.22~0.9.21+stable-queue-32-g8478-0ubuntu14~~karmic~ubuntuaudiodev1

Revision history for this message
Daniel T Chen (crimsun) wrote :

Please reproduce this symptom using today's live cd of Lucid. Too many things have changed since Karmic. If you can reproduce it, please file a bug.

Revision history for this message
BrowneR (chris-scotland) wrote :

Sadly there is no reproducible way to make this occur - it can be minutes or hours between crashes (but I regularly get 5 or 6 a day). In the 10 minutes I spent with the live cd it didnt happen but that's not to say it's fixed.

I guess all us Karmic users are stuck with this then which is a little annoying. I've disabled sounds in a hope that will stop it happening until Lucid is released and stable enough to upgrade.

Revision history for this message
David Henningsson (diwic) wrote :

For these kinds of bugs, a backtrace would probably be helpful: https://wiki.ubuntu.com/Backtrace
You will need dbgsym packages for at least libpulse0 and the program you're debugging (i e pidgin).

Revision history for this message
BrowneR (chris-scotland) wrote :

It's taken me ages to recreate this bug but I finally have and attached is the backtrace.

I hope it is of some use.

Revision history for this message
David Henningsson (diwic) wrote :

BrowneR: Thanks for helping out. Unfortunately, the backtrace you provided is not similar enough to the original error; this is a SIGSEGV related to opening a directory in nautilus, the original error is an assertion failure in pulseaudio. Now a memory overwrite could cause almost anything to happen. If you're skilled enough, you could either try running pidgin under valgrind and see if that helps finding a memory overwrite. Otherwise, we have two separate bugs here.

Revision history for this message
BrowneR (chris-scotland) wrote :

Ok thanks David. I guess this is fixed after all and I am seeing crashes for some other reason.

Revision history for this message
Kev (ukev) wrote :

Since today Pidgin is crashing every 5 minutes with this message:

Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:161, function pa_threaded_mainloop_stop(). Aborting.
Aborted

(on karmic, latest updates)

Revision history for this message
David Henningsson (diwic) wrote :

@Kev: If you can find the update (of either pidgin, pulseaudio, or possibly something in between them) that makes the bug appear/disappear, it might be worth filing a bug against that package (using the "ubuntu-bug" terminal command).

Revision history for this message
In , Marty (marty-supine) wrote :

User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-GB; rv:1.9.2.4) Gecko/20100513 SUSE/3.6.4-5.1 Firefox/3.6.4

Running exaile from a console, at some random time it will try to change to the next song and then crash with the following error:

Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:162, function pa_threaded_mainloop_stop(). Aborting.

$ rpm -qa | grep -i exaile | sort
exaile-0.3.1.1-35.1.x86_64

$ rpm -qa | grep -i pulse | sort
alsa-plugins-pulse-1.0.23-27.1.x86_64
alsa-plugins-pulse-32bit-1.0.23-27.1.x86_64
libpulse0-0.9.21-57.1.x86_64
libpulse0-32bit-0.9.21-57.1.x86_64
libpulse-browse0-0.9.21-57.1.x86_64
libpulse-mainloop-glib0-0.9.21-57.1.x86_64
libxine1-pulse-1.1.18.1-1.pm.37.7.x86_64
pulseaudio-0.9.21-57.1.x86_64
pulseaudio-lang-0.9.21-57.1.noarch
pulseaudio-module-bluetooth-0.9.21-57.1.x86_64
pulseaudio-module-gconf-0.9.21-57.1.x86_64
pulseaudio-module-lirc-0.9.21-57.1.x86_64
pulseaudio-module-x11-0.9.21-57.1.x86_64
pulseaudio-module-zeroconf-0.9.21-57.1.x86_64
pulseaudio-utils-0.9.21-57.1.x86_64

Please let me know what other debugging steps would be most useful, this problem is reproducible.

Reproducible: Always

Steps to Reproduce:
1. Run exaile

Actual Results:
After some random number of songs at the next song change exaile crashes with the error:

Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:162, function pa_threaded_mainloop_stop(). Aborting.

Expected Results:
exaile continues playing the next queued song.

Revision history for this message
In , Tiwai-novell (tiwai-novell) wrote :

Looks like another PA issue. Is it fixed in the recent update?
Please try to update from OBS multimedia:libs repo.

Revision history for this message
In , Marty (marty-supine) wrote :

Created an attachment (id=364858)
zypper output

I was already pulling in OBS multimedia:libs. See attached zypper output for versions currently installed.

Revision history for this message
In , Marty (marty-supine) wrote :
Changed in pulseaudio (openSUSE):
status: Unknown → Confirmed
Revision history for this message
In , Vadym Krevs (vkrevs) wrote :
Revision history for this message
In , Vadym Krevs (vkrevs) wrote :

Pulseaudio devs think it is a gst/gst client bug:

The assertion would appear to be one to protect against invalid useage of the PA API (i.e. calling methods from an incorrect thread (e.g. unsafe thread handling).

This would seem to suggest one of two things:

A GST bug
A GST client (e.g. Pidgin) bug.
I don't know enough personally about either GST or Pidgin to comment about where the problem actually is, but I guess it's best to ask a GST expert to comment to see whether the Pidgin use of the GST API is following their thread guidelines, or whether it's just something that GST needs to wrap up in order to offer a thread-safe API to it's clients (e.g. buffer the request in question and execute it in the appropriate thread when possible).

http://pulseaudio.org/ticket/838#comment:3

Revision history for this message
In , Vadym Krevs (vkrevs) wrote :

Looks like this is a known gstreamer bug that was fixed in gstreamer-0_10-plugins-good 0.10.23:

http://pulseaudio.org/ticket/838#comment:4
https://bugzilla.gnome.org/show_bug.cgi?id=623591
https://bugzilla.gnome.org/show_bug.cgi?id=614765

Revision history for this message
In , Bphilips (bphilips) wrote :

I am seeing this in openSUSE 11.3 with pidgin. Can we please get a fix?

[Thread 0x7fffcd97c710 (LWP 30097) exited]
Assertion '!in_worker(m)' failed at pulse/thread-mainloop.c:162, function pa_threaded_mainloop_stop(). Aborting.

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffce97e710 (LWP 30095)]
0x00007ffff48d09e5 in raise () from /lib64/libc.so.6
(gdb)
(gdb) bt
#0 0x00007ffff48d09e5 in raise () from /lib64/libc.so.6
#1 0x00007ffff48d1ee6 in abort () from /lib64/libc.so.6
#2 0x00007fffcfaa7697 in pa_threaded_mainloop_stop ()
   from /usr/lib64/libpulse.so.0
#3 0x00007fffcfcc98c0 in ?? () from /usr/lib64/gstreamer-0.10/libgstpulse.so
#4 0x00007ffff534b524 in g_object_unref () from /usr/lib64/libgobject-2.0.so.0
#5 0x00007fffcfccab68 in ?? () from /usr/lib64/gstreamer-0.10/libgstpulse.so
#6 0x00007fffcfa96824 in ?? () from /usr/lib64/libpulse.so.0
#7 0x00007fffcfa994ff in pa_mainloop_dispatch () from /usr/lib64/libpulse.so.0
#8 0x00007fffcfa99825 in pa_mainloop_iterate () from /usr/lib64/libpulse.so.0
#9 0x00007fffcfa998d0 in pa_mainloop_run () from /usr/lib64/libpulse.so.0
#10 0x00007fffcfaa73bb in ?? () from /usr/lib64/libpulse.so.0
#11 0x00007fffcf8628e8 in ?? () from /usr/lib64/libpulsecommon-0.9.21.so
#12 0x00007ffff5875a4f in start_thread () from /lib64/libpthread.so.0
#13 0x00007ffff496e82d in clone () from /lib64/libc.so.6
#14 0x0000000000000000 in ?? ()

Changed in pulseaudio (Debian):
status: New → Incomplete
Changed in pulseaudio (Debian):
status: Incomplete → Fix Released
Revision history for this message
In , Qantas94Heavy (qantas94heavy) wrote :

Seems that gstreamer-0_10-plugins-good was updated to 0.10.27 in openSUSE 11.4, which should have fixed this issue.

Changed in pulseaudio (openSUSE):
importance: Unknown → Medium
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.