GNOME Bugzilla – Bug 755881
Segmentation fault (core dumped)
Last modified: 2015-10-26 11:54:18 UTC
Rhythmbox crashes immediately on startup
you'll need to add more details about your setup if you wish to get any feedback. operating system 32bit/64bit ? also Install the rhythmbox-dbg package and get a backtrace via gdb run rhythmbox -d and capture the output
Sorry, Forgot to add, I'm running: Ubuntu 14.04.3 LTS xfce4-about 4.11.1 (Xfce 4.10)
64bit
➜ rhythmbox -d > /tmp/rb_debug.log 2>&1 Segmentation fault (core dumped)
Sorry I'm getting my dinner while doing this ;-) I ran gdb rhythmbox the ran: (gdb) run..... ~/MYSTUFF/rhythmbox[git:master] ➜ gdb rhythmbox GNU gdb (Ubuntu 7.7.1-0ubuntu5~14.04.2) 7.7.1 Copyright (C) 2014 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html> This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: <http://www.gnu.org/software/gdb/bugs/>. Find the GDB manual and other documentation resources online at: <http://www.gnu.org/software/gdb/documentation/>. For help, type "help". Type "apropos word" to search for commands related to "word"... Reading symbols from rhythmbox...Reading symbols from /usr/lib/debug/.build-id/2b/77f3d1e05e60101039c5c5e96a4d8eaf6d01c2.debug...done. done. (gdb) run Starting program: /usr/bin/rhythmbox [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Traceback (most recent call last):
+ Trace 235529
from libstdcxx.v6.printers import register_libstdcxx_printers
[New Thread 0x7fffe2ce5700 (LWP 7948)] (rhythmbox:7944): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files (rhythmbox:7944): Gtk-CRITICAL **: gtk_css_provider_load_from_path: assertion 'path != NULL' failed [New Thread 0x7fffe1e6b700 (LWP 7949)] [New Thread 0x7fffe0846700 (LWP 7950)] [New Thread 0x7fffd8d0b700 (LWP 7951)] [New Thread 0x7fffcab98700 (LWP 7952)] [New Thread 0x7fffdbfff700 (LWP 7953)] [Thread 0x7fffdbfff700 (LWP 7953) exited] (rhythmbox:7944): GLib-GObject-CRITICAL **: object SoupServer 0xecbdb0 finalized while still in-construction (rhythmbox:7944): GLib-GObject-CRITICAL **: Custom constructor for class SoupServer returned NULL (which is invalid). Please use GInitable instead. Unable to open ~/.mtpz-data for reading, MTPZ disabled.[New Thread 0x7fffdbfff700 (LWP 7954)] [Thread 0x7fffdbfff700 (LWP 7954) exited] [Thread 0x7fffe0846700 (LWP 7950) exited] (rhythmbox:7944): Rhythmbox-WARNING **: Unable to grab media player keys: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SettingsDaemon was not provided by any .service files [New Thread 0x7fffe0846700 (LWP 7957)] [New Thread 0x7fffb43a1700 (LWP 7958)] [Thread 0x7fffb43a1700 (LWP 7958) exited] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffe0846700 (LWP 7957)] rhythmdb_entry_type_fetch_metadata (etype=0x0, uri=uri@entry=0x7fffb810de08 "file:///media/eamoc/68429a3c-6808-45f9-b16b-4c0f1e0d44bf/Music/qqqcreamdisraeligears/09-Cream-Outside%20Woman%20Blues.mp3", metadata=metadata@entry=0x176d1b8) at rhythmdb-entry-type.c:240 240 rhythmdb-entry-type.c: No such file or directory. (gdb)
please can you follow the "Generation" section of this ubuntu guide to get the full backtrace including threads info. Thanks - https://wiki.ubuntu.com/Backtrace
Jonathan speculating here - possibly the commits made around Aug 15 to 18th are causing this issue. I've receive 3 other similar reports about the latest HEAD source. As above, one person graciously sent me a gdb report - last part was: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0x7fffd3fff700 (LWP 2801)] rhythmdb_entry_type_fetch_metadata (etype=0x0, uri=uri@entry=0x7fffb84f0688 "file:///home/jrbastien/NAS/Miouze/Melissa%20Etheridge/2001-Skin/7%20-%20I%20Want%20to%20Be%20in%20Love.mp3", metadata=metadata@entry=0x7fffb862b498) at rhythmdb-entry-type.c:240 rhythmdb-entry-type.c: Aucun fichier ou dossier de ce type. (gdb) possibly the issue is for people who hold their music on a NAS/external file share?
I need a full stack trace.
Hi, I uninstalled the debug package and reinstalled it. In my preferences the default location for my Music directory was ~/Music. But it still managed to list all my music, which was on an external drive. I suspect that this was causing the segfault. So I uninstalled it again, ran updatedb and deleted any relevant references to Rhythmbox. A bit of a kludge I admit, but I wanted to completely clean my system and start over. Now when I reinstalled and launched it, Rhythmbox doesnn't even run. When I run it in gdb I get this.... (gdb) run The program being debugged has been started already. Start it from the beginning? (y or n) y Starting program: /usr/bin/rhythmbox [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Traceback (most recent call last):
+ Trace 235542
[New Thread 0x7fffe2ce5700 (LWP 5728)] (rhythmbox:5727): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files (rhythmbox:5727): Gtk-CRITICAL **: gtk_builder_add_from_file: assertion 'filename != NULL' failed Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7b73303 in rb_builder_load ( file=file@entry=0x7ffff7b7ed63 "app-menu.ui", user_data=user_data@entry=0x0) at rb-builder-helpers.c:74 74 rb-builder-helpers.c: No such file or directory. (gdb) This slightly different from the above. When I run Rhythmbox on its own, with -d switch, I get this ➜ rhythmbox -d (16:57:47) [0x22f9830] [rb_debug_init_match] rb-debug.c:240: Debugging enabled (rhythmbox:5732): Gtk-WARNING **: Failed to register client: GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown: The name org.gnome.SessionManager was not provided by any .service files (rhythmbox:5732): Gtk-CRITICAL **: gtk_builder_add_from_file: assertion 'filename != NULL' failed Segmentation fault (core dumped) ~ I'm afraid I might have broken something on my system, please advise or I will reinstall my OS!!
That doesnt look correct! Cleanup your installation as follows and then reinstall: sudo apt-get purge rhythmbox rhythmbox-plugins rhythmbox-data librhythmbox-core9 sudo apt-get update sudo apt-get install rhythmbox
note to self....read the man page first ;-) I reinstalled Rhythmbox, connected my usb music store and it launched perfectly. So I'm afraid I cannot reproduce the problem....
Fossfreedom pointed me to this bug report, as I am getting SIGSEGV on startup, right after the UI and the library loads up. I am using Fossfreedom's PPA on Ubuntu 15.10 and I followed the guide to generate a full backtrace with the rhythmbox-dbg package installed. Program received signal SIGSEGV, Segmentation fault.
+ Trace 235619
Thread 140736602887936 (LWP 16267)
Thread 12 (Thread 0x7fffcb38d700 (LWP 16267))
Thread 5 (Thread 0x7fffcbb8e700 (LWP 16145))
Thread 1 (Thread 0x7ffff7ecdac0 (LWP 16012))
Note that "240 rhythmdb-entry-type.c: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος." means "No such file or directory". It appears that it crashes while scanning a .sfk file which is in my music library. If I am not mistaken, that file was generated by video editing software. I decided to download different commits from the git repo and compile them to see which ones work and which ones don't. The last working commit seems to be 8ff955ce6ea16a6c396f8f3f1c6ca5fe8e48288e. Starting from 3d34053382f539a69e0f73fa4b0d63807a16e4e2 crashes occur. My music library is not in an external storage device, such as a NAS or a USB drive. It is an internal EXT4 drive with a symlink to my ~/Music folder.
Thanks. Could you also provide the output of 'rhythmbox -D rhythmdb'? That should tell me what's queueing the load action without specifying an entry type.
Actually, never mind, I think I've found it.
Created attachment 314041 [details] [review] does this fix it? One way I found to trigger this was by changing the modification time on a file that was part of the library but not on a core filesystem, which looks like what's happening in comment 12.
Yes, I just applied this to HEAD and it no longer crashes. Thank you!
Pushed as commit 48a786a. Thanks for testing.
Review of attachment 314041 [details] [review]: .