Installing an app (Autocad 2000), which has an InstallShield installer, all goes good up to end of file copying, an then an access violation appears :
Unhandled exception: privileged instruction in 16-bit code (0417:09b7). In 16-bit mode. 0x0417:0x09b7: ldsw 0x014a,%dx
A trace with --debugmsg +relay leads to following :
080ce9a8:Call KERNEL.74: OPENFILE(04370000 "C:\WINDOWS\_INS33IS._MP",041f:1610,0200) ret=0417:0213 ds=041f 080ce9a8:Ret KERNEL.74: OPENFILE() retval=ffff ret=0417:0213 ds=041f 080ce9a8:Call KERNEL.74: OPENFILE(04270000 "C:\WINDOWS\_delis43.ini",041f:1610,0200) ret=0417:0229 ds=041f 080ce9a8:Ret KERNEL.74: OPENFILE() retval=0001 ret=0417:0229 ds=041f 080ce9a8:Call KERNEL.74: OPENFILE(042f0000 "C:\WINDOWS\_iserr31.ini",041f:1610,0200) ret=0417:023f ds=041f 080ce9a8:Ret KERNEL.74: OPENFILE() retval=ffff ret=0417:023f ds=041f 080ce9a8:Call USER.111: SENDMESSAGE(ffff,c010,0000,00000000) ret=0417:0250 ds=041f 080ce9a8:Call ntdll.RtlAllocateHeap(40240000,00000000,00000080) ret=407e0b60 080ce9a8:Ret ntdll.RtlAllocateHeap() retval=40279b28 ret=407e0b60 080ce9a8:Call kernel32._ConfirmSysLevel(40837c08) ret=407e08cd 080ce9a8:Ret kernel32._ConfirmSysLevel() retval=00000000 ret=407e08cd 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32.GlobalLock16(000003e7) ret=407d83ed 080ce9a8:Ret kernel32.GlobalLock16() retval=402952d8 ret=407d83ed 080ce9a8:Call kernel32.GlobalLock16(000003e7) ret=407d83ed 080ce9a8:Ret kernel32.GlobalLock16() retval=402952d8 ret=407d83ed 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32.HeapValidate(40c20000,00000000,40c2050a) ret=407e80ed 080ce9a8:Ret kernel32.HeapValidate() retval=00000000 ret=407e80ed 080ce9a8:Call kernel32.HeapValidate(40c20000,00000000,40c20518) ret=407e8108 080ce9a8:Ret kernel32.HeapValidate() retval=00000001 ret=407e8108 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32._ConfirmSysLevel(40837c08) ret=407e08cd 080ce9a8:Ret kernel32._ConfirmSysLevel() retval=00000000 ret=407e08cd 080ce9a8:Call kernel32.wine_call_to_16_regs_short(412d26b0,0000000a) ret=407e7f97 080ce9a8:CallTo16(func=0417:0258,ds=041f,002a,c010,0000,0000,0000) ss:sp=041f:15d6 ax=041e bx=0000 cx=0000 dx=0000 si=0000 di=0000 bp=1600 es=041f fs=0000 080ce9a8:Call USER.107: DEFWINDOWPROC(002a,c010,0000,00000000) ret=0417:03d0 ds=041e 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Call kernel32._EnterSysLevel(40837c08) ret=407df5ef 080ce9a8:Ret kernel32._EnterSysLevel() retval=400dbb90 ret=407df5ef 080ce9a8:Call kernel32._LeaveSysLevel(40837c08) ret=407df60f 080ce9a8:Ret kernel32._LeaveSysLevel() retval=00000000 ret=407df60f 080ce9a8:Ret USER.107: DEFWINDOWPROC() retval=00000000 ret=0417:03d0 ds=041e 080ce9a8:RetFrom16() ss:sp=041f:15d6 ax=0000 bx=0000 cx=0000 dx=0000 bp=1600 sp=15d6 080ce9a8:Ret kernel32.wine_call_to_16_regs_short() retval=412d26b0 ret=407e7f97 080ce9a8:Call kernel32.GlobalLock16(000003e7) ret=407d83ed 080ce9a8:Ret kernel32.GlobalLock16() retval=402952d8 ret=407d83ed 080ce9a8:Call ntdll.RtlFreeHeap(40240000,00000000,40279b28) ret=407e515a 080ce9a8:Ret ntdll.RtlFreeHeap() retval=00000001 ret=407e515a 080ce9a8:Ret USER.111: SENDMESSAGE() retval=00000001 ret=0417:0250 ds=041f wine: Unhandled exception, starting debugger...
Regards
Max
Max wrote:
Installing an app (Autocad 2000), which has an InstallShield installer, all goes good up to end of file copying, an then an access violation appears :
Unhandled exception: privileged instruction in 16-bit code (0417:09b7). In 16-bit mode. 0x0417:0x09b7: ldsw 0x014a,%dx A trace with --debugmsg +relay leads to following : ... 080ce9a8:Call USER.111: SENDMESSAGE(ffff,c010,0000,00000000) ret=0417:0250 ... 080ce9a8:Ret USER.111: SENDMESSAGE() retval=00000001 ret=0417:0250 ds=041f wine: Unhandled exception, starting debugger...
Did the Autocad app go on to work, or was the install failure significant?
That's exactly the crash I just posted about in this thread: http://www.winehq.com/hypermail/wine-devel/2003/02/0027.html (Well, ok, the segment number's a bit different, but otherwise it looks identical.)
It appears to be a crash in _ISDEL.EXE, which Installshield runs at or near the end of setup to delete temporary files. I spent some quality time tonight with the Wine debugger; I was able to set breakpoints and get fairly close to where the crash actually happened. If anyone wants to reproduce this, and watch the crash happen in winedbg, let me know and I'll scrape together a recipe; I'd also be happy to provide a +all log from the point of that SENDMESSAGE onward if anyone's interested. - Dan