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 337660 - rhythmbox crashes when re-organising playlist while playing
rhythmbox crashes when re-organising playlist while playing
Status: RESOLVED DUPLICATE of bug 336045
Product: rhythmbox
Classification: Other
Component: general
0.9.3
Other Linux
: Normal normal
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
Depends on:
Blocks:
 
 
Reported: 2006-04-07 16:53 UTC by Sebastien Bacher
Modified: 2006-04-08 12:46 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
patch (1.84 KB, patch)
2006-04-08 05:11 UTC, James "Doc" Livingston
none Details | Review
valgrind log (147.14 KB, text/plain)
2006-04-08 11:43 UTC, Sebastien Bacher
  Details

Description Sebastien Bacher 2006-04-07 16:53:57 UTC
That bug has been opened on https://launchpad.net/distros/ubuntu/+source/rhythmbox/+bug/38616

"Open a custom playlist with, say, 10 songs. Start a song. Move the song upwards. Playing stops. (this is known as bug 38613 )

However, just start it again, and drag it again, and go on like this for a while. Rhythmbox crashes. I followed instructions on https://wiki.ubuntu.com/DebuggingProgramCrash and made a backtrace.

Note a few things:
- 0.9.3.1-0ubuntu3
- I discovered this bug while using rhythmbox in a normal way, so that means it happened faster than I can reproduce it now. It could be that you have to try the weird play/drag-up/play/drag-down/play-drag up several times, but it's reproducable here
- I don't know if the upper thread in the backtrace is the one that crashed, but once I saw a failed assertion in g_strdup() (I believe something about (something)"->inserted==null", can't remember really). Unfortunately I lost the exact wording, and although I can reproduce the crash I can't reproduce that command-line output.

Often the commandline output is just "Segmentation fault", but *another* output I did catch:

==============================

(rhythmbox:8721): GLib-CRITICAL **: g_date_get_julian: assertion `g_date_valid (d)' failed

(rhythmbox:8721): GLib-CRITICAL **: g_date_get_julian: assertion `g_date_valid (d)' failed

(rhythmbox:8721): GLib-CRITICAL **: g_date_get_julian: assertion `g_date_valid (d)' failed

(rhythmbox:8721): GLib-CRITICAL **: g_date_get_julian: assertion `g_date_valid (d)' failed

(rhythmbox:8721): GLib-CRITICAL **: g_date_get_julian: assertion `g_date_valid (d)' failed

See the backtrace, also.
...
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1226029376 (LWP 8083)]
0xb71c6c58 in g_strdup () from /usr/lib/libglib-2.0.so.0
...

Thread 1 (Thread -1226029376 (LWP 8083))

  • #0 g_strdup
    from /usr/lib/libglib-2.0.so.0
  • #1 g_value_array_copy
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_object_set_valist
    from /usr/lib/libgobject-2.0.so.0
  • #3 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #4 rb_entry_view_string_cell_data_func
    at rb-entry-view.c line 744
  • #5 gtk_tree_view_column_cell_set_cell_data
    from /usr/lib/libgtk-x11-2.0.so.0
  • #6 _gtk_tree_view_queue_draw_node
    from /usr/lib/libgtk-x11-2.0.so.0
  • #7 _gtk_marshal_BOOLEAN__BOXED
    from /usr/lib/libgtk-x11-2.0.so.0
  • #8 g_cclosure_new_swap
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0
  • #10 g_signal_stop_emission
    from /usr/lib/libgobject-2.0.so.0
  • #11 g_signal_emit_valist
    from /usr/lib/libgobject-2.0.so.0
  • #12 g_signal_emit
    from /usr/lib/libgobject-2.0.so.0
  • #13 gtk_widget_activate
    from /usr/lib/libgtk-x11-2.0.so.0
  • #14 gtk_main_do_event
    from /usr/lib/libgtk-x11-2.0.so.0
  • #15 gdk_window_clear_area_e
    from /usr/lib/libgdk-x11-2.0.so.0
  • #16 gdk_window_process_all_updates
    from /usr/lib/libgdk-x11-2.0.so.0
  • #17 gtk_container_check_resize
    from /usr/lib/libgtk-x11-2.0.so.0
  • #18 g_child_watch_add
    from /usr/lib/libglib-2.0.so.0
  • #19 g_main_context_dispatch
    from /usr/lib/libglib-2.0.so.0
  • #20 g_main_context_check
    from /usr/lib/libglib-2.0.so.0
  • #21 g_main_loop_run
    from /usr/lib/libglib-2.0.so.0
  • #22 bonobo_main
    from /usr/lib/libbonobo-2.so.0
  • #23 main
    at main.c line 398

Comment 1 Sebastien Bacher 2006-04-07 17:54:33 UTC
debug backtrace:

(gdb) bt
  • #0 g_strdup
    from /usr/lib/libglib-2.0.so.0
  • #1 value_collect_string
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_object_set_valist
    from /usr/lib/libgobject-2.0.so.0
  • #3 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #4 rb_entry_view_string_cell_data_func
    at rb-entry-view.c line 744
  • #5 IA__gtk_tree_view_column_cell_set_cell_data
    at gtktreeviewcolumn.c line 2553
  • #6 validate_row
    at gtktreeview.c line 4686
  • #7 validate_visible_area
    at gtktreeview.c line 5003
  • #8 gtk_tree_view_expose
    at gtktreeview.c line 3540
  • #9 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #10 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0

Comment 2 Sebastien Bacher 2006-04-07 18:10:22 UTC
with glib debug too:

Program received signal SIGSEGV, Segmentation fault.

Thread NaN (LWP 9385)

  • #0 IA__g_strdup
    at gstrfuncs.c line 90
  • #1 value_collect_string
    from /usr/lib/libgobject-2.0.so.0
  • #2 g_object_set_valist
    from /usr/lib/libgobject-2.0.so.0
  • #3 g_object_set
    from /usr/lib/libgobject-2.0.so.0
  • #4 rb_entry_view_string_cell_data_func
    at rb-entry-view.c line 744
  • #5 IA__gtk_tree_view_column_cell_set_cell_data
    at gtktreeviewcolumn.c line 2553
  • #6 gtk_tree_view_expose
    at gtktreeview.c line 3655
  • #7 _gtk_marshal_BOOLEAN__BOXED
    at gtkmarshalers.c line 83
  • #8 g_type_class_meta_marshal
    from /usr/lib/libgobject-2.0.so.0
  • #9 g_closure_invoke
    from /usr/lib/libgobject-2.0.so.0

Comment 3 James "Doc" Livingston 2006-04-08 05:11:02 UTC
Created attachment 62965 [details] [review]
patch

I'm fairly certain this should fix the problem.
Comment 4 Sebastien Bacher 2006-04-08 11:43:22 UTC
Created attachment 62972 [details]
valgrind log

The crash is still happening with the patch. Attaching a valgrind log of what happens after some dnd to the playlist
Comment 5 Jonathan Matthew 2006-04-08 11:52:52 UTC
This looks like a duplicate of bug 336045, in which case this change should fix it :  http://cvs.gnome.org/viewcvs/rhythmbox/rhythmdb/rhythmdb-query-model.c?r1=1.111&r2=1.112
Comment 6 Sebastien Bacher 2006-04-08 12:46:33 UTC
That fixes the crash, thank you

*** This bug has been marked as a duplicate of 336045 ***