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 602616 - Program crashes when I attempt to open "Properties" on some songs in the title list.
Program crashes when I attempt to open "Properties" on some songs in the titl...
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: User Interface
0.12.x
Other Linux
: High critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-11-22 03:37 UTC by Gary Schafer
Modified: 2009-11-24 10:48 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Gary Schafer 2009-11-22 03:37:14 UTC
When attempting to open the "Properties" menu using right-click on a song in the title list, the program ends.  There's no warning, error or message provided.  It simply closes.  I'm able to re-start the program in the normal method.  This only happens on some songs and, despite some research, I'm not able to determine whether its the song type (m4a, mp3, flac, etc) or some other feature of the song.  However, on those songs which do it, it's consistent.  Once I find a song, trying to view the properties of that song will kill the program every time.  Even though I'm running Linux (Ubuntu Karmic Koala, ver 9.10), the computer is a dual-boot and all of the songs are on the Windows partition, if that makes a difference.
The computer itself is a Gateway 700GR Pentium 4 HT.  It has 2 GB of RAM and the HD is a 750 GB Seagate SATA.
Comment 1 Jonathan Matthew 2009-11-22 03:59:49 UTC
Thanks for taking the time to report this bug.
Without a stack trace from the crash it's very hard to determine what caused it.
Can you get us a stack trace? Please see http://live.gnome.org/GettingTraces for more information on how to do so. Thanks in advance!
Comment 2 Gary Schafer 2009-11-22 04:33:31 UTC
I added the debug packages and I was able to make the program crash again.  However, if "Bug Buddy" was then supposed to open, it didn't.  I had to use the gdb command in a terminal to get the stack trace.  And it was simply this:

  • #0 g_utf8_validate
    from /lib/libglib-2.0.so.0

That's it.  Please let me know if you need any more information.  And thank you for your assistance!
Comment 3 Christophe Fergeau 2009-11-22 11:09:32 UTC
You only got this line when following instructions at http://live.gnome.org/GettingTraces/Details#gdb-not-yet-running ? Ie you did type "thread apply all bt" at gdb prompt and this is the only line it reported?
Comment 4 Gary Schafer 2009-11-22 15:01:37 UTC
Pardon my newbie-ness.  I'd done a "force quit" on Rhythmbox before going back to the terminal window and running the "thread apply all bt" command.  Therefore, when I ran the command, I got a one-line error.  That was when I ran just the "bt" command, giving me the last stack trace.

I just re-ran the debug, but this time I use the command "thread apply all bt" BEFORE I did a "force quit" on Rhythmbox.  Here's the stack trace:

Thread 1 (Thread 0xb7fd6750 (LWP 7067))

  • #0 g_utf8_validate
    from /lib/libglib-2.0.so.0
  • #1 ??
    from /lib/libglib-2.0.so.0
  • #2 g_filename_to_utf8
    from /lib/libglib-2.0.so.0
  • #3 rb_song_info_update_location
    at rb-song-info.c line 1124
  • #4 rb_song_info_populate_dialog
    at rb-song-info.c line 1003
  • #5 rb_song_info_constructor
    at rb-song-info.c line 553
  • #6 g_object_newv
    from /usr/lib/libgobject-2.0.so.0
  • #7 g_object_new_valist
    from /usr/lib/libgobject-2.0.so.0
  • #8 g_object_new
    from /usr/lib/libgobject-2.0.so.0
  • #9 rb_song_info_new
    at rb-song-info.c line 763
  • #10 impl_song_properties
    at rb-browser-source.c line 743
  • #11 rb_source_song_properties
    at rb-source.c line 1270
  • #12 rb_shell_clipboard_cmd_song_info
    at rb-shell-clipboard.c line 833
  • #13 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #14 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #15 ??
    from /usr/lib/libgobject-2.0.so.0
  • #16 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #17 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #18 _gtk_action_emit_activate
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaction.c line 727
  • #19 IA__gtk_action_activate
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaction.c line 757
  • #20 g_cclosure_marshal_VOID__VOID
    from /usr/lib/libgobject-2.0.so.0
  • #21 ??
    from /usr/lib/libgobject-2.0.so.0
  • #22 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #23 ??
    from /usr/lib/libgobject-2.0.so.0
  • #24 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #25 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #26 IA__gtk_widget_activate
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c line 4798
  • #27 IA__gtk_menu_shell_activate_item
  • #28 gtk_menu_shell_button_release
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmenushell.c line 678
  • #29 gtk_menu_button_release
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmenu.c line 2983
  • #30 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmarshalers.c line 84
  • #31 ??
    from /usr/lib/libgobject-2.0.so.0
  • #32 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #33 ??
    from /usr/lib/libgobject-2.0.so.0
  • #34 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #35 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #36 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c line 4767
  • #37 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 2417
  • #38 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1622
  • #39 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkevents-x11.c line 2369
  • #40 g_main_context_dispatch
    from /lib/libglib-2.0.so.0
  • #41 ??
    from /lib/libglib-2.0.so.0
  • #42 g_main_loop_run
    from /lib/libglib-2.0.so.0
  • #43 IA__gtk_main
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1218
  • #44 main
    at main.c line 332

Apologies, all.
Comment 5 Christophe Fergeau 2009-11-22 15:32:11 UTC
Thanks, this backtrace is much more useful :)
The problematic bit is :

  • #0 g_utf8_validate
    from /lib/libglib-2.0.so.0
  • #1 ??
    from /lib/libglib-2.0.so.0
  • #2 g_filename_to_utf8
    from /lib/libglib-2.0.so.0
  • #3 rb_song_info_update_location
    at rb-song-info.c line 1124
  • #4 rb_song_info_populate_dialog
    at rb-song-info.c line 1003

Seems to be an issue with the filename of the song you are trying to view the properties of. Maybe the filename or path has accentuated chars in it or something like that? Could you get another backtrace with glib2 debug package installed too? Seems you only installed rhythmbox debug stuff.

Thanks for following up, don't worry for your newbie-ness :) And no need to apologize when you provide helpful information :)
Comment 6 Gary Schafer 2009-11-22 19:14:24 UTC
Hmm.  Thought I had installed glib2.  Okay.  Back to Synaptic and... I think it's installed now.

Here's the latest stack trace, hopefully with glib2 included:

Thread 1 (Thread 0xb7fd6750 (LWP 7958))

  • #0 IA__g_utf8_validate
    at /build/buildd/glib2.0-2.22.2/glib/gutf8.c line 1756
  • #1 strdup_len
    at /build/buildd/glib2.0-2.22.2/glib/gconvert.c line 1017
  • #2 IA__g_filename_to_utf8
    at /build/buildd/glib2.0-2.22.2/glib/gconvert.c line 1336
  • #3 rb_song_info_update_location
    at rb-song-info.c line 1124
  • #4 rb_song_info_populate_dialog
    at rb-song-info.c line 1003
  • #5 rb_song_info_constructor
    at rb-song-info.c line 553
  • #6 IA__g_object_newv
    at /build/buildd/glib2.0-2.22.2/gobject/gobject.c line 1252
  • #7 IA__g_object_new_valist
    at /build/buildd/glib2.0-2.22.2/gobject/gobject.c line 1364
  • #8 IA__g_object_new
    at /build/buildd/glib2.0-2.22.2/gobject/gobject.c line 1086
  • #9 rb_song_info_new
    at rb-song-info.c line 763
  • #10 impl_song_properties
    at rb-browser-source.c line 743
  • #11 rb_source_song_properties
    at rb-source.c line 1270
  • #12 rb_shell_clipboard_cmd_song_info
    at rb-shell-clipboard.c line 833
  • #13 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.22.2/gobject/gmarshal.c line 77
  • #14 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c line 767
  • #15 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3247
  • #16 IA__g_signal_emit_valist
  • #17 IA__g_signal_emit
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3037
  • #18 _gtk_action_emit_activate
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaction.c line 727
  • #19 IA__gtk_action_activate
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkaction.c line 757
  • #20 IA__g_cclosure_marshal_VOID__VOID
    at /build/buildd/glib2.0-2.22.2/gobject/gmarshal.c line 77
  • #21 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c line 878
  • #22 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c line 767
  • #23 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3177
  • #24 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 2980
  • #25 IA__g_signal_emit
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3037
  • #26 IA__gtk_widget_activate
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c line 4798
  • #27 IA__gtk_menu_shell_activate_item
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmenushell.c line 1139
  • #28 gtk_menu_shell_button_release
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmenushell.c line 678
  • #29 gtk_menu_button_release
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmenu.c line 2983
  • #30 _gtk_marshal_BOOLEAN__BOXED
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmarshalers.c line 84
  • #31 g_type_class_meta_marshal
    at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c line 878
  • #32 IA__g_closure_invoke
    at /build/buildd/glib2.0-2.22.2/gobject/gclosure.c line 767
  • #33 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3285
  • #34 IA__g_signal_emit_valist
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 2990
  • #35 IA__g_signal_emit
    at /build/buildd/glib2.0-2.22.2/gobject/gsignal.c line 3037
  • #36 gtk_widget_event_internal
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkwidget.c line 4767
  • #37 IA__gtk_propagate_event
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 2417
  • #38 IA__gtk_main_do_event
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1622
  • #39 gdk_event_dispatch
    at /build/buildd/gtk+2.0-2.18.3/gdk/x11/gdkevents-x11.c line 2369
  • #40 g_main_dispatch
    at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 1960
  • #41 IA__g_main_context_dispatch
    at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 2513
  • #42 g_main_context_iterate
    at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 2591
  • #43 IA__g_main_loop_run
    at /build/buildd/glib2.0-2.22.2/glib/gmain.c line 2799
  • #44 IA__gtk_main
    at /build/buildd/gtk+2.0-2.18.3/gtk/gtkmain.c line 1218
  • #45 main
    at main.c line 332

As for the special characters, I've noted special behavior with the percent sign (%) in the album name.  The songs on which I've noted consistent crashing behavior were in an album called "100% Dance".  That song, entitled "Don't Turn Around" was the first one I noted it on.  However, that song is also on another album, called "Various Artists", and bringing up the properties on that version did NOT cause it to crash.

I did a few more tests and noted that bringing up the properties of ANY song on the album "100% Dance" would cause Rhythmbox to crash.  The same goes for another album entitled "100% Funk".  Anytime I bring up the properties on any song in that album, it crashes.

The characters in the album name in which I did NOT get any bad behavior are hyphens (-), colons (:), apostrophes ('), parentheses (), quote marks ("), periods (.), exclamation marks (!), commas (,), brackets ([]) or ampersands (&).  

Let me know if you need any more info.
Comment 7 Christophe Fergeau 2009-11-22 19:18:38 UTC
Nope, that's perfect I think, thanks for the thourought testing )
Comment 8 Jonathan Matthew 2009-11-24 10:48:43 UTC
Fixed in commit 860812d7586f54329ebfc9bef616f25e2f928f88.