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 647032 - When clicking on "MIssing files" I get crash
When clicking on "MIssing files" I get crash
Status: RESOLVED FIXED
Product: rhythmbox
Classification: Other
Component: general
unspecified
Other Linux
: Normal critical
: ---
Assigned To: RhythmBox Maintainers
RhythmBox Maintainers
: 648649 648711 650358 655525 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2011-04-07 13:10 UTC by Matěj Cepl
Modified: 2011-12-28 17:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
output of valgrind --leak-check=full --track-origins=yes -v rhythmbox (448.20 KB, application/x-gzip)
2011-04-07 14:53 UTC, Matěj Cepl
Details
LANG=en_US valgrind --track-origins=yes -v rhythmbox (77.86 KB, text/plain)
2011-04-07 15:24 UTC, Matěj Cepl
Details

Description Matěj Cepl 2011-04-07 13:10:25 UTC
When %subj% with rhythmbox-2.90.1-6.git20110328.fc15.x86_64 RB 100% crashes with this backtrace:

Program received signal SIGSEGV, Segmentation fault.
g_str_hash (v=0x0) at gstring.c:142
142	  for (p = v; *p != '\0'; p++)
Missing separate debuginfos, use: debuginfo-install adwaita-gtk3-theme-2.91.93-3.fc15.x86_64 libicu-4.4.2-8.fc16.x86_64 librsvg2-2.32.1-3.fc16.x86_64
(gdb) t a a b

Thread 7 (Thread 0x7fffd9911700 (LWP 22190)):
Breakpoint 1 at 0x3ad3862fe0: file gstring.c, line 142.

Thread 5 (Thread 0x7fffe82ce700 (LWP 22174)):
Note: breakpoint 1 also set at pc 0x3ad3862fe0.
Breakpoint 2 at 0x3ad3862fe0: file gstring.c, line 142.

Thread 2 (Thread 0x7ffff0dd3700 (LWP 22156)):
Note: breakpoints 1 and 2 also set at pc 0x3ad3862fe0.
Breakpoint 3 at 0x3ad3862fe0: file gstring.c, line 142.

Thread 1 (Thread 0x7ffff7fa49e0 (LWP 22121)):
Note: breakpoints 1, 2 and 3 also set at pc 0x3ad3862fe0.
Breakpoint 4 at 0x3ad3862fe0: file gstring.c, line 142.
(gdb) thread apply all backtrace
(gdb) thread apply all backtrace

Thread 1 (Thread 0x7ffff7fa49e0 (LWP 22121))

  • #0 g_str_hash
    at gstring.c line 142
  • #1 g_hash_table_lookup_node
    at ghash.c line 313
  • #2 g_hash_table_lookup
    at ghash.c line 902
  • #3 rb_refstring_new
    at rb-refstring.c line 88
  • #4 rhythmdb_entry_sync_mirrored
    at rhythmdb.c line 3681
  • #5 rhythmdb_entry_get_string
    at rhythmdb.c line 4790
  • #6 rb_entry_view_string_cell_data_func
    at rb-entry-view.c line 1115
  • #7 apply_cell_attributes
    at gtkcellarea.c line 1281
  • #8 g_hash_table_foreach
    at ghash.c line 1330
  • #9 gtk_cell_area_real_apply_attributes
    at gtkcellarea.c line 1310
  • #10 gtk_cell_area_box_apply_attributes
    at gtkcellareabox.c line 1320
  • #11 g_closure_invoke
    at gclosure.c line 767
  • #12 signal_emit_unlocked_R
    at gsignal.c line 3182
  • #13 g_signal_emit_valist
    at gsignal.c line 2983
  • #14 g_signal_emit
    at gsignal.c line 3040
  • #15 gtk_cell_area_apply_attributes
    at gtkcellarea.c line 2359
  • #16 validate_row
    at gtktreeview.c line 6152
  • #17 validate_visible_area
    at gtktreeview.c line 6368
  • #18 do_presize_handler
    at gtktreeview.c line 6818
  • #19 presize_handler_callback
    at gtktreeview.c line 6841
  • #20 gdk_threads_dispatch
    at gdk.c line 741
  • #21 g_main_dispatch
    at gmain.c line 2440
  • #22 g_main_context_dispatch
    at gmain.c line 3013
  • #23 g_main_context_iterate
    at gmain.c line 3091
  • #24 g_main_loop_run
    at gmain.c line 3299
  • #25 gtk_main
    at gtkmain.c line 1358
  • #26 main
    at main.c line 326
(gdb) q
A debugging session is active.

	Inferior 1 [process 22121] will be killed.

Quit anyway? (y or n) y
Comment 1 Matěj Cepl 2011-04-07 14:53:05 UTC
Created attachment 185428 [details]
output of  valgrind --leak-check=full --track-origins=yes -v rhythmbox
Comment 2 Bastien Nocera 2011-04-07 15:14:54 UTC
NULL value, might be caused by the %e code used.

(rhythmbox:6194): Rhythmbox-WARNING **: eel_strdup_strftime does not support non-standard escape code %e
==6194== Invalid read of size 1
==6194==    at 0x3AD3862FE0: g_str_hash (gstring.c:142)
==6194==    by 0x3AD383206C: g_hash_table_lookup (ghash.c:313)
==6194==    by 0x35014A4014: rb_refstring_new (rb-refstring.c:88)
==6194==    by 0x35014A47A6: rhythmdb_entry_sync_mirrored (rhythmdb.c:3681)
==6194==    by 0x35014A9215: rhythmdb_entry_get_string (rhythmdb.c:4790)
==6194==    by 0x350148E3FB: rb_entry_view_string_cell_data_func (rb-entry-view.c:1115)
==6194==    by 0x34FE899454: apply_cell_attributes (gtkcellarea.c:1281)
==6194==    by 0x3AD3832572: g_hash_table_foreach (ghash.c:1330)
==6194==    by 0x34FE899305: gtk_cell_area_real_apply_attributes (gtkcellarea.c:1310)
==6194==    by 0x34FE89ED18: gtk_cell_area_box_apply_attributes (gtkcellareabox.c:1320)
==6194==    by 0x3AD800E2ED: g_closure_invoke (gclosure.c:767)
==6194==    by 0x3AD801E941: signal_emit_unlocked_R (gsignal.c:3182)
==6194==  Address 0x0 is not stack'd, malloc'd or (recently) free'd

This will crash for af, cs and hu translations. Either we need to add "%e" to be supported, or fix the translation comments to mention what's supported.
Comment 3 Bastien Nocera 2011-04-07 15:22:38 UTC
Looks like it's not the crasher, will file a separate bug.
Comment 4 Matěj Cepl 2011-04-07 15:24:02 UTC
Created attachment 185431 [details]
LANG=en_US valgrind --track-origins=yes -v rhythmbox

Now it crashed even without clicking anything just on its own.
Comment 5 Bastien Nocera 2011-04-07 15:24:52 UTC
Filed as bug 647050
Comment 6 Jonathan Matthew 2011-04-26 21:39:46 UTC
*** Bug 648649 has been marked as a duplicate of this bug. ***
Comment 7 Jonathan Matthew 2011-04-27 00:05:17 UTC
*** Bug 648711 has been marked as a duplicate of this bug. ***
Comment 8 Matěj Cepl 2011-05-02 19:25:19 UTC
New version of rhythmbox (rhythmbox-2.90.1-9.git20110502.fc15.x86_64) and this crash on startup:

Program received signal SIGSEGV, Segmentation fault.
g_str_hash (v=0x0) at gstring.c:142
142	  for (p = v; *p != '\0'; p++)
Missing separate debuginfos, use: debuginfo-install libicu-4.4.2-8.fc16.x86_64 librsvg2-2.32.1-3.fc16.x86_64
(gdb) thread apply all backtrace

Thread 1 (Thread 0x7ffff79349e0 (LWP 3787))

  • #0 g_str_hash
    at gstring.c line 142
  • #1 g_hash_table_lookup_node
    at ghash.c line 313
  • #2 g_hash_table_lookup
    at ghash.c line 902
  • #3 rb_refstring_new
    at rb-refstring.c line 88
  • #4 rhythmdb_entry_sync_mirrored
    at rhythmdb.c line 3669
  • #5 rhythmdb_entry_get_string
    at rhythmdb.c line 4757
  • #6 rb_entry_view_string_cell_data_func
    at rb-entry-view.c line 1051
  • #7 apply_cell_attributes
    at gtkcellarea.c line 1281
  • #8 g_hash_table_foreach
    at ghash.c line 1330
  • #9 gtk_cell_area_real_apply_attributes
  • #10 gtk_cell_area_box_apply_attributes
    at gtkcellareabox.c line 1320
  • #11 g_closure_invoke
    at gclosure.c line 767
  • #12 signal_emit_unlocked_R
    at gsignal.c line 3182
  • #13 g_signal_emit_valist
    at gsignal.c line 2983
  • #14 g_signal_emit
    at gsignal.c line 3040
  • #15 gtk_cell_area_apply_attributes
    at gtkcellarea.c line 2359
  • #16 validate_row
    at gtktreeview.c line 6152
  • #17 initialize_fixed_height_mode
    at gtktreeview.c line 6607
  • #18 do_validate_rows
    at gtktreeview.c line 6647
  • #19 gtk_tree_view_size_request
    at gtktreeview.c line 2438
  • #20 gtk_tree_view_get_preferred_height
    at gtktreeview.c line 2467
  • #21 compute_size_for_orientation
    at gtksizerequest.c line 248
  • #22 gtk_scrolled_window_get_preferred_size
    at gtkscrolledwindow.c line 2155
  • #23 compute_size_for_orientation
    at gtksizerequest.c line 248
  • #24 gtk_box_get_size
    at gtkbox.c line 914
  • #25 compute_size_for_orientation
  • #26 gtk_widget_get_preferred_size
    at gtksizerequest.c line 545
  • #27 gtk_notebook_size_request
    at gtknotebook.c line 1976
  • #28 gtk_notebook_get_preferred_width
    at gtknotebook.c line 2255
  • #29 compute_size_for_orientation
    at gtksizerequest.c line 215
  • #30 gtk_box_get_size
    at gtkbox.c line 911
  • #31 compute_size_for_orientation
    at gtksizerequest.c line 215
  • #32 gtk_paned_get_preferred_size
    at gtkpaned.c line 864
  • #33 compute_size_for_orientation
    at gtksizerequest.c line 215
  • #34 gtk_paned_get_preferred_size
    at gtkpaned.c line 875
  • #35 compute_size_for_orientation
    at gtksizerequest.c line 215
  • #36 gtk_box_get_size
    at gtkbox.c line 911
  • #37 compute_size_for_orientation
    at gtksizerequest.c line 215
  • #38 gtk_window_get_preferred_width
    at gtkwindow.c line 6114
  • #39 compute_size_for_orientation
  • #40 gtk_widget_get_preferred_size
    at gtksizerequest.c line 527
  • #41 gtk_window_compute_hints
    at gtkwindow.c line 7131
  • #42 gtk_window_compute_configure_request
    at gtkwindow.c line 6453
  • #43 gtk_window_move_resize
    at gtkwindow.c line 6684
  • #44 gtk_window_check_resize
    at gtkwindow.c line 5914
  • #45 g_closure_invoke
    at gclosure.c line 767
  • #46 signal_emit_unlocked_R
    at gsignal.c line 3290
  • #47 g_signal_emit_valist
    at gsignal.c line 2983
  • #48 g_signal_emit
    at gsignal.c line 3040
  • #49 gtk_container_idle_sizer
    at gtkcontainer.c line 1603
  • #50 gdk_threads_dispatch
    at gdk.c line 741
  • #51 g_main_dispatch
    at gmain.c line 2440
  • #52 g_main_context_dispatch
    at gmain.c line 3013
  • #53 g_main_context_iterate
    at gmain.c line 3091
  • #54 g_main_loop_run
    at gmain.c line 3299
  • #55 gtk_main
    at gtkmain.c line 1358
  • #56 main
    at main.c line 332

Comment 9 Jonathan Matthew 2011-05-17 02:18:59 UTC
*** Bug 650358 has been marked as a duplicate of this bug. ***
Comment 10 Christophe Fergeau 2011-05-17 13:05:30 UTC
Copying and pasting https://bugzilla.gnome.org/show_bug.cgi?id=650358#c2 here :

Looking at rhythmdb_entry_sync_mirrored, rb_refsting_new is called with the
result of val = rb_utf_friendly_time (entry->last_seen); which returns NULL
when entry->last_seen is 0, which is the case here, so this would explain the
bug. Looking at the backtrace from bug #647032 this indeed looks like a
duplicate, I was confused by the initial comments from hadess, didn't pay
attention he said it was a different bug.
Comment 11 Jonathan Matthew 2011-05-19 22:37:30 UTC
fixed in commit c8e1896
Comment 12 Matěj Cepl 2011-05-25 17:55:03 UTC
Downstream bug with plenty of duplicates is https://bugzilla.redhat.com/show_bug.cgi?id=699290
Comment 13 Jonathan Matthew 2011-07-28 21:59:11 UTC
*** Bug 655525 has been marked as a duplicate of this bug. ***