Strange crash

Dmitry Timoshkov dmitry at sloboda.ru
Sun Apr 15 05:45:58 CDT 2001


Hello all.

Could anybody help to find the source of the following crash?
Do this crash look known to somebody?

...
Unhandled exception: c000008f
 in 32-bit code (0x40897fde).
In 32-bit mode.
Symbol h_errno is invalid
Symbol hack_digit is invalid
0x40897fde (X11DRV_PEN_SelectObject+0x8e [pen.c:69]): fldcw 0xfffffffe(%edx)
69 }
Wine-dbg>bt
Backtrace:
=>0 0x40897fde (X11DRV_PEN_SelectObject+0x8e(dc=0x4038bbbc, hpen=0xffe7, pen=0x40842034) [pen.c:69])
(ebp=41f35aac)
  1 0x40895a73 (X11DRV_SelectObject+0xb3(dc=0x4038bbbc, handle=0xffe7) [objects.c:62])
(ebp=41f35ad0)
  2 0x4082a789 (SelectObject+0x75(hdc=0x68, handle=0xffe7) [gdiobj.c:867]) (ebp=41f35af0)
  3 0x4081fceb (DC_InitDC+0x47(dc=0x4038bbbc) [dc.c:163]) (ebp=41f35b08)
  4 0x40820919 (CreateDCA+0x135(driver=0x4083745d, device=0x0, output=0x0, initData=0x0, s=0x0,
s=0x0, s=0x4083745d) [dc.c:579]) (ebp=41f35c50)
  5 0x40823ddc (CreateDIBitmap+0x144(hdc=0x60, header=0x4038b4ec, init=0x4, bits=0x407bc308,
data=0x4038b4ec, coloruse=0x0) [dib.c:850]) (ebp=41f35c80)
  6 0x40782069 (CURSORICON_CreateFromResource+0x2dd(hInstance=0x0, hObj=0x0, bits=0x407bc2a0,
cbSize=0x2e8, bIcon=0x1, dwVersion=0x30000, width=0x20, height=0x20, loadflags=0x8040)
[cursoricon.c:550]) (ebp=41f35d14)
  7 0x40782647 (CURSORICON_Load+0x257(hInstance=0x106, name=0x7f00, width=0x20, height=0x20,
colors=0x100, fCursor=0x0, loadflags=0x8040) [cursoricon.c:777]) (ebp=41f35d64)
  8 0x40784da7 (LoadImageW+0x12f(hinst=0x0, name=0x7f00, type=0x1, desiredx=0x20, desiredy=0x0,
loadflags=0x8040) [cursoricon.c:2268]) (ebp=41f35d98)
  9 0x40784c4e (LoadImageA+0x7e(hinst=0x0, name=0x7f00, type=0x1, desiredx=0x0, desiredy=0x0,
loadflags=0x8040) [cursoricon.c:2208]) (ebp=41f35dcc)
  10 0x407840c6 (LoadIconA+0x26(hInstance=0x0, name=0x7f00) [cursoricon.c:1792]) (ebp=41f35df0)
...

Commenting lines 36-37
    physDev->pen.width = GDI_ROUND((FLOAT)pen->logpen.lopnWidth.x *
                                   dc->xformWorld2Vport.eM11 * 0.5);
in X11DRV_PEN_SelectObject (graphics/x11drv/pen.c) cures the problem.

Why call to floor() leads to crash?






More information about the wine-devel mailing list