The VB app I'm trying to bring up (Yardi) installs qpro200.dll. Amusingly, their setup utility crashes on startup if you run it again, in that dll's init routine. Deleting it seems to fix things. Good old DLL hell. Partial relay and traceback attached in case anyone's curious. - Dan
"Dan Kegel" dank@kegel.com wrote:
The VB app I'm trying to bring up (Yardi) installs qpro200.dll. Amusingly, their setup utility crashes on startup if you run it again, in that dll's init routine. Deleting it seems to fix things. Good old DLL hell. Partial relay and traceback attached in case anyone's curious.
qpro200.dll is a 16-bit NE Windows DLL. It crashes somewhere in its LibMain() initialization routine. Backtrace is useless in that case, but disassembly of the LibMain() might shed some light on the crash.
is it really a 16-bit application/ is qpro200 a 16 bit dll ? --- Dan Kegel dank@kegel.com a écrit : > The VB app I'm trying to bring up (Yardi) installs qpro200.dll.
Amusingly, their setup utility crashes on startup if you run it again, in that dll's init routine. Deleting it seems to fix things. Good old DLL hell. Partial relay and traceback attached in case anyone's curious.
- Dan
-- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045
080f0590:Call kernel32.GetModuleHandleA(411021b0
"C:\WINDOWS\SYSTEM\qpro200.dll") ret=41160128 080f0590:Ret kernel32.GetModuleHandleA() retval=00000000 ret=41160128 080f0590:Call kernel32.LoadLibraryExA(411021b0 "C:\WINDOWS\SYSTEM\qpro200.dll",00000000,00000002) ret=4116013c 080f0590:Ret kernel32.LoadLibraryExA() retval=00000000 ret=4116013c 080f0590:Call kernel32.LoadLibrary16(411021b0 "C:\WINDOWS\SYSTEM\qpro200.dll") ret=41160354 080f0590:CallTo16(func=02e7:00fb,ds=0417) ss:sp=0267:1530 ax=0000 bx=0000 cx=0800 dx=0000 si=0000 di=0416 bp=155a es=0417 fs=0000 080f0590:Call KERNEL.4: LOCALINIT(0417,0000,0800) ret=02e7:0120 ds=0417 080f0590:Ret KERNEL.4: LOCALINIT() retval=0001 ret=02e7:0120 ds=0417 wine: Unhandled exception, starting debugger... ... Unhandled exception: privileged instruction in 16-bit code (02ef:00ab). In 16-bit mode. 0x02ef:0x00ab: ljmp *%ss:0x0020 Wine-dbg>Backtrace: =>0 0x02ef:0x00ab (bp=1528) 1 0x02ef:0x0127 (bp=155a) 2 0x4007951b (NE_InitDLL+0x113(pModule=0x402750b8) [segment.c:680] in libntdll.dll.so) (ebp=41101c30) 3 0x40075b9a (MODULE_LoadModule16+0x10e(libname=0x411021b0, implicit=0x0, lib_only=0x1) [module.c:999] in libntdll.dll.so) (ebp=41101c60) 4 0x40075e23 (LoadModule16+0xc3(name=0x411021b0, paramBlock=0xffffffff) [module.c:1084] in libntdll.dll.so) (ebp=41101c84) 5 0x400761f2 (LoadLibrary16+0x1a(libname=0x411021b0) [module.c:1245] in libntdll.dll.so) (ebp=41101c98) 6 0x4009ac27 (.L119+0x4 [relay386.c] in libntdll.dll.so) (ebp=41101cac) 7 0x4009aeb8 (RELAY_CallFrom32+0x68(ret_addr=0x41160354) [relay386.c:426] in libntdll.dll.so) (ebp=41101d30) 8 0x40a4f02d (KERNEL32.DLL.LoadLibrary16+0x5 in kernel32.dll.so) (ebp=41101d58) 9 0x41160815 (GetFileVersionInfoA+0x85(filename=0x411021b0, handle=0x0, datasize=0x3e8, data=0x40274cc8) [info.c:524] in ver.dll.so) (ebp=41101d7c) 10 0x4116155e (_fetch_versioninfo+0x3e [install.c] in ver.dll.so) (ebp=41101da0) 11 0x41161952 (VerInstallFileA+0x2fa(flags=0x2, srcfilename=0x4026297c, destfilename=0x4026270a, srcdir=0x402619ae, destdir=0x40262a1a, curdir=0x402628de, tmpfile=0x40262840, tmpfilelen=0x411022f4) [install.c:445] in ver.dll.so) (ebp=411022cc) 12 0x4115f75d (VerInstallFile16+0x31(flags=0x2, lpszSrcFilename=0x4026297c, lpszDestFilename=0x4026270a, lpszSrcDir=0x402619ae, lpszDestDir=0x40262a1a, lpszCurDir=0x402628de, lpszTmpFile=0x40262840, lpwTmpFileLen=0x40262c06) [ver16.c:80] in ver.dll.so) (ebp=411022fc) 13 0x4115f5b6 (__wine_ver_dll_CallFrom16_p_long_wtttttpp+0xa6(proc=0x4115f72c, args=0x402626e8) [ver.spec.c:138] in ver.dll.so) (ebp=4110232c) 14 0x400b9cf5 (__wine_call_from_16_long+0x8d [relay16.s] in libntdll.dll.so) (ebp=41102364) 15 0x025f:0x250a (bp=1a8c) 16 0x025f:0x1f89 (bp=1ae2) 17 0x00f7:0x0000 (bp=1b1c, far call assumed) 18 0x4009ac30 (.L120+0x7 [relay386.c] in libntdll.dll.so) (ebp=4110237c) 19 0x4009aeb8 (RELAY_CallFrom32+0x68(ret_addr=0x40888153) [relay386.c:426] in libntdll.dll.so) (ebp=41102400) 20 0x40a5336d (KERNEL32.DLL.wine_call_to_16_regs_short+0x5 in kernel32.dll.so) (ebp=4110270c) 21 0x4089f1cc (SendMessage16+0xe8(hwnd16=0x21, msg=0x720, wparam=0x0, lparam=0x0) [msg16.c:72] in user32.dll.so) (ebp=41102778) 22 0x40834b02 (__wine_user_exe_CallFrom16_p_long_wwwl+0x1a(proc=0x4089f0e4, args=0x40262caa) [user.exe.spec.c:1449] in user32.dll.so) (ebp=41102790) 23 0x400b9cf5 (__wine_call_from_16_long+0x8d [relay16.s] in libntdll.dll.so) (ebp=411027c8) 24 0x025f:0x1f4a (bp=1b7e) 25 0x00f7:0x0000 (bp=1bb8, far call assumed) 26 0x4009ac30 (.L120+0x7 [relay386.c] in libntdll.dll.so) (ebp=411027e0) 27 0x4009aeb8 (RELAY_CallFrom32+0x68(ret_addr=0x40888153) [relay386.c:426] in libntdll.dll.so) (ebp=41102864) 28 0x40a5336d (KERNEL32.DLL.wine_call_to_16_regs_short+0x5 in kernel32.dll.so) (ebp=41102b70) 29 0x4089f787 (DispatchMessage16+0xaf(msg=0x40262e70) [msg16.c:301] in user32.dll.so) (ebp=41102bb8) 30 0x408347ba (__wine_user_exe_CallFrom16_p_long_p+0x2e(proc=0x4089f6d8, args=0x40262d46) [user.exe.spec.c:1288] in user32.dll.so) (ebp=41102bc8) 31 0x400b9cf5 (__wine_call_from_16_long+0x8d [relay16.s] in libntdll.dll.so) (ebp=41102c00) 32 0x025f:0x1e15 (bp=1cfc) 33 0x025f:0x00d2 (bp=1d0a)
===== Sylvain Petreolle spetreolle@users.sourceforge.net Fight against Spam ! http://www.euro.cauce.org/en/index.html ICQ #170597259
"Don't think you are. Know you are." Morpheus, in "Matrix".
___________________________________________________________ Do You Yahoo!? -- Une adresse @yahoo.fr gratuite et en français ! Yahoo! Mail : http://fr.mail.yahoo.com
Yes.
Sylvain Petreolle wrote:
is it really a 16-bit application/ is qpro200 a 16 bit dll ?
--- Dan Kegel dank@kegel.com a écrit : The VB app I'm trying to bring up (Yardi) installs qpro200.dll.
Amusingly, their setup utility crashes on startup if you run it again, in that dll's init routine. Deleting it seems to fix things. Good old DLL hell. Partial relay and traceback attached in case anyone's curious.
- Dan
"Dan Kegel" dank@kegel.com wrote:
The VB app I'm trying to bring up (Yardi) installs qpro200.dll. Amusingly, their setup utility crashes on startup if you run it again, in that dll's init routine. Deleting it seems to fix things. Good old DLL hell. Partial relay and traceback attached in case anyone's curious.
080f0590:Call KERNEL.4: LOCALINIT(0417,0000,0800) ret=02e7:0120 ds=0417 080f0590:Ret KERNEL.4: LOCALINIT() retval=0001 ret=02e7:0120 ds=0417 wine: Unhandled exception, starting debugger... ... Unhandled exception: privileged instruction in 16-bit code (02ef:00ab). In 16-bit mode. 0x02ef:0x00ab: ljmp *%ss:0x0020 Wine-dbg>Backtrace: =>0 0x02ef:0x00ab (bp=1528) 1 0x02ef:0x0127 (bp=155a) 2 0x4007951b (NE_InitDLL+0x113(pModule=0x402750b8) [segment.c:680] in libntdll.dll.so) (ebp=41101c30)
Having a bit of spare time I have a found a copy of qpro200.dll using an Internet search. Although apparently it's not exactly the same version as yours (since it crashes at different address), but it crashes at the same address under both Wine and Windows 2000 somewhere in its LibMain and disassembly of the very first command looks exactly like in your trace. So, for me it looks like a bug in this DLL.
I'm using simple 16-bit DLL loader written for my own needs which just does LoadLibrary/FreeLibrary.
My copy of qpro200.dll has following strings in its VersionInfo record:
CompanyName Crescent Software, Inc. FileDescription QuickPak Professional DLL FileVersion 3.24.000 InternalName QPRO200 LegalCopyright Copyrightй Crescent Software, Inc. 1991-1994 LegalTrademarks QuickPakо is a trademark of Crescent Software Inc. OriginalFilename QPRO200.DLL ProductName QuickPak Professional for Windows ProductVersion 3.24.000
I can send you my simple loader program if you wish to try it yourself.
-- Dmitry.