GNOME Bugzilla – Bug 106311
Infinite expose loops in GtkTreeView: gtk-2.2.1
Last modified: 2004-12-22 21:47:04 UTC
Version: 2.0.7. Inbox: IMAP. Configuration: No preview pane. When a new mail arrives at the Inbox IMAP mailbox, a message corretly pops up the screen. At the main window, however, I cannot see a new message. Untill now (2.0.7), whenever a new message arrived the scroll bars moved a bit higher (i.e., were not at the lowest part of the bar, due to the new mail). Then I could scroll down, and see the line of the new message. The current phenomena are: The scroll bar remains at the bottom of the bar as if I still see the last message. When I try and scroll the bar upward, it pulls up and down. I keep moving the mouse (still pressed) upward, but the location of the bar flips between the lowest and about half the bar size up, back and forth, and does not follow the mouse curser. The only way I found to see the new message is using the arrows. One press of the Down arrow makes the scroll bars move a bit higher, as if suddenly they are aware of the new mail. The marker (blue) line that marked the last line now disappeared (as if it is indeed on the new mail, but I can't see this, as the scroll bars are in a position which shows only from the last old file). Another press on the Down arrow makes the scroll bar go to the buttom of the bar. Now I can see the new message with the marker (blue) line on it. From this point everything seems normal, until a new mail arrives.
The bug persist in 2.0.8.
I see the same problem with version 2.0.9 with a IMAP mailbox. Balsa seems to go into an infinite loop when I receive new mail until I hit the down arrow on my keyboard or switch to a different mailbox. My cpu hits 100%. When I run balsa using strace the following lines keep looping over and over after I receive mail: gettimeofday({1046377990, 373190}, NULL) = 0 poll([{fd=5, events=POLLIN}, {fd=3, events=POLLIN}, {fd=7, events=POLLIN}, {fd=9, events=POLLIN}, {fd=12, events=POLLIN}, {fd=14, events=POLLIN|POLLPRI}, {fd=15, events=POLLIN|POLLPRI}, {fd=16, events=POLLIN|POLLPRI}, {fd=17, events=POLLIN|POLLPRI}], 9, 0) = 0 gettimeofday({1046377990, 373425}, NULL) = 0 write(9, "5\30\4\0{5 \1\354\0 \1X\3u\0017\1\6\0|5 \1{5 \1\4\0\1\0"..., 2040) = 2040 write(9, "\234\6\5\0}5 \1\0\0\0\0\2\0\21\0\31\0\23\0\234\27\n\0\003"..., 2032) = 2032 writev(9, [{"F\6\5\0{5 \1\10\0 \1\0\0%\0\35\0\25\0008\27\4\0\10\0 \1"..., 2044}, {"G\0P\0\337\0\23\0", 8}], 2) = 2052 write(9, "\234\27\20\0\0035 \1U\0 \1}5 \0016\0\0\0\3\0 \1\0\0\0\0"..., 2040) = 2040 write(9, "8\27\4\0\10\0 \1\0\0\10\0\0\0\0\0\234\6\5\0}5 \1\0\0\0"..., 2044) = 2044 writev(9, [{"8\27\4\0\2215 \1\4\0\0\0\356\356\356\0F\6\5\0{5 \1\221"..., 1484}, {"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024}], 2) = 2508 write(9, "\234\10\t\0\0035 \1\2245 \1\2255 \1}5 \1\0\0\0\0\0\0\0"..., 2044) = 2044 writev(9, [{"8\10\4\0\10\0 \1\0\0\10\0\0\0\0\0\234\6\5\0}5 \1\0\0\0"..., 2048}, {"\0\0\0\0X\3u\1", 8}], 2) = 2056 writev(9, [{"F\10\5\0{5 \1\10\0 \1/\3\f\1)\0\25\00085\4\0\10\0 \1\0"..., 1312}, {"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 1024}], 2) = 2336 write(9, "\234\10\t\0\0035 \1\2365 \1\2375 \1}5 \1\0\0\0\0\0\0\0"..., 2044) = 2044 write(9, "8\10\4\0\21\0 \1\0\0\10\0\0\0\0\0\234\6\5\0}5 \1\0\0\0"..., 472) = 472 read(9, "\1\2\215\203\0\0\0\0\2\0\340\1\0\0\0\0\4\0\0\0\0\0\0\0"..., 32) = 32 ioctl(9, 0x541b, [0]) = 0
I have seen that too but only with gtk-2.2. It looks like one of idle/timeout functions keeps generating all the time update events, or something. Which gtk have you got?
Yes, I'm using gtk-2.2 from the redhat "phoebe" beta: > rpm -q gtk2 balsa gtk2-2.2.1-1 balsa-2.0.9-1
When I interrupt balsa, the stacktrace is:
+ Trace 34360
1. Somebody knows a gtk expert to explain that? 2. Ariel, which gtk do you use?
Cross-reported to redhat as http://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=85317
I work with gtk version 2.2.1. The Debian package I use is: ----------------------- lap-humor /home/arielt/readings 7> dpkg --status libgtk2.0-0 Package: libgtk2.0-0 Status: install ok installed Priority: optional Section: libs Installed-Size: 3544 Maintainer: Akira TAGOH <tagoh@debian.org> Source: gtk+2.0 Version: 2.2.1-1 Replaces: libgtk2.0-0png3 Depends: libgtk2.0-common (>= 2.2.1-1), libatk1.0-0 (>= 1.2.2), libc6 (>= 2.3.1-1), libfontconfig1 (>= 2.1), libfreetype6 (>= 2.1.3-5), libglib2.0-0 (>= 2.2.1), libjpeg62, libpango1.0-0 (>= 1.2.1), libpng12-0, libtiff3g, libxft2 (>= 2.1), xlibs (>> 4.1.0), xlibs (>> 4.2.0), zlib1g (>= 1:1.1.4) Conflicts: libgtk2.0-0png3 (<< 2.0.6-2), eog2 (<< 1.0.1-4), gnome-panel2 (<< 2.0.4-1), celestia (<< 1.2.4-4), gimp1.3 (<< 1.3.7-1.1), metatheme (<< 0.9.7-3), libgnomeui-0 (<< 2.0.6-2), gtk2.0-examples (<< 2.2.0), libgdkxft0 Description: The GTK+ graphical user interface library The GTK+ is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, the GTK+ is suitable for projects ranging from small one-off tools to complete application suites. . This package contains the shared libraries. -----------------------
FWIW, Jonathan Blandford's patch fixes that for me. Still, I reassign the report to gtk+ module so the maintainer can close it when the patch is in.
*** Bug 107496 has been marked as a duplicate of this bug. ***
*** Bug 107432 has been marked as a duplicate of this bug. ***
Committed on CVS on both gtk-2-2 and HEAD branch by jrb. I'm not sure we should close this bug or not... Jonathan ?
Looks like it was committed on Apr 17 2003. Closing.
*** Bug 116798 has been marked as a duplicate of this bug. ***