Segfault when iPod with Rockbox is connected

Bug #141584 reported by Michael Moore
6
Affects Status Importance Assigned to Milestone
Rhythmbox
Invalid
Unknown
rhythmbox (Ubuntu)
Triaged
Medium
Ubuntu Desktop Bugs

Bug Description

Binary package hint: rhythmbox

I have an iPod with Rockbox installed, and not the Apple DB.

Dies like so on the command line:

me@me $rhythmbox

(rhythmbox:6320): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed
Segmentation fault (core dumped)

GDB provides more insight:

 Thread 1 (Thread -1231153472 (LWP 6267)):
 #0 0xb4ad70e4 in rb_ipod_db_set_ipod_name () from /usr/lib/rhythmbox/plugins/ipod/libipod.so
 #1 0xb4ad8400 in ?? () from /usr/lib/rhythmbox/plugins/ipod/libipod.so
 #2 0x00000000 in ?? ()
 (gdb) quit

Revision history for this message
Michael Moore (stuporglue) wrote :

Here's the backtrace.

I forgot to mention, I'm on Gutsy. Rhythmbox reports this with --version

GNOME rhythmbox 0.11.2

I'm fully up to date as of Sept. 21, 2:00 PM MST.

Revision history for this message
Pedro Villavicencio (pedro) wrote :

Thanks for your report. does that works before? Rhythmbox doesn't include support for rockbox http://bugzilla.gnome.org/show_bug.cgi?id=352956 ; could be because of that why you're getting the crash.

Changed in rhythmbox:
importance: Undecided → Medium
assignee: nobody → desktop-bugs
status: New → Incomplete
Revision history for this message
Michael Moore (stuporglue) wrote :

Rhythmbox works when the iPod with Rockbox is not mounted. With the iPod mounted, Rhythmbox crashes.

The last comment on that page (#7, link below) says that Rhythmbox supports the .is_audio_player, however I have that file and still get the crash.
.is_audio_player comment: http://bugzilla.gnome.org/show_bug.cgi?id=352956#c7

I understand that Rhythmbox doesn't support Rockbox at the moment (and that's OK), but I should be able to charge my iPod while listening to Rhythmbox.

Right now for that to happen, I have to plug in the iPod (Rhythmbox crashes), unmount the iPod, then restart Rhythmbox.

I'd be more than happy to run a backtrace on a debug version of Rhythmbox if that were available. I don't see one in the repository.

Revision history for this message
Sebastien Bacher (seb128) wrote :

http://wiki.ubuntu.com/DebuggingProgramCrash has details on how to get a debug backtrace, otherwise you can let apport send the crash bug and it'll automatically retraced

Revision history for this message
Michael Moore (stuporglue) wrote :

I installed the rhythmbox-dbgsym package after following Sebastien's instructions and did another backtrace.

It's attached here.

Revision history for this message
Michael Moore (stuporglue) wrote : Re: Segfault when iPod with Rockbox is connected (Work arround)

Work around

It looks like this might actually be a bug in the Rhythmbox iPod support plugin. At least, if I disable the iPod plugin, it doesn't crash or segfault.

It *DOES* become nearly unresponsive for about 3 minutes while the iPod is scanned for music files. Once the scan is completed, it returns to a responsive useful state and I can even transfer music to it.

It seems to have the same behavior if you plugin the iPod and then start Rhythmbox or plug in the iPod with Rhythmbox already running.

It didn't matter if the .is_audio_player file was present or not, it worked either way. With the .is_audio_player file present, it did respect the designated Music directory (YAY!).

While I wish I could keep iPod support enabled without segfaults (for the wife's iPod), this at least makes it usable!

Revision history for this message
Sebastien Bacher (seb128) wrote :

The backtrace looks like bug #73208

Revision history for this message
Sebastien Bacher (seb128) wrote :
Changed in rhythmbox:
status: Incomplete → Triaged
Changed in rhythmbox:
status: Unknown → New
Revision history for this message
Sebastien Bacher (seb128) wrote :

Marking duplicate of bug #177660 which has been sent using apport to get the autoduplication working

Changed in rhythmbox:
status: New → Invalid
Revision history for this message
iamah (hilmilho) wrote :

I get SegFault, even If I disable iPod plugin.

I have a Nokia N800 with 2 SD cards, used to work fine before last updates, I'm using Hardy all updated to this date.

[code](rhythmbox:10202): GLib-GObject-CRITICAL **: g_type_class_add_private: assertion `private_size > 0' failed
[New Thread 0xb4cffb90 (LWP 10210)]

(rhythmbox:10202): GLib-GObject-CRITICAL **: g_boxed_free: assertion `boxed != NULL' failed
[New Thread 0xb44feb90 (LWP 10211)]
[Thread 0xb44feb90 (LWP 10211) exited]

(rhythmbox:10202): GLib-GObject-CRITICAL **: g_boxed_free: assertion `boxed != NULL' failed
[New Thread 0xb44feb90 (LWP 10212)]
[Thread 0xb5f70b90 (LWP 10209) exited]
[Thread 0xb44feb90 (LWP 10212) exited]
[Thread 0xb4cffb90 (LWP 10210) exited]
[New Thread 0xb4cffb90 (LWP 10214)]
[New Thread 0xb44feb90 (LWP 10215)]
[New Thread 0xb5f70b90 (LWP 10216)]
[Thread 0xb4cffb90 (LWP 10214) exited]
[Thread 0xb5f70b90 (LWP 10216) exited]

Program received signal SIGSEGV, Segmentation fault.
---Type <return> to continue, or q <return> to quit---
[Switching to Thread 0xb65d1740 (LWP 10202)]
0xb7f5c9ba in rhythmdb_entry_allocate () from /usr/lib/librhythmbox-core.so.0
[/code]

Revision history for this message
DrH (alan-hood) wrote :

I too have similar experience, which is...

When I connect my Nokia N770 to Ubuntu Hardy and launch Rhythmbox (0.11.5), Rhythmbox crashes. The following appears in a terminal at the time of the crash.

[code]alan@alan-desktop:~$ rhythmbox

(rhythmbox:6427): GLib-GObject-CRITICAL **: g_type_class_add_private: assertion `private_size > 0' failed

(rhythmbox:6427): GLib-GObject-CRITICAL **: g_boxed_free: assertion `boxed != NULL' failed
Segmentation fault[/code]

If I unmount Rhythmbox, and then launch Rhythmbox , Rhythmbox starts find and is stable.

If I launch Rhythmbox, and then plug in the Nokia N770, Rhythmbox crashes and the following error appears in the terminal...

[code]alan@alan-desktop:~$ rhythmbox

(rhythmbox:6586): GLib-GObject-CRITICAL **: g_type_class_add_private: assertion `private_size > 0' failed

(rhythmbox:6586): GLib-GObject-CRITICAL **: g_boxed_free: assertion `boxed != NULL' failed
Segmentation fault[/code]

The file system on the N770 is FAT15.

I will repeat with a portable MP3 player and see if it occurs with other devices.

Revision history for this message
pyGene (ristretto-rb) wrote :

This is happening here too. N800 running OS2008, and Ubuntu 8.05

These steps and out are happening on every attempt

 * Plug in n800 via usb
 * run rhythmbox -d (for debug) on the command line
 * lots of data then the following

{{{

(16:33:25) [0x8063440] [rb_metadata_bus_handler] rb-metadata-gst.c:834: got error message from typefind
(16:33:25) [0x8063440] [rb_metadata_bus_handler] rb-metadata-gst.c:840: caught type not found error
(16:33:25) [0x8063440] [rb_metadata_load] rb-metadata-gst.c:1052: failed to go to PAUSED for file:///media/disk-1/map/mapdata/wl.qt
(16:33:25) [0x8063440] [rb_metadata_load] rb-metadata-gst.c:1146: ignoring file:///media/disk-1/map/mapdata/wl.qt because it's too small to care about
(16:33:25) [0x8063440] [rb_metadata_dbus_load] rb-metadata-dbus-service.c:146: metadata error: The MIME type of the file could not be identified
(16:33:25) [0x8063440] [_send_error] rb-metadata-dbus-service.c:76: attempting to return error: The MIME type of the file could not be identified
(16:33:25) [0x8c0d400] [action_thread_main] rhythmdb.c:2492: executing RHYTHMDB_ACTION_LOAD for "file:///media/disk-1/map/mapdata/wa5.qt"
(16:33:25) [0x80e6408] [rhythmdb_process_one_event] rhythmdb.c:2147: processing RHYTHMDB_EVENT_METADATA_LOAD
(16:33:25) [0x80e6408] [rhythmdb_add_import_error_entry] rhythmdb.c:1809: adding import error for file:///media/disk-1/map/mapdata/wl.qt: The MIME type of the file could not be identified
Segmentation fault
}}}

I have some non-musci files on the device, it seems. I didn't put them there; not sure why it should be crashing.

Any tips?

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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