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 566101 - cpu stuck running in gdk_event_get_graphics_expose
cpu stuck running in gdk_event_get_graphics_expose
Status: RESOLVED OBSOLETE
Product: gtk+
Classification: Platform
Component: Backend: X11
2.12.x
Other Windows
: Normal normal
: ---
Assigned To: gtk-bugs
gtk-bugs
Depends on:
Blocks:
 
 
Reported: 2008-12-31 03:06 UTC by Christopher Pearson
Modified: 2017-08-22 23:32 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Christopher Pearson 2008-12-31 03:06:35 UTC
stuck and eating all the cpu in pidgin 2.5.3(hich uses GTK 2.12.12a) under XP, which happens about daily for me, triggered by anything that effects the GUI with increased likelyhood the longer it's been running.  The unchanging part of the stack as learned from procexp is:

libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3973
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49
Comment 1 Christopher Pearson 2008-12-31 04:23:20 UTC
Some other stack traces (tough all fall below the aforementioned trace):

ntdll.dll!KiFastSystemCallRet
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3894
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageW+0xf
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x398d
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49

USER32.dll!PeekMessageW+0x117
USER32.dll!PeekMessageW+0x167
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3973
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49

ntdll.dll!KiFastSystemCallRet
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3894
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageW+0xf
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x398d
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49

libglib-2.0-0.dll!g_hash_table_lookup+0x30
libgdk-win32-2.0-0.dll!gdk_win32_handle_table_lookup+0x23
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x31f
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3894
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageW+0xf
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x398d
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49

ntdll.dll!KiUserCallbackDispatcher
USER32.dll!PeekMessageW+0x167
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3973
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49


libglib-2.0-0.dll!g_hash_table_lookup+0x23
libgdk-win32-2.0-0.dll!gdk_win32_handle_table_lookup+0x23
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x31f
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3894
USER32.dll!GetDC+0x6d
USER32.dll!GetDC+0x14f
USER32.dll!GetWindowLongW+0x127
USER32.dll!DispatchMessageW+0xf
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x398d
libgdk-win32-2.0-0.dll!gdk_event_get_graphics_expose+0x3b0d
libglib-2.0-0.dll!g_main_context_dispatch+0x197
libglib-2.0-0.dll!g_main_context_acquire+0x3db
libglib-2.0-0.dll!g_main_loop_run+0x17a
libgtk-win32-2.0-0.dll!gtk_main+0x9e
pidgin.dll!pidgin_main+0x481
pidgin.exe+0x23ec
pidgin.exe+0x2a4a
pidgin.exe+0x1247
pidgin.exe+0x12b8
kernel32.dll!RegisterWaitForInputIdle+0x49
Comment 2 Christopher Pearson 2009-01-01 08:12:45 UTC
Pidgin will still continue doing things in the same thread, though in a very delayed manner, so either Pidgin is calling GTK almost constantly, or GTK is taking a far greater amount of CPU than it should.  I'll post debug output soon.
Comment 3 Christopher Pearson 2009-01-06 01:33:23 UTC
This only happens when pidgin's notify.dll is loaded, more details here: http://developer.pidgin.im/ticket/5583

I can't say for sure if it's a GTK or pidgin problem.  I'm told that since pidgin can still create, destroy, and update the titles of new windows, and also reconnect to servers, join chatrooms, and log chats, despite the UI being unusable, that the calls to GTK must be returning, so if that's true then GTK is either just taking too long or pidgin is calling it too much.
Comment 4 Timothy Arceri 2013-10-10 09:53:19 UTC
Are you still having this issue with a recent version of GTK and pidgin?
Comment 5 Daniel Boles 2017-08-22 15:49:20 UTC
Yup, is this still an issue? Thanks in advance.
Comment 6 Timothy Arceri 2017-08-22 23:32:46 UTC
There had been no additional comments/bug reports in 4 years when first asked for this to be retested, and nothing again in the 4 years since.

I'm resolving the bug as obsolete since the software has changed a lot since the initial bug report. A new bug can be filed if this is still an issue.