Bug 85317 - Infinite expose loops in TreeView
Summary: Infinite expose loops in TreeView
Alias: None
Product: Red Hat Linux
Classification: Retired
Component: gtk2
Version: 9
Hardware: i386
OS: Linux
Target Milestone: ---
Assignee: Owen Taylor
QA Contact:
Depends On:
TreeView+ depends on / blocked
Reported: 2003-02-27 22:05 UTC by Pawel Salek
Modified: 2007-03-27 04:01 UTC (History)
2 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Last Closed: 2003-08-28 16:31:21 UTC

Attachments (Terms of Use)
scroll fix. (504 bytes, patch)
2003-02-27 22:46 UTC, Jonathan Blandford
no flags Details | Diff

Description Pawel Salek 2003-02-27 22:05:32 UTC
Description of problem:
In certain circumstances, gtk_timeout_add() may trigger an infinite loop.

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

How reproducible:

Steps to Reproduce:
1.run balsa. Try opening a large mailbox (over imap for better effect).
2.balsa will stop responding to clicking on mailbox index.
Actual results:
balsa will very likely stop responding to clicking on mailbox index (clicking o
a message schedules an idle function that is not executed at all). Instead,
balsa will use 100% in gtk2 code.

Expected results:
It should work as with older versions of gtk2

Additional info:
What is crucial here is that I strongly _suspect_ it is not balsa problem since
it works just fine on RH8.0, and I seem to recall phoebe-2 did not have this
problem neither. But of course, I am not sure. Any hints how to debug it will be
 very appreciated. All the relevant idle functions return false.

for original report.
The stack trace is:
#1  0x40fd4a17 in _XRead () from /usr/X11R6/lib/libX11.so.6
#2  0x40fd555d in _XReply () from /usr/X11R6/lib/libX11.so.6
#3  0x40fcb37b in XQueryPointer () from /usr/X11R6/lib/libX11.so.6
#4  0x40b23779 in _gdk_windowing_window_get_pointer ()
   from /usr/lib/libgdk-x11-2.0.so.0
#5  0x40affcad in gdk_window_get_pointer () from /usr/lib/libgdk-x11-2.0.so.0
#6  0x40a15e87 in gtk_tree_view_get_type () from /usr/lib/libgtk-x11-2.0.so.0
#7  0x40951caf in _gtk_marshal_BOOLEAN__BOXED ()
   from /usr/lib/libgtk-x11-2.0.so.0
#8  0x40bd5247 in g_cclosure_new_swap () from /usr/lib/libgobject-2.0.so.0
#9  0x40bd4ed7 in g_closure_invoke () from /usr/lib/libgobject-2.0.so.0
#10 0x40be7439 in g_signal_emit_by_name () from /usr/lib/libgobject-2.0.so.0
#11 0x40be67af in g_signal_emit_valist () from /usr/lib/libgobject-2.0.so.0
#12 0x40be6be4 in g_signal_emit () from /usr/lib/libgobject-2.0.so.0
#13 0x40a3785b in gtk_widget_send_expose () from /usr/lib/libgtk-x11-2.0.so.0
#14 0x4095077c in gtk_main_do_event () from /usr/lib/libgtk-x11-2.0.so.0
#15 0x40afedc5 in gdk_window_clear_area_e () from /usr/lib/libgdk-x11-2.0.so.0
#16 0x40afee6a in gdk_window_process_all_updates ()
   from /usr/lib/libgdk-x11-2.0.so.0
#17 0x40afeed1 in gdk_window_process_all_updates ()
   from /usr/lib/libgdk-x11-2.0.so.0
#18 0x40c2a743 in g_timeout_add () from /usr/lib/libglib-2.0.so.0
#19 0x40c27b35 in g_get_current_time () from /usr/lib/libglib-2.0.so.0
#20 0x40c28b78 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#21 0x40c28e8d in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#22 0x40c2958f in g_main_loop_run () from /usr/lib/libglib-2.0.so.0
#23 0x4094ffdf in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0
#24 0x0808b14d in main (argc=1, argv=0xbffff3a4) at main.c:433

Comment 1 Owen Taylor 2003-02-27 22:24:38 UTC
As far as I can recall, nothing has changed in this area of GLib
since before 2.0.0.

But this might be a known TreeView problem with infinite expose
loops. Think so, Jonathan?

Comment 2 Jonathan Blandford 2003-02-27 22:44:59 UTC
It's possible.  I haven't committed that fix yet, but will do so shortly.  Can
you try the attachment and tell me if it helps you?

Comment 3 Jonathan Blandford 2003-02-27 22:46:12 UTC
Created attachment 90407 [details]
scroll fix.

Comment 4 Pawel Salek 2003-02-27 23:31:22 UTC
It seems the fix is right! I have some combinations of mailbox opening sequences
that always led to this problem but now, I cannot reproduce it any more.

Comment 5 Jonathan Blandford 2003-02-27 23:57:34 UTC
Cool.  I'll close this after I commit that patch.

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