GNOME Bugzilla – Bug 313546
CMCheckColorsInGamut crash related to virtual desktop
Last modified: 2006-09-09 14:27:53 UTC
Distribution/Version: WinXP SP2 I've had a number of reports of a Float Divide By Zero crash in icm32.dll (CMCheckColorsInGamut) in gaim over the past few months, but I haven't been able to recreate it and didn't have a stack trace. I finally was able to get a stacktrace from a clueful user, so here it is: Error occured on Thursday, August 11, 2005 at 11:55:14. C:\Program Files\Gaim\gaim.exe caused a Float Divide By Zero at location 01cb433c in module C:\WINDOWS\system32\icm32.dll. Registers: eax=0022d6a0 ebx=00000176 ecx=0022d620 edx=2cd30000 esi=0022d6dc edi=00263244 eip=01cb433e esp=0022d5f0 ebp=0022d658 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=003b gs=0000 efl=00210206 Call stack: 01CB433E C:\WINDOWS\system32\icm32.dll:01CB433E CMCheckColorsInGamut 01CB4B30 C:\WINDOWS\system32\icm32.dll:01CB4B30 CMCheckColorsInGamut 01CB15EF C:\WINDOWS\system32\icm32.dll:01CB15EF CMCreateProfileW 73B35C55 C:\WINDOWS\system32\mscms.dll:73B35C55 CreateDeviceLinkProfile 73B3608E C:\WINDOWS\system32\mscms.dll:73B3608E CreateProfileFromLogColorSpaceW 77F3FB99 C:\WINDOWS\system32\GDI32.dll:77F3FB99 SetDeviceGammaRamp 77F36928 C:\WINDOWS\system32\GDI32.dll:77F36928 GetOutlineTextMetricsA 77F344B2 C:\WINDOWS\system32\GDI32.dll:77F344B2 GetOutlineTextMetricsA 00BDD25A C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00BDD25A gdk_display_get_maximal_cursor_size 00BDD3C5 C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00BDD3C5 gdk_display_get_maximal_cursor_size 00BDD6BC C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00BDD6BC gdk_display_get_maximal_cursor_size 00BDD74D C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00BDD74D gdk_display_get_maximal_cursor_size 00C02DF2 C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00C02DF2 gdk_window_set_icon_list 00EC5BA9 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EC5BA9 gtk_window_get_decorated 00EC7800 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EC7800 gtk_window_reshow_with_initial_size 00B97A4A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B97A4A g_cclosure_marshal_VOID__VOID 00B8370B C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B8370B g_cclosure_new_swap 00B834DE C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B834DE g_closure_invoke 00B95F6A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95F6A g_signal_emit_by_name 00B95434 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95434 g_signal_emit_valist 00B95676 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95676 g_signal_emit 00EB8B4B C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EB8B4B gtk_widget_realize 00EC70D4 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EC70D4 gtk_window_reshow_with_initial_size 00B97A4A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B97A4A g_cclosure_marshal_VOID__VOID 00B8370B C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B8370B g_cclosure_new_swap 00B834DE C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B834DE g_closure_invoke 00B95F6A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95F6A g_signal_emit_by_name 00B95434 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95434 g_signal_emit_valist 00B95676 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95676 g_signal_emit 00EB82DE C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EB82DE gtk_widget_show 68C1431E C:\Program Files\Gaim\gaim.dll:68C1431E gaim_conversation_new C:/cygwin/home/Kevin/gaim-1.4.0/src/conversation.c:858 68C3D22A C:\Program Files\Gaim\gaim.dll:68C3D22A gaim_gtkdialogs_im_with_user C:/cygwin/home/Kevin/gaim-1.4.0/src/gtkdialogs.c:523 68C1F352 C:\Program Files\Gaim\gaim.dll:68C1F352 gtk_blist_row_activated_cb C:/cygwin/home/Kevin/gaim-1.4.0/src/gtkblist.c:985 00DCEE99 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DCEE99 gtk_marshal_VOID__UINT_STRING 00B834DE C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B834DE g_closure_invoke 00B9662E C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B9662E g_signal_emit_by_name 00B95434 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95434 g_signal_emit_valist 00B95676 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95676 g_signal_emit 00EA093A C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EA093A gtk_tree_view_row_activated 00E9222B C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00E9222B gtk_tree_view_get_type 00DCD771 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DCD771 gtk_marshal_VOID__UINT_STRING 00B8370B C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B8370B g_cclosure_new_swap 00B834DE C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B834DE g_closure_invoke 00B96BBB C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B96BBB g_signal_emit_by_name 00B95494 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95494 g_signal_emit_valist 00B95676 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00B95676 g_signal_emit 00EBAB85 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EBAB85 gtk_widget_send_expose 00EBA7FF C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00EBA7FF gtk_widget_event 00DCC028 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DCC028 gtk_propagate_event 00DCAFBA C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DCAFBA gtk_main_do_event 00BEAEE9 C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00BEAEE9 gdk_add_client_message_filter 00A18197 C:\Program Files\Common Files\GTK\2.0\bin\libglib-2.0-0.dll:00A18197 g_main_depth 00A18C90 C:\Program Files\Common Files\GTK\2.0\bin\libglib-2.0-0.dll:00A18C90 g_main_context_dispatch 00A18F37 C:\Program Files\Common Files\GTK\2.0\bin\libglib-2.0-0.dll:00A18F37 g_main_context_dispatch 00A193DA C:\Program Files\Common Files\GTK\2.0\bin\libglib-2.0-0.dll:00A193DA g_main_loop_run 00DCA91A C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DCA91A gtk_main 68C6B834 C:\Program Files\Gaim\gaim.dll:68C6B834 gaim_main C:/cygwin/home/Kevin/gaim-1.4.0/src/main.c:962 00401B2F C:\Program Files\Gaim\gaim.exe:00401B2F WinMain C:/cygwin/home/Kevin/gaim-1.4.0/src/win_gaim.c:343 00401E4B C:\Program Files\Gaim\gaim.exe:00401E4B WinMain C:/cygwin/home/Kevin/gaim-1.4.0/src/win_gaim.c:173 0040122D C:\Program Files\Gaim\gaim.exe:0040122D 00401258 C:\Program Files\Gaim\gaim.exe:00401258 7C816D4F C:\WINDOWS\system32\kernel32.dll:7C816D4F RegisterWaitForInputIdle It seems to be somehow related to screen resolution? The reporter indicated that changing resolution from 1400x1050 to 1280x1024 made the problem go away, but it returned when he applied Windows Updates.
It has become apparent that this is related (at least in two of the cases, including the one that this crash came from) to the user using a Virtual Desktop extension for Windows. (JS Pager Virtual Desktop in this case). I wonder if this is something wrong with the virtual desktop software, or that gtk+ is making assumptions that it shouldn't be (e.g. for the below crash, the MSDN docs specify that for GetSystemPaletteEntries the DC specified should have the RASTERCAPS capacity). I'm attaching another excerpt from a different crash in caused by the same situation: C:\Program Files\Gaim\gaim.exe caused a Float Divide By Zero at location 039f3deb in module C:\WINNT\system32\icm32.dll. Registers: eax=0022cec0 ebx=00000176 ecx=0022cdf0 edx=2cd30000 esi=0022cf00 edi=0026f0c4 eip=039f3ded esp=0022cdbc ebp=0022ce28 iopl=0 nv up ei pl nz na po nc cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00010206 Call stack: 039F3DED C:\WINNT\system32\icm32.dll:039F3DED CMTranslateRGBsExt 039F4591 C:\WINNT\system32\icm32.dll:039F4591 CMTranslateRGBsExt 039F1A4B C:\WINNT\system32\icm32.dll:039F1A4B CMCreateProfileW 77F5868A C:\WINNT\system32\GDI32.dll:77F5868A GetSystemPaletteEntries 00B0D34D C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00B0D34D gdk_display_get_maximal_cursor_size 00B0D4F5 C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00B0D4F5 gdk_display_get_maximal_cursor_size 00B0D6D4 C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00B0D6D4 gdk_display_get_maximal_cursor_size 00B0D74D C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00B0D74D gdk_display_get_maximal_cursor_size 00B32BF9 C:\Program Files\Common Files\GTK\2.0\bin\libgdk-win32-2.0-0.dll:00B32BF9 gdk_window_set_icon_list 00DF5FD9 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DF5FD9 gtk_window_get_decorated 00DF7C30 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DF7C30 gtk_window_reshow_with_initial_size 00AC7A4A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC7A4A g_cclosure_marshal_VOID__VOID 00AB370B C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AB370B g_cclosure_new_swap 00AB34DE C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AB34DE g_closure_invoke 00AC5F6A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC5F6A g_signal_emit_by_name 00AC5434 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC5434 g_signal_emit_valist 00AC5676 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC5676 g_signal_emit 00DE8F7B C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DE8F7B gtk_widget_realize 00DF7504 C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DF7504 gtk_window_reshow_with_initial_size 00AC7A4A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC7A4A g_cclosure_marshal_VOID__VOID 00AB370B C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AB370B g_cclosure_new_swap 00AB34DE C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AB34DE g_closure_invoke 00AC5F6A C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC5F6A g_signal_emit_by_name 00AC5434 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC5434 g_signal_emit_valist 00AC5676 C:\Program Files\Common Files\GTK\2.0\bin\libgobject-2.0-0.dll:00AC5676 g_signal_emit 00DE870E C:\Program Files\Common Files\GTK\2.0\bin\libgtk-win32-2.0-0.dll:00DE870E gtk_widget_show
See if http://bugzilla.gnome.org/show_bug.cgi?id=316645 is relevant ...? (Applications compiled using Borland tools, particularly keyboard hooks - which a virtual desktop manager probably DOES have in order to do desktop switching - can cause instabilities)
*** This bug has been marked as a duplicate of 316645 ***