! Please note that this is a snapshot of our old Bugzilla server, which is read only since May 29, 2020. Please go to gitlab.xfce.org for our new server !
Thunar side pane tree view: hangs when accessibility turned on
Status:
RESOLVED: INVALID

Comments

Description Samuel B. Quiring 2008-12-08 16:30:05 CET
User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.0.4) Gecko/2008102920 Firefox/3.0.4
Build Identifier: 0.9.0

I've been using Thunar (0.9.0) on Ubuntu (8.04)  without problems for 
a few weeks.  I've aways been using the Shortcuts side pane.  Today I 
discovered the Tree side pane and began using that.  Within minutes it 
froze, after I covered part of the Thunar window with my terminal 
window and then tried to uncover it -- the covered part of the window 
never refreshed.  I had to "force kill" that Thunar.  Repeated attempts
have yielded similar freezes.  Twice my entire Gnome desktop froze
and I had to reboot.

I googled the internet and have seen others with the same issue 
(http://ubuntuforums.org/archive/index.php/t-368871.html).  I know you folks
are putting out a new release soon.   I hope this issue is addressed.  In
the meantime, I'll stop using the Tree side pane.

Here's a stack dump after Thunar is frozen:

... lots and lots of threads
[New Thread 0xb42efb90 (LWP 25024)]
[Thread 0xb42efb90 (LWP 25024) exited]
[New Thread 0xb42efb90 (LWP 25025)]
[Thread 0xb42efb90 (LWP 25025) exited]
[New Thread 0xb42efb90 (LWP 25028)]
[Thread 0xb42efb90 (LWP 25028) exited]

Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb725e9a0 (LWP 24904)] 0xb7810b6d in g_type_interface_peek () from /usr/lib/libgobject-2.0.so.0
(gdb) bt
#0  0xb7810b6d in g_type_interface_peek () from /usr/lib/libgobject-2.0.so.0
#1  0xb7d16527 in gtk_tree_model_iter_has_child ()
   from /usr/lib/libgtk-x11-2.0.so.0
#2  0xb70fab0a in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#3  0xb70fab2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#4  0xb70fab2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#5  0xb70fab2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#6  0xb70fab2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#7  0xb70fabac in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#8  0xb70fba1a in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#9  0xb70ff772 in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#10 0xb7a495b0 in atk_object_ref_accessible_child ()
   from /usr/lib/libatk-1.0.so.0
#11 0xb7139e3c in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#12 0xb780ad82 in ?? () from /usr/lib/libgobject-2.0.so.0
#13 0xb780cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#14 0xb780cee0 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#15 0xb70fd4f1 in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#16 0xb7c34d61 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#17 0xb77f6759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#18 0xb780b329 in ?? () from /usr/lib/libgobject-2.0.so.0
#19 0xb780cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 #20 0xb780cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit---
#21 0xb7d15b09 in gtk_tree_model_row_inserted ()
   from /usr/lib/libgtk-x11-2.0.so.0
#22 0xb7d1a9f2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#23 0xb7c34d61 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#24 0xb77f6759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#25 0xb780af8b in ?? () from /usr/lib/libgobject-2.0.so.0
#26 0xb780cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#27 0xb780cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#28 0xb7d15b09 in gtk_tree_model_row_inserted ()
   from /usr/lib/libgtk-x11-2.0.so.0
#29 0x08099889 in ?? ()
#30 0xb78030ba in g_cclosure_marshal_VOID__POINTER ()
   from /usr/lib/libgobject-2.0.so.0
#31 0xb77f6759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#32 0xb780af8b in ?? () from /usr/lib/libgobject-2.0.so.0
#33 0xb780cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#34 0xb780cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#35 0x0806f5f3 in ?? ()
#36 0xb7803aff in g_cclosure_marshal_VOID__VOID ()
   from /usr/lib/libgobject-2.0.so.0
#37 0xb77f6759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#38 0xb780af8b in ?? () from /usr/lib/libgobject-2.0.so.0
#39 0xb780cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0 ---Type <return> to continue, or q <return> to quit--- #40 0xb780cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#41 0xb7ed1923 in ?? () from /usr/lib/libthunar-vfs-1.so.2
#42 0xb7772dd6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#43 0xb7776193 in ?? () from /usr/lib/libglib-2.0.so.0
#44 0xb7776577 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#45 0xb7c31264 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#46 0x0805eeb7 in ?? ()
#47 0xb7602450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#48 0x0805d161 in ?? ()
(gdb) 


Reproducible: Always

Steps to Reproduce:
1. On my Ubuntu, I have turned on accessibility: System -> Preferences -> Assistive Technologies... click "Enable assistive technologies".
2. Bring up a terminal or two
3. Bring up Thunar
4. In Thunar: view -> sidepane -> Tree
Excecute the following steps until Thunar's window does not refresh:
5. expand a branch in the tree or collapse a branch in the tree
6. cover part of the file/folders window with an xterm
Actual Results:  
When I execute step 5 the 2nd or 3rd or 4th ... time, I first click on the Thunar window to bring it to the front.  You know you've hit the bug when the window comes to the front, but the part that was covered does not refresh -- it stays blank.

Expected Results:  
The Thunar window should always refresh.
Comment 1 Nick Schermer editbugs 2008-12-08 18:17:26 CET
Do you expand folders in the tree with a lot of activity? For example /proc or /dev? What does the cpu usage do?
Comment 2 Samuel B. Quiring 2008-12-08 18:36:22 CET
No.  I expand "user" and then for each iteration (steps 5 and 6 in my steps to reproduce) I either expand or collapse a subfolder under "user".  Neither folders contain very many entries.

In response to your question I used a terminal window running "top" as the window to cover/uncover Thunar.  Top showed Thunar itself grabbing 80-90% of the CPU for about 6-9 seconds just before hanging.  If I do not cover the Thunar window, then each expand or collapse uses about 3% of the cpu, tops.

Note: If I do not cover the Thunar window it behaves fine.
Comment 3 Nick Schermer editbugs 2008-12-09 11:40:00 CET
And when assistive technologies is disabled?
Comment 4 Samuel B. Quiring 2008-12-09 15:38:10 CET
Good question.  I wish I had thought of it.  It still hangs.  So my statement that it is accessibility related may be wrong.

I reran the gdb session a few times.  As before, Thunar works correctly until I cover the tree view with another app (terminal running gdb in this case).  One of the back traces, immediately below, looks like it still has accessibility stuff running.  Maybe I have to reboot Ubuntu before my settings take effect.  I can't do that right now.  Here is that back trace, there's another one below.

Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb72be9a0 (LWP 8421)]
0xb7f5c410 in __kernel_vsyscall ()
(gdb) tb
Breakpoint 1 at 0xb7f5c410
(gdb) bt
#0  0xb7f5c410 in __kernel_vsyscall ()
#1  0xb7f1099b in read () from /lib/tls/i686/cmov/libpthread.so.0
#2  0xb703a25c in link_connection_read () from /usr/lib/libORBit-2.so.0
#3  0xb701c908 in giop_connection_handle_input () from /usr/lib/libORBit-2.so.0
#4  0xb703aebd in ?? () from /usr/lib/libORBit-2.so.0
#5  0xb703d596 in ?? () from /usr/lib/libORBit-2.so.0
#6  0xb77d2dd6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#7  0xb77d6193 in ?? () from /usr/lib/libglib-2.0.so.0
#8  0xb77d674e in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#9  0xb7038d07 in link_main_iteration () from /usr/lib/libORBit-2.so.0
#10 0xb701c29e in giop_recv_buffer_get () from /usr/lib/libORBit-2.so.0
#11 0xb7020e88 in ORBit_small_invoke_stub () from /usr/lib/libORBit-2.so.0
#12 0xb7021095 in ORBit_small_invoke_stub_n () from /usr/lib/libORBit-2.so.0
#13 0xb702d812 in ORBit_c_stub_invoke () from /usr/lib/libORBit-2.so.0
#14 0xb70e0924 in Accessibility_EventListener_notifyEvent ()
   from /usr/lib/libspi.so.0
#15 0xb7199234 in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#16 0xb7199ca1 in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#17 0xb786ad82 in ?? () from /usr/lib/libgobject-2.0.so.0
#18 0xb786cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#19 0xb786cee0 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#20 0xb715d47b in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#21 0xb7c94d61 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#22 0xb7856759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#23 0xb786b329 in ?? () from /usr/lib/libgobject-2.0.so.0
#24 0xb786cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#25 0xb786cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#26 0xb7d75b09 in gtk_tree_model_row_inserted ()
   from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb7d7a9f2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#28 0xb7c94d61 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#29 0xb7856759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#30 0xb786af8b in ?? () from /usr/lib/libgobject-2.0.so.0
#31 0xb786cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#32 0xb786cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#33 0xb7d75b09 in gtk_tree_model_row_inserted ()
   from /usr/lib/libgtk-x11-2.0.so.0
#34 0x08099889 in ?? ()
#35 0xb78630ba in g_cclosure_marshal_VOID__POINTER ()
   from /usr/lib/libgobject-2.0.so.0
#36 0xb7856759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#37 0xb786af8b in ?? () from /usr/lib/libgobject-2.0.so.0
#38 0xb786cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#39 0xb786cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#40 0x0806f5f3 in ?? ()
#41 0xb7863aff in g_cclosure_marshal_VOID__VOID ()
---Type <return> to continue, or q <return> to quit--- 
   from /usr/lib/libgobject-2.0.so.0
#42 0xb7856759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#43 0xb786af8b in ?? () from /usr/lib/libgobject-2.0.so.0
#44 0xb786cc1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#45 0xb786cf69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#46 0xb7f31923 in ?? () from /usr/lib/libthunar-vfs-1.so.2
#47 0xb77d2dd6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#48 0xb77d6193 in ?? () from /usr/lib/libglib-2.0.so.0
#49 0xb77d6577 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#50 0xb7c91264 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#51 0x0805eeb7 in ?? ()
#52 0xb7662450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#53 0x0805d161 in ?? ()



 Here's another back trace:

Program received signal SIGINT, Interrupt.
[Switching to Thread 0xb72949a0 (LWP 8180)]
0xb7ee1571 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
(gdb) bt
#0  0xb7ee1571 in pthread_mutex_lock () from /lib/tls/i686/cmov/libpthread.so.0
#1  0xb77d0749 in g_static_rw_lock_reader_lock ()
   from /usr/lib/libglib-2.0.so.0
#2  0xb7846ab7 in g_type_interface_peek () from /usr/lib/libgobject-2.0.so.0
#3  0xb7d4c527 in gtk_tree_model_iter_has_child ()
   from /usr/lib/libgtk-x11-2.0.so.0
#4  0xb7130b0a in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#5  0xb7130b2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#6  0xb7130b2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#7  0xb7130b2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#8  0xb7130b2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#9  0xb7130b2f in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#10 0xb7130bac in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#11 0xb7131a1a in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#12 0xb7135772 in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#13 0xb7a7f5b0 in atk_object_ref_accessible_child ()
   from /usr/lib/libatk-1.0.so.0
#14 0xb716fe3c in ?? () from /usr/lib/gtk-2.0/modules/libatk-bridge.so
#15 0xb7840d82 in ?? () from /usr/lib/libgobject-2.0.so.0
#16 0xb7842c1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#17 0xb7842ee0 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#18 0xb71334f1 in ?? () from /usr/lib/gtk-2.0/modules/libgail.so
#19 0xb7c6ad61 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
---Type <return> to continue, or q <return> to quit---
#20 0xb782c759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#21 0xb7841329 in ?? () from /usr/lib/libgobject-2.0.so.0
#22 0xb7842c1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#23 0xb7842f69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#24 0xb7d4bb09 in gtk_tree_model_row_inserted ()
   from /usr/lib/libgtk-x11-2.0.so.0
#25 0xb7d509f2 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#26 0xb7c6ad61 in ?? () from /usr/lib/libgtk-x11-2.0.so.0
#27 0xb782c759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#28 0xb7840f8b in ?? () from /usr/lib/libgobject-2.0.so.0
#29 0xb7842c1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#30 0xb7842f69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#31 0xb7d4bb09 in gtk_tree_model_row_inserted ()
   from /usr/lib/libgtk-x11-2.0.so.0
#32 0x08099889 in ?? ()
#33 0xb78390ba in g_cclosure_marshal_VOID__POINTER ()
   from /usr/lib/libgobject-2.0.so.0
#34 0xb782c759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#35 0xb7840f8b in ?? () from /usr/lib/libgobject-2.0.so.0
#36 0xb7842c1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#37 0xb7842f69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#38 0x0806f5f3 in ?? ()
#39 0xb7839aff in g_cclosure_marshal_VOID__VOID ()
---Type <return> to continue, or q <return> to quit---
   from /usr/lib/libgobject-2.0.so.0
#40 0xb782c759 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#41 0xb7840f8b in ?? () from /usr/lib/libgobject-2.0.so.0
#42 0xb7842c1f in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#43 0xb7842f69 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#44 0xb7f07923 in ?? () from /usr/lib/libthunar-vfs-1.so.2
#45 0xb77a8dd6 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#46 0xb77ac193 in ?? () from /usr/lib/libglib-2.0.so.0
#47 0xb77ac577 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#48 0xb7c67264 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#49 0x0805eeb7 in ?? ()
#50 0xb7638450 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6
#51 0x0805d161 in ?? ()
(gdb)
Comment 5 Harald Judt editbugs 2015-04-17 18:38:01 CEST
Closing old bug.

Bug #4694

Reported by:
Samuel B. Quiring
Reported on: 2008-12-08
Last modified on: 2015-04-17

People

Assignee:
Jannis Pohlmann
CC List:
3 users

Version

Version:
unspecified

Attachments

Additional information