http://bugs.winehq.com/show_bug.cgi?id=307
------- Additional Comments From marcus@jet.franken.de 2003-12-12 17:29 ------- the problem is a floating point exception in a glibc mathinline, which is caught by the program, but leave the locking framework.
gdb wine-pthread run GURU.exe Program received signal SIGFPE, Arithmetic exception. [Switching to Thread 16384 (LWP 3890)] 0x40e883e5 in X11DRV_XRender_ExtTextOut (physDev=0x42647800, x=17, y=2147483642, flags=4, lprect=0x406ce750, wstr=0x40808160, count=3, lpDx=0x0) at xrender.c:1118 1118 y -= tm.tmDescent * cosEsc; (gdb) bt #0 0x40e883e5 in X11DRV_XRender_ExtTextOut (physDev=0x42647800, x=17, y=2147483642, flags=4, lprect=0x406ce750, wstr=0x40808160, count=3, lpDx=0x0) at xrender.c:1118 #1 0x40e74908 in X11DRV_ExtTextOut (physDev=0x42647800, x=17, y=2147483642, flags=4, lprect=0x406ce750, wstr=0x40808160, count=3, lpDx=0x0) at text.c:64 (gdb) x /15i $eip-23 0x40e883ce <X11DRV_XRender_ExtTextOut+1214>: faddp %st,%st(1) 0x40e883d0 <X11DRV_XRender_ExtTextOut+1216>: mov %ax,0xfffffdf0(%ebp) 0x40e883d7 <X11DRV_XRender_ExtTextOut+1223>: fildl 0xc(%ebp) 0x40e883da <X11DRV_XRender_ExtTextOut+1226>: faddp %st,%st(2) 0x40e883dc <X11DRV_XRender_ExtTextOut+1228>: fldcw 0xfffffdf0(%ebp) 0x40e883e2 <X11DRV_XRender_ExtTextOut+1234>: fistpl 0x10(%ebp) 0x40e883e5 <X11DRV_XRender_ExtTextOut+1237>: fldcw 0xfffffdf2(%ebp) 0x40e883eb <X11DRV_XRender_ExtTextOut+1243>: fldcw 0xfffffdf0(%ebp) 0x40e883f1 <X11DRV_XRender_ExtTextOut+1249>: fistpl 0xc(%ebp)
this is somewhere in INTERNAL_XWSTODS().