GNOME Bugzilla – Bug 321249
GIMP Win32: Floating-point division by zero when opening a file
Last modified: 2008-01-15 13:02:24 UTC
Steps to reproduce: 1. Start GIMP --> Open File 2. Start Windowse application, click on Graphics tab. (it's doing a screen capture). Windowse can be found here: http://www.greatis.com/delphicb/windowse/ 3. Select any file and click the Open button at the bottom. 4. GIMP crashes with divide by zero error. Shutdown of Windowse does not resolve problem. Shutdown of Windowse and restart of GIMP resolves problem. Stack trace: The GIMP: gimp-2.2.exe - Application Error ------------------------------------------ The exception Floating-point division by zero. (0xc000008e) occurred in the application at location 0x6e9d3d54. Other information: My system is... OS: Windows 2000 Professional w/ Service Pack 4 Video: Intel 82845GL card with Intel drivers v6.14.10.4342 Resolution: 1280x1024x32 60Hz
The WinDowse developers might have some information about what their app does to a system, you should point them to this report.
Some reasons, which may call this situation, are 1) Setting of mouse hook 2) Reference to device context (DC) of screen Try to replicate this situation, when WinDowse is run, but not active (Stop button in WinDowse) <-- This does NOT help the situation. --MSF Best regards, Ilya Demin Greatis Software http://www.greatis.com/
This bug report is pretty much useless since it doesn't give us a chance to reproduce the problem. Since this is most likely a problem in the Win32 backend of GTK+, you should try to provide a simple test case that allows the GTK+ developers to look at the problem. So far I cannot even figure out the version of GTK+ that you are using, so I am setting this report to NEEDINFO asking you to provide more information.
I'm running GTK+ 2.6.9. My steps to reproduce the problem are in the original report above. The only clarification I could add would be in #3: I open a file with GIMP, not Windowse.
Perhaps you could try GTK+ 2.8 then. We cannot reassign bug reports to GTK+ if the problem hasn't been verified to occur with the latest stable releases.
Mike, please try what Sven suggested in comment #5.
When I tried to get the GTK+ 2.8, I couldn't find a windows installer (I found it at http://www.gimp.org/~tml/gimp/win32/downloads.html). I extracted the lastest version from .zip at ftp://ftp.gtk.org/pub/gtk/v2.8/win32/ but GIMP will not even start up because it says there are missing files.
http://gimp-win.sourceforge.net/stable.html
(In reply to comment #8) > http://gimp-win.sourceforge.net/stable.html > I reinstalled those newest versions of GTK+ (for windows 2000) and GIMP, but it still crashes with the same message.
I'm still unsure about this windowse application - note that the mail in comment #2 didn't make any assumptions about the location of a possible problem, so this might as well be a problem in windowse as it might be in GTK+. But as this happens in GTK+ 2.8.9, we should eventually reassign the report to GTK+.
We are pretty much stuck with this bug report. I don't think we can reassign it. I'll mark it as NEEDINFO now until the bug reporter adds more information.
Problem seems to be in GDK (see stack trace below). I guess it is because of invalid usage of Windows GDI. *** disasm: 66E94322 push dword ptr [ebp+10h] 66E94325 call 66E942CC 66E9432A fld qword ptr ds:[66E91158h] 66E94330 fld qword ptr [ebp-38h] 66E94333 mov eax,dword ptr [ebp+14h] 66E94336 fadd qword ptr [ebp-50h] 66E94339 fadd qword ptr [ebp-68h] 66E9433C fdivr qword ptr [eax] 66E9433E fmul st,st(1) *** floating point registers: ST0 +0.0000000000000000e+0000 ST1 +6.5536000000000000e+0004 *** stack trace: icm32.dll!66e9433e() [Frames below may be incorrect and/or missing, no symbols loaded for icm32.dll] icm32.dll!66e928d4() icm32.dll!66e938d6() icm32.dll!66e94b30() ntdll.dll!7c91056d() msvcrt.dll!77c2c2de() icm32.dll!66e915ef() mscms.dll!73b35c55() mscms.dll!73b3608e() gdi32.dll!77f3ff82() gdi32.dll!77f36c91() gdi32.dll!77f34814() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() ntdll.dll!7c9106eb() msvcrt.dll!77c2c3c9() msvcrt.dll!77c2c3ce() ntdll.dll!7c91056d() msvcrt.dll!77c2c2de() msvcrt.dll!77c2c2e3() libglib-2.0-0.dll!0088de77() msvcrt.dll!77c2c2e3() libglib-2.0-0.dll!0088df8f() > libgdk-win32-2.0-0.dll!00d03572() libgdk-win32-2.0-0.dll!00d117c1() libgdk-win32-2.0-0.dll!00d0d25a() libgdk-win32-2.0-0.dll!00d0d3c5() libgdk-win32-2.0-0.dll!00d0d6bc() user32.dll!77d48bd9() user32.dll!77d4bd1f() user32.dll!77d48ffc() libgdk-win32-2.0-0.dll!00d0d74d() libgdk-win32-2.0-0.dll!00d32bf9() libgtk-win32-2.0-0.dll!00fb5fd9() libgdk-win32-2.0-0.dll!00d329bb() libgtk-win32-2.0-0.dll!00fb7c30() libgobject-2.0-0.dll!009f8a5d() libgobject-2.0-0.dll!00a02d22() libgobject-2.0-0.dll!00a02d22() libgobject-2.0-0.dll!009f82eb() libgobject-2.0-0.dll!009e3d44() libgobject-2.0-0.dll!009e3acd() libgobject-2.0-0.dll!009f80a0() libgthread-2.0-0.dll!0118128b() libgobject-2.0-0.dll!009f66fa() libgobject-2.0-0.dll!00a011d9() libgobject-2.0-0.dll!009e9975() libgobject-2.0-0.dll!009eb711() libglib-2.0-0.dll!0087c35b() libgthread-2.0-0.dll!0118128b() libgobject-2.0-0.dll!009ebc05() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!009e9323() libgobject-2.0-0.dll!00a02e7a() libgobject-2.0-0.dll!009e9975() libgobject-2.0-0.dll!00a02c29() libgobject-2.0-0.dll!009f5e6c() libgthread-2.0-0.dll!0118128b() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!00a034cb() libgobject-2.0-0.dll!00a02e7a() libgobject-2.0-0.dll!009f5c72() libgthread-2.0-0.dll!0118128b() libglib-2.0-0.dll!00876e54() libgobject-2.0-0.dll!009e5147() libgobject-2.0-0.dll!009e9490() user32.dll!77d485a4() user32.dll!77d4bde2() user32.dll!77d484fc() user32.dll!77d485a4() user32.dll!77d4c1a2() libgdk-win32-2.0-0.dll!00d31da7() libgdk-win32-2.0-0.dll!00d2acfc() libgdk-win32-2.0-0.dll!00d05115() user32.dll!77d484fc() user32.dll!77d485a4() user32.dll!77d4c1a2() libgdk-win32-2.0-0.dll!00d31da7() libgdk-win32-2.0-0.dll!00d2acfc() libgthread-2.0-0.dll!0118128b() libglib-2.0-0.dll!0087691f() libgobject-2.0-0.dll!009e9490() libgtk-win32-2.0-0.dll!00fa9a9d() libgobject-2.0-0.dll!009f5eb4() libgtk-win32-2.0-0.dll!00fa8f7b() libgtk-win32-2.0-0.dll!00fb7504() ntdll.dll!7c910732() libgtk-win32-2.0-0.dll!00fb6bba() libgobject-2.0-0.dll!009f82eb() libgobject-2.0-0.dll!009e3d44() libgobject-2.0-0.dll!009e3acd() libgobject-2.0-0.dll!009f80a0() libglib-2.0-0.dll!0087c32e() libgobject-2.0-0.dll!009f66fa() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() libgthread-2.0-0.dll!0118128b() libglib-2.0-0.dll!0087cd6d() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c911596() ntdll.dll!7c9106eb() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c917e77() libgthread-2.0-0.dll!0118128b() libgobject-2.0-0.dll!009f58a9() ntdll.dll!7c9106eb() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!00a034cb() libgobject-2.0-0.dll!00a02e7a() libgobject-2.0-0.dll!009f5c72() ntdll.dll!7c910732() ntdll.dll!7c911596() ntdll.dll!7c9106eb() ntdll.dll!7c9105c8() libglib-2.0-0.dll!0087c35b() ntdll.dll!7c917bb0() msvcrt.dll!77c2c756() msvcrt.dll!77c2c774() libglib-2.0-0.dll!0087c497() libglib-2.0-0.dll!0087c32e() libgobject-2.0-0.dll!009ef5a7() libgobject-2.0-0.dll!009e9323() libgobject-2.0-0.dll!009e27af() libgobject-2.0-0.dll!009eeedc() libgobject-2.0-0.dll!009f5eb4() libgtk-win32-2.0-0.dll!00fa870e() libgtk-win32-2.0-0.dll!00fb9ff4() gimp-2.3.exe!0041f1d9() gimp-2.3.exe!0041e64f() libgobject-2.0-0.dll!009f82eb() libgobject-2.0-0.dll!009e3acd() libgobject-2.0-0.dll!009f80a0() libgobject-2.0-0.dll!009eee78() libgobject-2.0-0.dll!009f6ddf() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() libgobject-2.0-0.dll!009f58a9() ntdll.dll!7c9105c8() ntdll.dll!7c910732() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9106eb() ntdll.dll!7c910732() ntdll.dll!7c9106eb() ntdll.dll!7c91056d() ntdll.dll!7c917cb7() ntdll.dll!7c917bf5() ntdll.dll!7c917bb0() ntdll.dll!7c9106eb() ntdll.dll!7c910732() ntdll.dll!7c910732() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!00a034cb() libgobject-2.0-0.dll!00a02e7a() libgobject-2.0-0.dll!009f5c72() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() ntdll.dll!7c91056d() msvcrt.dll!77c2c2e3() libglib-2.0-0.dll!0088df8f() libgdk-win32-2.0-0.dll!00d03eee() ntdll.dll!7c91056d() msvcrt.dll!77c2c2de() ntdll.dll!7c91056d() msvcrt.dll!77c2c2de() msvcrt.dll!77c2c2e3() msvcrt.dll!77c2c2e3() libglib-2.0-0.dll!0088df8f() gdi32.dll!77f160bb() gdi32.dll!77f176e4() libgdk-win32-2.0-0.dll!00d180a5() libgthread-2.0-0.dll!01181a63() libgobject-2.0-0.dll!009f5eb4() libgobject-2.0-0.dll!009f5eb4() libgtk-win32-2.0-0.dll!00deb8e2() libgtk-win32-2.0-0.dll!00deb970() libgobject-2.0-0.dll!009f82eb() user32.dll!77d4b51c() libgobject-2.0-0.dll!009e3acd() libgobject-2.0-0.dll!009f80a0() libgdk-win32-2.0-0.dll!00d1ad6e() libgobject-2.0-0.dll!009eee78() user32.dll!77d48bd9() libgobject-2.0-0.dll!009f6ddf() user32.dll!77d4d559() libgdk-win32-2.0-0.dll!00d14cbe() libgdk-win32-2.0-0.dll!00d14d4a() libgobject-2.0-0.dll!009e9975() user32.dll!77d48734() user32.dll!77d48bd9() user32.dll!77d4885a() user32.dll!77d4882a() ntdll.dll!7c91056d() user32.dll!77d4882a() user32.dll!77d4b4c0() user32.dll!77d4b4cb() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!00a034cb() libgobject-2.0-0.dll!00a02e7a() libgobject-2.0-0.dll!009f5c72() user32.dll!77d48bd9() user32.dll!77d4d5ac() user32.dll!77d4d559() user32.dll!77d4eaad() libgdk-win32-2.0-0.dll!00d14d4a() libgdk-win32-2.0-0.dll!00d14c47() user32.dll!77d48bd9() user32.dll!77d4885a() user32.dll!77d4882a() user32.dll!77d4eaf2() user32.dll!77d4882a() user32.dll!77d4b4c0() user32.dll!77d4b4cb() user32.dll!77d4eaad() user32.dll!77d4b4cb() user32.dll!77d4b50c() user32.dll!77d4b51c() ntdll.dll!7c90eae3() user32.dll!77d494d2() user32.dll!77d4b530() user32.dll!77d489ea() libgobject-2.0-0.dll!009f5eb4() libgtk-win32-2.0-0.dll!00fab092() libgtk-win32-2.0-0.dll!00ecdf39() libgtk-win32-2.0-0.dll!00ecd283() libgtk-win32-2.0-0.dll!00ec5832() libgtk-win32-2.0-0.dll!00ebdb51() libgobject-2.0-0.dll!00a02d22() libgobject-2.0-0.dll!009e3d44() libgobject-2.0-0.dll!009e3acd() libgobject-2.0-0.dll!009f80a0() libgobject-2.0-0.dll!00a02c1d() libgobject-2.0-0.dll!009f73a3() libgdk-win32-2.0-0.dll!00cf581e() libgobject-2.0-0.dll!009e9323() libgdk-win32-2.0-0.dll!00d1603a() libgdk-win32-2.0-0.dll!00d1ad6e() libgdk-win32-2.0-0.dll!00d116a4() ntdll.dll!7c910732() ntdll.dll!7c9106ab() gdi32.dll!77f1df30() gdi32.dll!77f1df30() gdi32.dll!77f1ded2() gdi32.dll!77f1df04() ntdll.dll!7c9105c8() ntdll.dll!7c910551() ntdll.dll!7c91056d() libgobject-2.0-0.dll!009e9ab2() ntdll.dll!7c910732() ntdll.dll!7c9106ab() ntdll.dll!7c9105c8() libgobject-2.0-0.dll!009e9ab2() libgobject-2.0-0.dll!00a034cb() libgobject-2.0-0.dll!009f5cd2() user32.dll!77d48df1() user32.dll!77d4eaad() user32.dll!77d61699() user32.dll!77d616a9() ntdll.dll!7c90eae3() libgdk-win32-2.0-0.dll!00d14c47() MSCTF.dll!74730455() user32.dll!77d4eb3e() MSCTF.dll!74730e6c() libgdk-win32-2.0-0.dll!00d14d4a() MSCTF.dll!74730e71() user32.dll!77d48734() user32.dll!77d48bd9() user32.dll!77d4885a() user32.dll!77d4882a() libgdk-win32-2.0-0.dll!00cf8b00() libgobject-2.0-0.dll!009f5eb4() libgtk-win32-2.0-0.dll!00faafb5() libgtk-win32-2.0-0.dll!00faac2f() libgtk-win32-2.0-0.dll!00ebc40d() libgtk-win32-2.0-0.dll!00faf1e7() libgtk-win32-2.0-0.dll!00ebb3d3() libglib-2.0-0.dll!0088611c() libgdk-win32-2.0-0.dll!00cf58b4() libgdk-win32-2.0-0.dll!00d1af49() libgthread-2.0-0.dll!0118128b() libglib-2.0-0.dll!00888b87() libgthread-2.0-0.dll!0118128b() libglib-2.0-0.dll!00889680() libglib-2.0-0.dll!00889927() libglib-2.0-0.dll!00889dca() gimp-2.3.exe!004017fe() ntdll.dll!7c91056d() msvcrt.dll!77c2c3ce() gimp-2.3.exe!00401b16() msvcrt.dll!77c2c2e3() msvcrt.dll!77c3b814() msvcrt.dll!77c3aead() gimp-2.3.exe!004011e7() gimp-2.3.exe!00401258() kernel32.dll!7c816fd7()
This could also be something like bug #316645.
(In reply to comment #11) > We are pretty much stuck with this bug report. I don't think we can reassign > it. I'll mark it as NEEDINFO now until the bug reporter adds more information. > I don't understand what more information you need from me. Can you explain what info you need?
Ugh, with the mass of information here, I just finally noticed the crucial "icm32.dll" in comment #13. That file seems to be a common victim of "DLL Hell" problems. If you are still paying attention to this, and can try the suggestions in comment #3 of bug #304326, please do so.
(In reply to comment #15) > Ugh, with the mass of information here, I just finally noticed the crucial > "icm32.dll" in comment #13. That file seems to be a common victim of "DLL > Hell" problems. If you are still paying attention to this, and can try the > suggestions in comment #3 of bug #304326, please do so. > I tried two things. First, I downgraded my version of ICM32.dll to 4.0.0.408. That allowed GIMP to work with Windowse, but several of the (auto-loading) plug-ins for GIMP died upon startup. I could get you a list if it would help. Then I tried downloading Microsoft Security Bulletin MS05-036, which upgrades my ICM32.dll to the latest version for Windows 2000. (I originally had the 5.0.0.0 version.) That didn't help either. GIMP crashes with divide by zero as soon as I click Open on the File menu in GIMP. My conclusion is that there must have been some API changes between the ICM32.dll 4.0.0.408 and 5.0.0.3. Who's code is buggy? Well, it's probably Microsoft's. :) But that doesn't help me.
There is a rather long bug report in the gtk+ product that describes in detail what Borland did wrong. Try searching in GTK+ bugs (include fixed ones) for icm32.dll. If you forward the information found there to the windowse developers, they'll know how to fix the problem. IIRC newer releases of the Borland runtimes don't have the bug anymore, so an update of Windowse might even fix the problem already.
(In reply to comment #17) > There is a rather long bug report in the gtk+ product that describes in detail > what Borland did wrong. Try searching in GTK+ bugs (include fixed ones) for > icm32.dll. If you forward the information found there to the windowse > developers, they'll know how to fix the problem. IIRC newer releases of the > Borland runtimes don't have the bug anymore, so an update of Windowse might > even fix the problem already. > That may take a while. They haven't updated the software in 3 years. After playing around a bit with it again, Windowse doesn't even load icm32.dll directly. I conjecture that the program must do something weird with the system, which is why the .dll have to be unloaded (i.e., both programs closed) before GIMP will work again. In any event, it seems obvious to me the problem is Windowse and not necessarily GTK+. I'm going to mark this bug as NOTGNOME. Thanks for the ideas.
Greatis Software Tech support is working on this issue. Issue #381645 if anyone is interested.