After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 672882 - Rhythmbox crashes when writing playlists to ipod nano version 1.3.3
Rhythmbox crashes when writing playlists to ipod nano version 1.3.3
Status: RESOLVED DUPLICATE of bug 661217
Product: rhythmbox
Classification: Other
Component: iPod
2.96
Other Linux
: Normal major
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-03-26 23:55 UTC by tam
Modified: 2012-04-08 23:04 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description tam 2012-03-26 23:55:46 UTC
I have been using rhythmbox for a few years without any problems but a recent upgrade to mint 12 has caused rhythmbox to segfault when synching to playlists. 
It appears that the tracks do get written to the ipod but at the end, of this rhythmbox crashes as below:
This crash happens with both version 2.96 compiled from source and the installed 2.90.1.   

kernel: [ 9139.670117] rhythmbox[7813]: segfault at 8 ip 00007fe5021454b5 sp 00007fff2039d228 error 4 in libipod.so[7fe50213b000+13000]

The following snapshot is taken from rhythmbox v2.96 in debug mode.

(23:21:55) [0x20480c0] [rb_statusbar_sync_status] rb-statusbar.c:467: updating status with: '72 songs, 8 hours and 30 minutes, 545.1 MB', '', 999.000000

(rhythmbox:5392): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `RBIpodStaticPlaylistSource'

(rhythmbox:5392): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `RBPlaylistSource'

(rhythmbox:5392): Rhythmbox-CRITICAL **: rb_playlist_source_get_query_model: assertion `RB_IS_PLAYLIST_SOURCE (source)' failed

(rhythmbox:5392): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed
(23:21:55) [0xf4b0a0] [connection_closed_cb] rb-metadata-dbus-service.c:218: client connection closed
Segmentation fault (core dumped)


attached is the crash dump from apport  for version 2.90.1  as apport would not work with 2.96
Comment 1 Akhil Laddha 2012-03-27 04:02:15 UTC
tam, i don't see any crash dump attached.

Please make sure you have debuginfo packages installed for rhythmbox, glib and gstreamer.
Comment 2 tam 2012-03-27 11:00:53 UTC
I left my laptop uploading the crash from /var/crash last night. Will upload again when home.  Would appreciate any advice on how to get the best debug info since this is the first time I have used apport. E.g. will the crash dump captured by apport be enough?

Additional info:

The crash happens on 2 different ipod nano 2gen 4GB but an more recent ipod classic (2-3 years old?) did not cause a crash.
Comment 3 Jonathan Matthew 2012-03-27 11:28:40 UTC
Some recent changes fixed a crash very similar to this, so I think all we need is a stack trace with debug symbols for rhythmbox.

If you're already building from released tarballs, it shouldn't be much harder to build from git master and see if the bug has been fixed, which would be even more helpful.
Comment 4 tam 2012-03-27 23:03:25 UTC

crash file too large to attach so see here:

http://tommytricks.me.uk/mp3/_usr_bin_rhythmbox.1000.crash.gz

rhythmbox did build the playlists without crashing but then crashed when I added another playlist.

Please let me know if additional info is required and I will look at obtaining a more recent version via git
Comment 5 tam 2012-03-29 14:19:08 UTC
I downloaded the latest from git but had some errors running the config builder on the source (I'm at work so can't check). So, when I get this running, I will provide an update.
Comment 6 tam 2012-04-05 08:56:49 UTC
Hi,
What additional info do you require?
Thanks
Comment 7 Jonathan Matthew 2012-04-06 13:17:37 UTC
does it still crash?
Comment 8 tam 2012-04-08 21:38:23 UTC
yes it's still crashing ..... crashed when I sync without making any changes to the playlists.
Comment 9 Jonathan Matthew 2012-04-08 21:42:52 UTC
OK then, stack trace as usual.
Comment 10 tam 2012-04-08 21:46:10 UTC
Did the attached files not help?
Can I do a stack trace by just doing strace  -p rhythmbox -d
Comment 11 Jonathan Matthew 2012-04-08 21:52:53 UTC
see http://live.gnome.org/GettingTraces - strace output is not a stack trace, and rhythmbox debug output will not help here.  I haven't looked at the files you attached because they're not from your git build and I'm not going to dig through 24mb of crap to find the 10 lines of text that tell me what I want to know.
Comment 12 tam 2012-04-08 21:54:36 UTC
ok, I will work out how to get a stack trace.
Thanks for that,
Comment 13 tam 2012-04-08 22:12:33 UTC
Did the attached files not help?
Can I do a stack trace by just doing strace  -p rhythmbox -d
Comment 14 tam 2012-04-08 22:13:27 UTC
Does this help?


[New Thread 0x7fffda34d700 (LWP 10692)]
[Thread 0x7fffe54ec700 (LWP 10690) exited]
[Thread 0x7fffda34d700 (LWP 10692) exited]
[Thread 0x7fffd3fff700 (LWP 10689) exited]

(rhythmbox:10638): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `RBIpodStaticPlaylistSource'

(rhythmbox:10638): GLib-GObject-WARNING **: invalid unclassed pointer in cast to `RBPlaylistSource'

(rhythmbox:10638): Rhythmbox-CRITICAL **: rb_playlist_source_get_query_model: assertion `RB_IS_PLAYLIST_SOURCE (source)' failed

(rhythmbox:10638): GLib-GObject-CRITICAL **: g_type_instance_get_private: assertion `instance != NULL && instance->g_class != NULL' failed

Program received signal SIGSEGV, Segmentation fault.
rb_ipod_static_playlist_source_get_itdb_playlist (playlist=<optimized out>) at rb-ipod-static-playlist-source.c:254
254		return priv->itdb_playlist;
(gdb) bt
(gdb) bt
  • #0 rb_ipod_static_playlist_source_get_itdb_playlist
    at rb-ipod-static-playlist-source.c line 254
  • #1 playlist_before_save
    at rb-ipod-source.c line 634
  • #2 g_closure_invoke
    at /build/buildd/glib2.0-2.30.0/./gobject/gclosure.c line 774
  • #3 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c line 3272
  • #4 g_signal_emit_valist
    at /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c line 3003
  • #5 g_signal_emit
    at /build/buildd/glib2.0-2.30.0/./gobject/gsignal.c line 3060
  • #6 save_timeout_cb
    at rb-ipod-db.c line 881
  • #7 g_timeout_dispatch
    at /build/buildd/glib2.0-2.30.0/./glib/gmain.c line 3907
  • #8 g_main_dispatch
    at /build/buildd/glib2.0-2.30.0/./glib/gmain.c line 2441
  • #9 g_main_context_dispatch
    at /build/buildd/glib2.0-2.30.0/./glib/gmain.c line 3011
  • #10 g_main_context_iterate
    at /build/buildd/glib2.0-2.30.0/./glib/gmain.c line 3089
  • #11 g_main_loop_run
    at /build/buildd/glib2.0-2.30.0/./glib/gmain.c line 3297
  • #12 gtk_main
    from /usr/lib/libgtk-3.so.0
  • #13 g_application_run
    at /build/buildd/glib2.0-2.30.0/./gio/gapplication.c line 1323
  • #14 main
    at main.c line 99

Comment 15 tam 2012-04-08 22:15:25 UTC
the above was for version 2.96. Still not got the version from git compiling yet.
Comment 16 Jonathan Matthew 2012-04-08 22:17:32 UTC
This bug has already been fixed since 2.96 was released.

*** This bug has been marked as a duplicate of bug 661217 ***
Comment 17 tam 2012-04-08 22:20:59 UTC
Thanks very much for your speedy response. 
I will make an effort to get the latest version working.
Thanks.
Comment 18 tam 2012-04-08 23:04:00 UTC
I managed to get the latest version from git working (was missing gconf-dev) and confirm that my ipod is now syncing playlists.


Thanks.
:-)

Tam