Bug 445055 - apparent infinite loop/hang in rendering code
Summary: apparent infinite loop/hang in rendering code
Keywords:
Status: CLOSED WORKSFORME
Alias: None
Product: Fedora
Classification: Fedora
Component: nautilus
Version: 9
Hardware: All
OS: Linux
low
low
Target Milestone: ---
Assignee: Tomáš Bžatek
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-05-03 01:20 UTC by Bill Nottingham
Modified: 2015-03-03 22:32 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2009-06-10 15:28:49 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bill Nottingham 2008-05-03 01:20:22 UTC
Description of problem:

When opening a particular folder for me, nautilus hangs.

0x00000000004c5f1d in icon_set_position (icon=0x7fab5c0073e0, x=12.5, y=315)
    at nautilus-icon-container.c:374
374		eel_canvas_item_move (EEL_CANVAS_ITEM (icon->item),
(gdb) info threads
* 1 Thread 0x7fab67dca7b0 (LWP 1538)  0x00000000004c5f1d in icon_set_position (
    icon=0x7fab5c0073e0, x=12.5, y=315) at nautilus-icon-container.c:374
(gdb) bt
#0  0x00000000004c5f1d in icon_set_position (icon=0x7fab5c0073e0, x=12.5, y=315)
    at nautilus-icon-container.c:374
#1  0x00000000004c618b in lay_down_one_line (container=0x1e66650, 
    line_start=<value optimized out>, line_end=0x236ae20, y=413, max_height=98, 
    positions=0x7fab5b643080) at nautilus-icon-container.c:998
#2  0x00000000004c6a6c in lay_down_icons (container=0x1e66650, icons=0x233ff80,
start_y=311)
    at nautilus-icon-container.c:1107
#3  0x00000000004c7db8 in redo_layout_internal (container=0x1e66650)
    at nautilus-icon-container.c:1699
#4  0x0000003b24e0b62f in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#5  0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#6  0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#7  0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#8  0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#9  0x0000003b28fffaa4 in gtk_scrolled_window_size_allocate (widget=Could not
find the frame base for "gtk_scrolled_window_size_allocate".
)
    at gtkscrolledwindow.c:1372
#10 0x0000003b24e0b62f in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#11 0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#12 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#13 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#14 0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#15 0x0000003b290e90f8 in gtk_vbox_size_allocate (widget=Could not find the
frame base for "gtk_vbox_size_allocate".
) at gtkvbox.c:234
#16 0x0000003b24e0b62f in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#17 0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#18 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#19 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#20 0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#21 0x0000003b290e90f8 in gtk_vbox_size_allocate (widget=Could not find the
frame base for "gtk_vbox_size_allocate".
) at gtkvbox.c:234
#22 0x0000003b24e0b62f in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#23 0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#24 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#25 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#26 0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#27 0x0000003b2902e678 in gtk_table_size_allocate_pass2 (table=Could not find
the frame base for "gtk_table_size_allocate_pass2".
) at gtktable.c:1634
#28 0x0000003b2902c488 in gtk_table_size_allocate (widget=Could not find the
frame base for "gtk_table_size_allocate".
) at gtktable.c:862
#29 0x0000003b24e0b62f in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#30 0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#31 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#32 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#33 0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#34 0x0000003b29106646 in gtk_window_size_allocate (widget=Could not find the
frame base for "gtk_window_size_allocate".
) at gtkwindow.c:4733
#35 0x0000003b24e0b6dd in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#36 0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#37 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#38 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#39 0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#40 0x0000003b28ed08e5 in IA__gtk_container_resize_children (container=Could not
find the frame base for "IA__gtk_container_resize_children".
)
    at gtkcontainer.c:1424
#41 0x0000003b291086bb in gtk_window_move_resize (window=Could not find the
frame base for "gtk_window_move_resize".
) at gtkwindow.c:6124
#42 0x0000003b2910701c in gtk_window_check_resize (container=Could not find the
frame base for "gtk_window_check_resize".
) at gtkwindow.c:5150
#43 0x0000003b24e0b6dd in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#44 0x0000003b24e1f392 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2478
#45 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#46 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#47 0x0000003b28ed0781 in IA__gtk_container_check_resize (container=Could not
find the frame base for "IA__gtk_container_check_resize".
) at gtkcontainer.c:1378
#48 0x0000003b28ed04d8 in gtk_container_idle_sizer (data=Could not find the
frame base for "gtk_container_idle_sizer".
) at gtkcontainer.c:1304
#49 0x0000003b2961a656 in gdk_threads_dispatch (data=Could not find the frame
base for "gdk_threads_dispatch".
) at gdk.c:470
#50 0x0000003b2323749b in IA__g_main_context_dispatch (context=<value optimized
out>)
    at gmain.c:2009
#51 0x0000003b2323ac7d in g_main_context_iterate (context=<value optimized out>, 
    block=<value optimized out>, dispatch=<value optimized out>, self=<value
optimized out>)
    at gmain.c:2642
#52 0x0000003b2323b1ad in IA__g_main_loop_run (loop=<value optimized out>) at
gmain.c:2850
#53 0x0000003b28f84888 in IA__gtk_main () at gtkmain.c:1163
#54 0x000000000043da56 in main (argc=<value optimized out>, argv=0x7fff6fe0d5e8)
    at nautilus-main.c:569

Seems pretty consistent for this folder.

Other backtraces include:

) at gdkregion-generic.c:536
#1  0x0000003b29635322 in miRegionOp (newReg=Could not find the frame base for
"miRegionOp".
) at gdkregion-generic.c:955
#2  0x0000003b29634d73 in IA__gdk_region_intersect (source1=Could not find the
frame base for "IA__gdk_region_intersect".
) at gdkregion-generic.c:581
#3  0x0000003b2965ddde in gdk_window_clip_changed (window=Could not find the
frame base for "gdk_window_clip_changed".
) at gdkgeometry-x11.c:1219
#4  0x0000003b2965cbf8 in _gdk_window_move_resize_child (window=Could not find
the frame base for "_gdk_window_move_resize_child".
) at gdkgeometry-x11.c:673
#5  0x0000003b2966f05f in IA__gdk_window_resize (window=Could not find the frame
base for "IA__gdk_window_resize".
) at gdkwindow-x11.c:1752
#6  0x0000003b28f758b5 in gtk_layout_size_allocate (widget=Could not find the
frame base for "gtk_layout_size_allocate".
) at gtklayout.c:986
#7  0x0000003b37e23cd5 in eel_canvas_size_allocate (widget=<value optimized out>, 
    allocation=<value optimized out>) at eel-canvas.c:2376
#8  0x00000000004cb577 in size_allocate (widget=0x1e66650,
allocation=0x7fff6fe0a540)
    at nautilus-icon-container.c:3166
#9  0x0000003b24e0b62f in IA__g_closure_invoke (closure=<value optimized out>, 
    return_value=<value optimized out>, n_param_values=<value optimized out>, 
    param_values=<value optimized out>, invocation_hint=<value optimized out>)
    at gclosure.c:490
#10 0x0000003b24e1efd6 in signal_emit_unlocked_R (node=<value optimized out>, 
    detail=<value optimized out>, instance=<value optimized out>, 
    emission_return=<value optimized out>, instance_and_params=<value optimized
out>)
    at gsignal.c:2370
#11 0x0000003b24e20b9c in IA__g_signal_emit_valist (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>, 
    var_args=<value optimized out>) at gsignal.c:2199
#12 0x0000003b24e210e3 in IA__g_signal_emit (instance=<value optimized out>, 
    signal_id=<value optimized out>, detail=<value optimized out>) at gsignal.c:2243
#13 0x0000003b290f3497 in IA__gtk_widget_size_allocate (widget=Could not find
the frame base for "IA__gtk_widget_size_allocate".
) at gtkwidget.c:3818
#14 0x0000003b28fffaa4 in gtk_scrolled_window_size_allocate (widget=Could not
find the frame base for "gtk_scrolled_window_size_allocate".
)
    at gtkscrolledwindow.c:1372

Version-Release number of selected component (if applicable):

nautilus-2.22.2-5.fc9.x86_64

Comment 1 Bill Nottingham 2008-05-03 01:27:27 UTC
Running ltrace for the period of a minute or so yields the following counts:

     23 eel_canvas_set_scroll_region
     23 g_array_free
     23 g_array_new
     23 g_list_free
     23 g_list_reverse
     23 g_list_sort_with_data
     23 g_type_check_class_cast
     24 g_list_last
     24 gtk_layout_get_hadjustment
     48 eel_canvas_c2w
     48 eel_gtk_adjustment_clamp_value
     48 gtk_layout_get_type
     48 gtk_layout_get_vadjustment
     70 gtk_widget_get_type
     93 eel_canvas_get_type
    276 g_cclosure_marshal_VOID__VOID
    345 g_direct_hash
   1518 eel_canvas_item_move
   1817 g_array_set_size
   3634 gdk_pixbuf_get_height
   3634 gdk_pixbuf_get_width
   3727 eel_canvas_item_get_bounds
   5405 strcmp
   5590 g_type_check_instance_is_a
  10673 eel_canvas_item_get_type
  11040 eel_canvas_item_i2w
  41132 g_type_check_instance_cast


Comment 2 Bug Zapper 2008-05-14 10:34:01 UTC
Changing version to '9' as part of upcoming Fedora 9 GA.
More information and reason for this action is here:
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 3 Bug Zapper 2009-06-10 00:35:21 UTC
This message is a reminder that Fedora 9 is nearing its end of life.
Approximately 30 (thirty) days from now Fedora will stop maintaining
and issuing updates for Fedora 9.  It is Fedora's policy to close all
bug reports from releases that are no longer maintained.  At that time
this bug will be closed as WONTFIX if it remains open with a Fedora 
'version' of '9'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version' 
to a later Fedora version prior to Fedora 9's end of life.

Bug Reporter: Thank you for reporting this issue and we are sorry that 
we may not be able to fix it before Fedora 9 is end of life.  If you 
would still like to see this bug fixed and are able to reproduce it 
against a later version of Fedora please change the 'version' of this 
bug to the applicable version.  If you are unable to change the version, 
please add a comment here and someone will do it for you.

Although we aim to fix as many bugs as possible during every release's 
lifetime, sometimes those efforts are overtaken by events.  Often a 
more recent Fedora release includes newer upstream software that fixes 
bugs or makes them obsolete.

The process we are following is described here: 
http://fedoraproject.org/wiki/BugZappers/HouseKeeping

Comment 4 Bill Nottingham 2009-06-10 15:28:49 UTC
Haven't seen this recently.


Note You need to log in before you can comment on or make changes to this bug.