FS#32390 - [banshee] Segfault when playing music
Attached to Project:
Arch Linux
Opened by Raphaël Rochet (Raphael) - Friday, 02 November 2012, 09:47 GMT
Last edited by Jan de Groot (JGC) - Thursday, 13 December 2012, 20:09 GMT
Opened by Raphaël Rochet (Raphael) - Friday, 02 November 2012, 09:47 GMT
Last edited by Jan de Groot (JGC) - Thursday, 13 December 2012, 20:09 GMT
|
Details
Description:
Banshee crashes. Seems that it is DBus related : there's a warning "Got Disconnected from DBus". Note that in console it says 'GStreamer version 1.0.1.0' however it is dependant on gst-plugins-base 1.0.2-1 This error appeared after gnome-shell update to 3.6 (not using testing). Additional info: * package version(s) extra/banshee 2.6.0-1 extra/gst-plugins-base 1.0.2-1 I have attached console output. Steps to reproduce: Use banshee even when not doing anything it crashes itself soon. |
This task depends upon
Closed by Jan de Groot (JGC)
Thursday, 13 December 2012, 20:09 GMT
Reason for closing: Duplicate
Additional comments about closing: Though this bug was first, FS#32927
describes the actual problem.
Thursday, 13 December 2012, 20:09 GMT
Reason for closing: Duplicate
Additional comments about closing: Though this bug was first,
I don't post the log, it's exactly the same as Raphael's.
Looking at the traces, it seems Banshee is having trouble retrieving things from GConf and crashes doing so. Can you point out any reason for the "Lost connection to D-Bus" warnings you get? Did you restart/kill the dbus session bus for example?
Here is another log. This times it crashes when I tried to open options (trying to disable replaygain).
In the two cases here, I just launch Banshee, started playback, adjust volume via sound applet (banshee always set my volume to maximum and its volume control does not work well) and eventually tried to skip to next track.
The first time it crashed with trace about dbus and gconf.
The last time it crashes with something about glibc :
*** glibc detected *** banshee: invalid fastbin entry (free): 0x000000000349d3f0 ***
Just in case, I tried to compile banshee from source : there is the same behavior. (DBus related error)
( juste saying "GStreamer version 0.10.36.0" instead of "GStreamer version 1.0.1.0" )
Also I noticed that the volume behaves weirdly. I'm not sure if the problem is unrelated but who knows as they both started after the update to gnome 3.6. I can mute and unmute the channel using the mute keyboard button. I can also put up and down the volume without problems unless I mute the channel completely by pressing the lower volume key. At this point I cannot recover the sound with the volume keys. I have to use either pavucontrol, the volume bottom of banshee. The Audio mixer xfce applet becomes unresponsive. In pulseaudio it looks that banshee decouple from the master. I do not know how to explain better as it is very weird. I can give more details if needed. I can also open a new bug report if you think is unrelated.
Also, on another laptop running 32 bit archlinux, volume control is ok and banshee does not crash.
I have gconf 3.2.5-3 installed as well.
Log attached
I have both here, and Banshee crashes only with 64bits install.
(This time there is no seg fault but stack overflows)
I have all gst packages installed, both 1.0.2 and 0.10 :
extra/gst-libav 1.0.2-1
extra/gst-plugins-bad 1.0.2-1
extra/gst-plugins-base 1.0.2-1
extra/gst-plugins-base-libs 1.0.2-1
extra/gst-plugins-good 1.0.2-1
extra/gst-plugins-ugly 1.0.2-1
extra/gstreamer 1.0.2-1
extra/gstreamer0.10 0.10.36-1
extra/gstreamer0.10-bad 0.10.23-3
extra/gstreamer0.10-bad-plugins 0.10.23-3
extra/gstreamer0.10-base 0.10.36-1
extra/gstreamer0.10-base-plugins 0.10.36-1
extra/gstreamer0.10-ffmpeg 0.10.13-1
extra/gstreamer0.10-good 0.10.31-1
extra/gstreamer0.10-good-plugins 0.10.31-1
extra/gstreamer0.10-ugly 0.10.19-2
extra/gstreamer0.10-ugly-plugins 0.10.19-2
The volume control in Banshee is ok for you ? Smooth and not going over 100% ?
(Banshee:9241): GConf-WARNING **: Got Disconnected from DBus.
I have no problem with volume control but it might be due to something I have set in /etc/pulse/default.pa:
load-module module-udev-detect tsched=0 ignore_dB=1
It's the ignore_dB=1, it makes that when increasing the volume, only master goes up (and not PCM). But anyway, this isn't related to this bug.
I tried again and got banshee_stacktrace1.txt
Then another try and got banshee_stacktrace2.txt
(gconftool-2:4000): GConf-WARNING **: Client failed to connect to the D-BUS daemon:
Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
After googling a bit I found this:
https://bbs.archlinux.org/viewtopic.php?pid=1187978
I re-installed gconf with sudo (I already had gconf-3.2.5-3 installed) and now banshee doesn't seem to crash anymore but I still get this in the console:
(Banshee:9617): GConf-WARNING **: The connection to DBus was broken. Can't reinitialize it.
[Warn 14:03:48.843] Could not set GConf key player_window.source_view_width. - GLib.GException: No D-BUS daemon running
(in `gconf-sharp')
at GConf.Client.SetValue (System.String key, GConf.Value val) [0x00000] in <filename unknown>:0
at GConf.ClientBase.Set (System.String key, System.Object val) [0x00000] in <filename unknown>:0
at Banshee.GnomeBackend.GConfConfigurationClient.Set[Int32] (System.String namespace, System.String key, Int32 value) [0x00000] in <filename unknown>:0
But as it works, I don't care much.
Edit: also reinstalled banshee and removed all gstreamer0.10 -related package, still no luck.
Got a new error once :
*** glibc detected *** banshee: malloc(): memory corruption (fast): 0x0000000001a031c0 ***
Next times it was the (sadly) usual segfault.
I guess it's hard to find a bug when it's not reproductible, I hope someone will eventually find *the* clue ...
Banshee doesn't seem to crash if I launch it in a terminal (unless if I send the --debug parameter), but it crash if I launch it with the shortcut.
When I launch it in a terminal I have this error (repeated few times) :
(Banshee:10169): GConf-WARNING **: The connection to DBus was broken. Can't reinitialize it.
[Warn 20:46:31.081] Could not read GConf key sources.MusicLibrarySource-Library.status_format - GLib.GException: Aucun service D-BUS en cours d'exécution
(in `gconf-sharp')
at GConf.Client.Get (System.String key) [0x00000] in <filename unknown>:0
at Banshee.GnomeBackend.GConfConfigurationClient.TryGet[Int32] (System.String namespace, System.String key, System.Int32& result) [0x00000] in <filename unknown>:0
Played a little with "banshee --debug", and for the first time I saw errors about source code (complete error in log attached)
at Booter.Booter.Main () [0x000f1] in /build/src/banshee-2.6.0/src/Clients/Booter/Booter/Entry.cs:105
at (wrapper runtime-invoke) object.runtime_invoke_void (object,intptr,intptr,intptr) <IL 0x0004c, 0xffffffff>
If not, then it seems it won't at all ... yes some times I could play many tracks without crashing.
The warning about broken connection to DBus doesn't pop everytime neither. And when banshee crashes, there's not always the DBus error. And when it's working and playing the DBus error is flooding the console.
Just for the record, half the time it crashes as soon as i try to play a song, sometimes it will crash on the second or third song, and maybe once every 10 launches it will let me play music with no issues.
Output is just from running "$ banshee" from the terminal. No --debug
[1 Debug 19:48:56.028] Player state change: Loaded -> Playing
Stacktrace:
Stack overflow: IP: 0x5ce6bc, fault addr: (nil)
Stacktrace:
Segmentation fault
(Tomboy:17955): GConf-WARNING **: Got Disconnected from DBus.
Native stacktrace:
Segmentation fault
I would imagine that the common thing between Banshee and Tomboy is Mono. Seems that there must be an issue between Mono and DBus.
Native stacktrace:
Segmentation fault
tried the "sudo pacman -Rdd gconf" and "sudo pacman -S gconf" workaround with no success.
In my case the bug it's quite reproductible, independently if I run it from the app icon, or the terminal with or without --debug, it always crashes when it finishes playing the current song and should start playing the following one. It never crashes before finishing the current playing song.
If I switch songs by hand, it keeps running no matter how many times I change, between songs in the same album or different ones.
Edit : I have updated my mirrorlist, I'm going to test with the official packages ;)
Edit : Banshee just crashed few minutes ago (I have reboot since the gvfs update), so it seems it fix only the Dbus bug.
You can find the error in attachment.
Slightly different error message.
Native stacktrace:
Segmentation fault
in the same situation I described above.
=================================================================
Got a SIGSEGV while executing native code. This usually indicates
a fatal error in the mono runtime or one of the native libraries
used by your application.
=================================================================
Output is running "banshee --debug" and seems to be from mono.
After downgrading to 2.4.1, banshee plays stably although it throws out constant GConf/DBUS errors.
I've attached terminal output from the crash of 2.6.0, followed by launching 2.4.1 (from which I exited cleanly).
Hopefully this will help track down the real source of the bug. (I spent most of yesterday trying out other players again and I really like banshee best now...)
Afraid it back to square one and Banshee is still plowing away...
- gconf seems to be the problem for me, cause when it verbose-segfaults, log is all about gconf/dbus connection issues
- sometimes banshee's gconf connection exits silently, without having banshee crashing, but gconf connection is lost. Therefore if you check the "Settings" they are reset to defaults, in the UI, cause banshee can no longer access gconf-stored settings. But if you restart banshee, your own settings are still there. For me, for now, it's better when - for some reasons - gconf's connection is silently closed instead of segfault, cause I can still listen to music, but some features are then missing (import, settings). log looks like the one with lot's of info from gconf/dbus there https://bugs.archlinux.org/task/32390?getfile=9651
- my steps to reproduce: launch banshee, click "rescan library", when it finishes, banshee crashes OR gconf connection is lost (as described above). Sometimes hitting "Next" a couple of times also crashes banshee, but not all the time, while rescan is 100% of the time.
- I tried rebuilding gconf-sharp but it didn't change anything.
No improvement since 3.6.2. Same issue with blank user account.
Below: I have seen this twice while trying to post a comment:
"Completely unexpected exception: Address in mailbox given [] does not comply with RFC 2822, 3.6.2.
This should never happend, please inform Flyspray Developers"
So I run it with --debug to see if I can find the reason but with --debug it doesn't crash...
By cons a little bug is still here : volume is always set to max when I start banshee.
@johnpiers : You're right, I just tested the library scan and it makes banshee freezes...
It's still crashing for me. Fully up to date system.
banshee 2.6.0-2
gst-plugins-base 1.0.2-1
gconf 3.2.5-3
Crash log attached.
https://bugs.archlinux.org/task/32390#comment102542
https://bugzilla.gnome.org/show_bug.cgi?id=688031
https://bugzilla.gnome.org/show_bug.cgi?id=688324
They are quite recent so I hope it will help to fix crashes...
My PKGBUILD is attached. For simplicity I D/L'd mono.binfmt.d manually: https://projects.archlinux.org/svntogit/packages.git/plain/trunk/mono.binfmt.d?h=packages/mono
Hope this helps!
Edit : I had a few crash
process 2088: arguments to dbus_message_unref() were incorrect, assertion "message->generation == _dbus_current_generation" failed in file dbus-message.c line 1617.
This is normally a bug in some application using the D-Bus library.
D-Bus not built with -rdynamic so unable to print a backtrace
Stacktrace:
Native stacktrace:
Thread 0x7fd92fbe6700 may have been prematurely finalized
zsh: segmentation fault banshee
and it seems to be stable
For those looking for patch alone (not debdiff) : https://bazaar.launchpad.net/~timo-jyrinki/gconf/ubuntu.support-s-to-as-migrations/view/head:/debian/patches/call-dbus_g_thread_init.patch
edit: stable indeed
edit: feels good to listen to music again :)
He asks me to ask on the ubuntu bug report (on launchpad) what is the bug number of this Gconf bug. I asked on launchpad, but if anybody knows it, it would be great !
Thanks !
Thanks.
adding the given patch to the PKGBUILD solves the problem too, while staying closer to arch's gconf.
here's my source package : http://www.pictuga.com/fiche-835.html (click "Télécharger")
OTOH, it looks like the API may be flawed--dbus_g_thread_init() may only be called once, per the API, but if it is merely a wrapper to dbus_threads_init_default() which may be called multiple times...
and softwares like tomboy (C#) may also be concerned by the issue.
Also I've compiled gconf package with the fix and here is the direct link for a quick fix.
pacman -U https://dl.dropbox.com/u/37866716/gconf-3.2.5-3-x86_64.pkg.tar.xz
I'm testing it right now, it seems working (I didn't applied the gconf patch).
Edit : it doesn't fix crashes, this patch is done to fix an other problem...
And thanks keskispace, the patch you posted is working great !
it's archlinux's gconf with the given patch.