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 631038 - rhythmbox crashed with SIGSEGV in rb_sync_settings_sync_category()
rhythmbox crashed with SIGSEGV in rb_sync_settings_sync_category()
Status: RESOLVED OBSOLETE
Product: rhythmbox
Classification: Other
Component: Removable Media
0.13.x
Other Linux
: Normal critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 638345 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2010-09-30 20:22 UTC by Pedro Villavicencio
Modified: 2018-05-24 15:32 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
sync: Add check before accessing sync settings (1.82 KB, patch)
2015-08-29 17:05 UTC, Valentin Pratz
none Details | Review

Description Pedro Villavicencio 2010-09-30 20:22:12 UTC
this report has been filed here:

https://bugs.edge.launchpad.net/ubuntu/+source/rhythmbox/+bug/642508

"I was trying to open my media device."

".

Thread 1 (process 19745)

  • #0 rb_sync_settings_sync_category
    at rb-sync-settings.c line 170
  • #1 rb_sync_state_update
    at rb-sync-state.c line 296
  • #2 impl_constructed
    at rb-sync-state.c line 464
  • #3 g_object_newv
    at /build/buildd/glib2.0-2.25.15/gobject/gobject.c line 1375
  • #4 g_object_new_valist
    at /build/buildd/glib2.0-2.25.15/gobject/gobject.c line 1463
  • #5 g_object_new
    at /build/buildd/glib2.0-2.25.15/gobject/gobject.c line 1181
  • #6 rb_sync_state_new
    at rb-sync-state.c line 445
  • #7 update_sync
    at rb-media-player-source.c line 298
  • #8 rb_media_player_source_show_properties
    at rb-media-player-source.c line 359
  • #9 source_action_cb
    at rb-source.c line 1859
  • #10 g_closure_invoke
    at /build/buildd/glib2.0-2.25.15/gobject/gclosure.c line 766
  • #11 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 3252
  • #12 g_signal_emit_valist
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 2983
  • #13 g_signal_emit
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 3040
  • #14 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 g_closure_invoke
    at /build/buildd/glib2.0-2.25.15/gobject/gclosure.c line 766
  • #16 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 3182
  • #17 g_signal_emit_valist
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 2983
  • #18 g_signal_emit
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 3040
  • #19 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #20 gtk_menu_shell_activate_item
    from /usr/lib/libgtk-x11-2.0.so.0
  • #21 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #22 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #23 g_closure_invoke
    at /build/buildd/glib2.0-2.25.15/gobject/gclosure.c line 766
  • #24 signal_emit_unlocked_R
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 3290
  • #25 g_signal_emit_valist
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 2993
  • #26 g_signal_emit
    at /build/buildd/glib2.0-2.25.15/gobject/gsignal.c line 3040
  • #27 ??
    from /usr/lib/libgtk-x11-2.0.so.0
  • #28 gtk_propagate_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #29 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #30 ??
    from /usr/lib/libgdk-x11-2.0.so.0
  • #31 g_main_context_dispatch
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2119
  • #32 g_main_context_iterate
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2750
  • #33 g_main_loop_run
    at /build/buildd/glib2.0-2.25.15/glib/gmain.c line 2958
  • #34 gtk_main
    from /usr/lib/libgtk-x11-2.0.so.0
  • #35 main
    at main.c line 336

Comment 1 Fabio Durán Verdugo 2010-12-30 19:53:30 UTC
*** Bug 638345 has been marked as a duplicate of this bug. ***
Comment 2 Jonathon Jongsma 2012-02-08 17:08:49 UTC
I have just reproduced this crash here as well.  I don't know whether these steps are all significant, but here's what happened to me:

- connect my media device (in this case, a Nokia N9)
- device shows up in the source list with an icon but no name
- click on the device source, it shows no songs in the browser
- right-click on the device source and choose 'rename', type in a name
- right-click on the device source, and choose 'properties'
- crash.
Comment 3 Jonathon Jongsma 2012-02-08 17:09:28 UTC
I should note that I'm using rhythmbox 2.95-1 from debian unstable.
Comment 4 Laurent Bigonville 2013-02-14 15:37:33 UTC
Hi,

I also have this issue with 2.97


Please fund here a better backtrace

  • #0 rb_sync_settings_sync_category
    at rb-sync-settings.c line 170
  • #1 build_sync_itinerary
    at rb-sync-state.c line 299
  • #2 rb_sync_state_update
    at rb-sync-state.c line 384
  • #3 impl_constructed
    at rb-sync-state.c line 469
  • #4 g_object_newv
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gobject.c line 1741
  • #5 g_object_new_valist
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gobject.c line 1830
  • #6 g_object_new
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gobject.c line 1545
  • #7 rb_sync_state_new
    at rb-sync-state.c line 450
  • #8 update_sync
    at rb-media-player-source.c line 371
  • #9 rb_media_player_source_show_properties
    at rb-media-player-source.c line 432
  • #10 display_page_action_cb
    at rb-display-page.c line 416
  • #11 g_closure_invoke
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 777
  • #12 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3551
  • #13 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3300
  • #14 g_signal_emit
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #15 _gtk_action_emit_activate
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkaction.c line 800
  • #16 g_closure_invoke
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 777
  • #17 signal_emit_unlocked_R
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3481
  • #18 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3300
  • #19 g_signal_emit
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #20 gtk_widget_activate
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkwidget.c line 6411
  • #21 gtk_menu_shell_activate_item
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmenushell.c line 1429
  • #22 gtk_menu_shell_button_release
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmenushell.c line 830
  • #23 _gtk_marshal_BOOLEAN__BOXEDv
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmarshalers.c line 130
  • #24 _g_closure_invoke_va
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gclosure.c line 840
  • #25 g_signal_emit_valist
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3211
  • #26 g_signal_emit
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gobject/gsignal.c line 3356
  • #27 gtk_widget_event_internal
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkwidget.c line 6380
  • #28 gtk_widget_event
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkwidget.c line 6037
  • #29 propagate_event_up
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c line 2400
  • #30 propagate_event
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c line 2500
  • #31 gtk_main_do_event
    at /tmp/buildd/gtk+3.0-3.4.2/./gtk/gtkmain.c line 1713
  • #32 gdk_event_source_dispatch
    at /tmp/buildd/gtk+3.0-3.4.2/./gdk/x11/gdkeventsource.c line 358
  • #33 g_main_dispatch
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 2539
  • #34 g_main_context_dispatch
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3075
  • #35 g_main_context_iterate
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3146
  • #36 g_main_context_iteration
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./glib/gmain.c line 3207
  • #37 g_application_run
    at /tmp/buildd/glib2.0-2.33.12+really2.32.4/./gio/gapplication.c line 1499
  • #38 main
    at main.c line 99

Comment 5 Arun Raghavan 2014-11-20 18:39:26 UTC
I see this with current master.

Bad call is:

  • #0 rb_sync_settings_sync_category
    at rb-sync-settings.c line 170
  • #1 build_sync_itinerary
    at rb-sync-state.c line 296
$4 = (RBSyncStatePrivate *) 0x1d966c0
(gdb) p *state->priv
$5 = {source = 0x1107a00 [RBMtpSource], sync_settings = 0x0}
Comment 6 Valentin Pratz 2015-08-29 17:05:33 UTC
Created attachment 310271 [details] [review]
sync: Add check before accessing sync settings

If a (MTP) device hasn't finished loading, it's RBSyncSettings object
is NULL. When the user is clicking on "Sync" or "Properties" it get's
accessed what causes a segfault.

This commit adds a check before calling this to functions and displays
a message if the device isn't ready yet.
Comment 7 GNOME Infrastructure Team 2018-05-24 15:32:25 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to GNOME's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.gnome.org/GNOME/rhythmbox/issues/983.