A quick look at running the app under --winver nt40 shows two problems. It hits the first problem and wants to display a SHRINKER.ERR dialog box saying "Dispatcher initialisation error". However, when wine tries to display that message box, it looks like the app spins -- it eats up all of the CPU -- when the app calls x11drv.LoadOEMResource. These are the last lines of the relay trace: 0806d398:Call window proc 0x40726520 (hwnd=00010023,msg=WM_GETDLGCODE,wp=00000000,lp=00000000) 0806d398:Ret window proc 0x40726520 (hwnd=00010023,msg=WM_GETDLGCODE,wp=00000000,lp=00000000) retval=00000100 0806d398:Call x11drv.CreateWindow(00010024,405047dc,00000001) ret=40752b77 0806d398:Call window proc 0x407050b0 (hwnd=00010024,msg=WM_NCCREATE,wp=00000000,lp=405047dc) 0806d398:Call x11drv.SetWindowText(00010024,4042f914 L"&OK") ret=40733366 0806d398:Ret x11drv.SetWindowText() retval=00000001 ret=40733366 0806d398:Ret window proc 0x407050b0 (hwnd=00010024,msg=WM_NCCREATE,wp=00000000,lp=405047dc) retval=00000001 0806d398:Call window proc 0x407050b0 (hwnd=00010024,msg=WM_NCCALCSIZE,wp=00000000,lp=40504488) 0806d398:Ret window proc 0x407050b0 (hwnd=00010024,msg=WM_NCCALCSIZE,wp=00000000,lp=40504488) retval=00000300 0806d398:Call window proc 0x407050b0 (hwnd=00010024,msg=WM_CREATE,wp=00000000,lp=405047dc) 0806d398:Call x11drv.LoadOEMResource(00007ff7,00000001) ret=40731272 Running with +all shows the LoadOEMResource calls results in an exception and a spin: 0806d398:trace:resource:LoadImageW (0x0000,0x7ff7,0,0,0,0x00000000) 0806d398:Call x11drv.LoadOEMResource(00007ff7,00000001) ret=40731272 0806d398:trace:heap:HeapAlloc (403b0000,00000002,0000008c): returning 4042f938 0806d398:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 0806d398: queue_exception_event( first=1, record={context={flags=00000000,eax=40503f3c,ebx=40bbe870,ecx=0805e9b8,edx=40bb4b38,esi=00000000,edi=4042f938,ebp=40501e24,eip=40bb3dfc,esp=404ffdfc,eflags=00010216,cs=0023,ds=002b,es=002b,fs=008f,gs=0000,dr0=00000000,dr1=00000000,dr2=00000000,dr3=00000000,dr6=00000000,dr7=00000000,float={00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000,00000000}},rec={code=c0000005,flags=0,rec=(nil),addr=0x40bb3dfc,params={1,404ffdf8}} ) 0806d398: queue_exception_event() = 0 { handle=0 } 0806d398:trace:seh:EXC_CallHandler calling handler at (nil) code=c0000005 flags=0 0806d398:trace:seh:EXC_RtlRaiseException code=c0000005 flags=0 0806d398: queue_exception_event( first=1, record={context={flags=405047f0,eax=40504b18,ebx=40110dc4,ecx=40504b58,edx=40504c44,esi=40504bc8,edi=4010dae6,ebp=40504b34,eip=00000000,esp=40504b04,eflags=00010216,cs=0023,ds=002b,es=002b,fs=008f,gs=0000,dr0=40504710,dr1=40070a49,dr2=00000000,dr3=00000000,dr6=0000000c,dr7=00000100,float={40104440,40504794,4039c2e0,40110dc4,403b0cf1,400ed2f4,405047ac,403b0cf1,403b0cf1,40070c36,40110dc4,403b0d12,40772580,405047c8,40110dc4,40070c67,00000002,403b0ce8,0000006f,00000045,403b08e0,40110dc4,0000002a,40772580,00000082,00000020,00000000,00000000}},rec={code=c0000005,flags=0,rec=(nil),addr=(nil),params={0,0}} ) 0806d398: queue_exception_event() = 0 { handle=0 } 0806d398:trace:seh:EXC_CallHandler calling handler at 0x40070d60 code=c0000005 flags=0 0806d398:trace:seh:EXC_CallHandler handler returned 2 (and the last two traces repeat ad infinitum) Running the app under winedbg results in an almost immediate page fault, but LoadOEMResource is not in the backtrace! However, it also shows that address 0x40bb3dfc (the reported exception eip) is in libXpm.so.4 (I'm running X 4.0.3) :( --Rob