"Unhandled exception: floating point stack check" early in program?

Eric Pouech eric.pouech at wanadoo.fr
Wed Mar 29 13:44:51 CST 2006


Dan Kegel wrote:
> See the winedbg session below.
> Is it normal for winedbg to complain about
> floating point stuff when the program, run normally, doesn't?
> Using either 'cont' or 'pass' at this point just repeats the same message.
> Hints welcome.
> Thanks,
> Dan
> 
> dank at lappy:~$ ~/wine/programs/winedbg/winedbg ~/.wine/drive_c/putty/putty.exe
> WineDbg starting on pid 0x42
> start_process () at /home/dank/wine/dlls/kernel/process.c:845
> 0x7fcbd259 start_process+0xb9
> [/home/dank/wine/dlls/kernel/process.c:845] in ker nel32: subl    
> $12,%esp
> 845             ExitProcess( entry( peb ) );
> Wine-dbg>c
> First chance exception: floating point stack check in 32-bit code (0x7f7a0d90).
> Register dump:
>  CS:0073 SS:007b DS:007b ES:007b FS:1007 GS:0033
>  EIP:7f7a0d90 ESP:7fafea58 EBP:7fafea90 EFLAGS:00010246(   - 00      -RIZP1)
>  EAX:7fdc2400 EBX:7f7c00b0 ECX:00000000 EDX:7fdc2400
>  ESI:7fafeaac EDI:00000002
> Stack dump:
> 0x7fafea58:  7fafeb40 0000ffff 7fafea90 7f7c00b0
> 0x7fafea68:  0000005c 0000007c 7fafea90 7f79e0c6
> 0x7fafea78:  7f7c8f40 7fd868e8 0000005c 7f34e09c
> 0x7fafea88:  63656a62 0000007c 7fafeac0 7f31a40f
> 0x7fafea98:  000002e4 7fafeaac 00000002 7fafeb40
> 0x7fafeaa8:  7fafeb78 00000000 00000000 00000007
> 0200: sel=1007 base=7fec2000 limit=00001fff 32-bit rw-
> Backtrace:
> =>1 0x7f7a0d90 LPtoDP+0x50(hdc=0x2e4, points=0x7fafeaac, count=0x2)
> [/home/dank/wine/dlls/gdi/mapping.c:132] in gdi32 (0x7f7a0d90)
>   2 0x7f31a40f X11DRV_XWStoDS+0x3f(physDev=0x7fdc2558, width=0x7)
> [/home/dank/wine/dlls/x11drv/graphics.c:307] in winex11 (0x7f31a40f)
>   3 0x7f33e89d X11DRV_XRender_SelectFont+0x5d(physDev=0x7fdc2558,
> hfont=0x7c) [/home/dank/wine/dlls/x11drv/xrender.c:554] in winex11
> (0x7f33e89d)
>   4 0x7f3390e0 X11DRV_SelectFont+0xce0(physDev=0x7fdc2558, hfont=0x7c,
> gdiFont=0x7fdb7110) [/home/dank/wine/dlls/x11drv/xfont.c:3234] in
> winex11 (0x7f3390e0)
>   5 0x7f78c52f FONT_SelectObject+0x6f(handle=0x7c, obj=0x7fd868d8,
> hdc=0x2e4) [/home/dank/wine/dlls/gdi/font.c:587] in gdi32 (0x7f78c52f)
>   6 0x7f79fb20 SelectObject+0x70(hdc=0x2e4, hObj=0x7c)
> [/home/dank/wine/dlls/gdi/gdiobj.c:1168] in gdi32 (0x7f79fb20)
>   7 0x7f77e9f7 DC_InitDC+0x77(dc=0x7fdc2400)
> [/home/dank/wine/dlls/gdi/dc.c:204] in gdi32 (0x7f77e9f7)
>   8 0x7f7801e9 CreateDCW+0x129(driver=0x7f34146c, device=0x0,
> output=0x0, initData=0x0) [/home/dank/wine/dlls/gdi/dc.c:655] in gdi32
> (0x7f7801e9)
>   9 0x7f304f27 X11DRV_GetDCEx+0x387(hwnd=0x10020, hrgnClip=0x0,
> flags=0x3) [/home/dank/wine/dlls/x11drv/dce.c:214] in winex11
> (0x7f304f27)
>   10 0x7f86acaa GetDCEx+0x3a(hwnd=0x0, hrgnClip=0x0, flags=0x3)
> [/home/dank/wine/dlls/user/painting.c:476] in user32 (0x7f86acaa)
>   11 0x7f86ad6c GetDC+0x3c(hwnd=0x0)
> [/home/dank/wine/dlls/user/painting.c:490] in user32 (0x7f86ad6c)
>   12 0x7f82ed0a GetDialogBaseUnits+0x3a
> [/home/dank/wine/dlls/user/dialog.c:1411] in user32 (0x7f82ed0a)
>   13 0x7f830c8b DIALOG_CreateIndirect+0x2b(dlgTemplate=<register not
> in topmost frame>, dlgProc=0x4340e2, param=0x0, unicode=0x0,
> modal=0x0) [/home/dank/wine/dlls/user/dialog.c:474] in user32
> (0x7f830c8b)
>   14 0x7f83254e CreateDialogIndirectParamAorW+0x2e(hInst=0x400000,
> dlgTemplate=0x46bcc0, owner=0x0, dlgProc=0x4340e2, param=0x0,
> flags=0x2) [/home/dank/wine/dlls/user/dialog.c:697] in user32
> (0x7f83254e)
>   15 0x7f83264e CreateDialogIndirectParamA+0x2e(hInst=0x400000,
> dlgTemplate=0x46bcc0, owner=0x0, dlgProc=0x4340e2, param=0x0)
> [/home/dank/wine/dlls/user/dialog.c:706] in user32 (0x7f83264e)
>   16 0x7f8326c6 CreateDialogParamA+0x66(hInst=0x400000, name=0x6f,
> owner=0x0, dlgProc=0x4340e2, param=0x0)
> [/home/dank/wine/dlls/user/dialog.c:670] in user32 (0x7f8326c6)
>   17 0x00434801 in putty (+0x34801) (0x00434801)
>   18 0x442922a7 (0x442922a7)
that's rather strange...
even if the support for FPU is still lagging (see Petr's latest patches 
on the subject), the pass command should make it work (or at least not 
stay where the exception occured)

I'd be interested in a +seh trace with a pass command issued in the debugger
A+

-- 
Eric Pouech




More information about the wine-devel mailing list