Problem report: SHRINKER.ERR, fix to DEVICE_Open/CreateFileA?
Robert Baruch
autophile at starband.net
Fri Dec 7 22:33:58 CST 2001
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
More information about the wine-users
mailing list