A local company wants to run Yardi Professional Property Management, a VB app that doesn't use Access, under Wine. (See http://www.yardi.com.)
I tried it under CVS wine as of a few days ago. Happily, the setup program completes, with just a few warnings and one 'illegal function call' vb dialog box, e.g. err:ddeml:WDML_CreateString Unknown code page 437 err:module:BUILTIN32_LoadLibraryExA loaded .so but dll commdlg.dll still not found - 16-bit dll or version conflict. ... Not bad, I guess; after all, setup did run all the way to the end.
Problem came when I tried running the app. It gets an unhandled exception -- and oddly, the wine debugger refused to run.
[dank@boogie PMWPROG]$ wine --debugmsg +wc_font Y.EXE err:fixup:NE_LoadSegment No implementation for HEDLG.26, setting to 0xdeadbeef err:fixup:NE_LoadSegment No implementation for HEDLG.27, setting to 0xdeadbeef fixme:hook:SetWindowsHookEx16 System-global hooks (7) broken in Win16 fixme:hook:SetWindowsHookEx16 System-global hooks (2) broken in Win16 wine: Unhandled exception, starting debugger... trace:wc_font:WCUSER_SetFontPmt => L"Misc Fixed" h=13 w=0 trace:wc_font:WCUSER_DumpLogFont InitFamily: truetype lf.lfHeight=99 lf.lfWidth=97 lf.lfEscapement=0 lf.lfOrientation=0 lf.lfWeight=400 lf.lfItalic=0 lf.lfUnderline=0 lf.lfStrikeOut=0 lf.lfCharSet=0 lf.lfOutPrecision=3 lf.lfClipPrecision=2 lf.lfQuality=1 lf->lfPitchAndFamily=18 lf.lfFaceName=L"AdvMICR" err:wineconsole:WINECON_Fatal Couldn't find a decent font, aborting
Editing ~/.wine/config and changing UseXTerm to 0 helped there. (And what the hell, I can never get wine debugger copy-and-paste to work properly with that at its default value, so it's just as well.) The error was: Unhandled exception: privileged instruction in 16-bit code (25f7:0ca4). Backtrace: =>0 0x25f7:0x0ca4 (bp=6cd4) 1 0x00f7:0x0000 (bp=6d1c, far call assumed) 2 0x407cf7dd (K32WOWCallback16Ex+0x45(vpfn16=0x25f70c78, dwFlags=0x0, cbArgs=0x18, pArgs=0x40e12b90, pdwRetCode=0x40e12b88) [wowthunk.c:298] in kernel32.dll.so) (ebp=40e12b68) 3 0x412d8005 (StgIsStorageILockBytes16+0x75(plkbyt=0x26ff0042) [storage.c:1716] in ole32.dll.so) (ebp=40e12bbc) 4 0x412b516f (__wine_storage_dll_CallFrom16_p_long_l+0xb(proc=0x412d7f90, args=0x40fdbf5a) [storage.spec.c:169] in ole32.dll.so) (ebp=40e12bc8) 5 0x400c9cd5 (__wine_call_from_16_long+0x8d [relay16.s] in libntdll.dll.so) (ebp=40e12c00) 6 0x25df:0x198f (bp=6d56) 7 0x40086142 (NE_StartTask+0x1e6 [module.c:1234] in libntdll.dll.so) (ebp=40e12f04) 8 0x40081625 (task_start+0x41(pTask=0x40259728) [task.c:444] in libntdll.dll.so) (ebp=40e12f18) 9 0x400b2e54 (THREAD_Start+0x60 [thread.c:269] in libntdll.dll.so) (ebp=40e12f30) 10 0x400b227c (SYSDEPS_StartThread+0x8c(teb=0x40e23000) [sysdeps.c:165] in libntdll.dll.so) (ebp=40e12ff4) 11 0x420da1ca (NTDLL.DLL.memcpy+0x5dd7a) (ebp=00000000)
Any suggestions? I'm kind of jazzed it gets this far...
Thanks, Dan
On Sat, Jan 25, 2003 at 12:06:10AM -0800, Dan Kegel wrote:
A local company wants to run Yardi Professional Property Management, a VB app that doesn't use Access, under Wine. (See http://www.yardi.com.)
I tried it under CVS wine as of a few days ago. Happily, the setup program completes, with just a few warnings and one 'illegal function call' vb dialog box, e.g. err:ddeml:WDML_CreateString Unknown code page 437 err:module:BUILTIN32_LoadLibraryExA loaded .so but dll commdlg.dll still not found - 16-bit dll or version conflict. ... Not bad, I guess; after all, setup did run all the way to the end.
Problem came when I tried running the app. It gets an unhandled exception -- and oddly, the wine debugger refused to run.
[dank@boogie PMWPROG]$ wine --debugmsg +wc_font Y.EXE err:fixup:NE_LoadSegment No implementation for HEDLG.26, setting to 0xdeadbeef err:fixup:NE_LoadSegment No implementation for HEDLG.27, setting to 0xdeadbeef fixme:hook:SetWindowsHookEx16 System-global hooks (7) broken in Win16 fixme:hook:SetWindowsHookEx16 System-global hooks (2) broken in Win16 wine: Unhandled exception, starting debugger... trace:wc_font:WCUSER_SetFontPmt => L"Misc Fixed" h=13 w=0 trace:wc_font:WCUSER_DumpLogFont InitFamily: truetype lf.lfHeight=99 lf.lfWidth=97 lf.lfEscapement=0 lf.lfOrientation=0 lf.lfWeight=400 lf.lfItalic=0 lf.lfUnderline=0 lf.lfStrikeOut=0 lf.lfCharSet=0 lf.lfOutPrecision=3 lf.lfClipPrecision=2 lf.lfQuality=1 lf->lfPitchAndFamily=18 lf.lfFaceName=L"AdvMICR" err:wineconsole:WINECON_Fatal Couldn't find a decent font, aborting
Editing ~/.wine/config and changing UseXTerm to 0 helped there. (And what the hell, I can never get wine debugger copy-and-paste to work properly with that at its default value, so it's just as well.) The error was: Unhandled exception: privileged instruction in 16-bit code (25f7:0ca4). Backtrace: =>0 0x25f7:0x0ca4 (bp=6cd4) 1 0x00f7:0x0000 (bp=6d1c, far call assumed) 2 0x407cf7dd (K32WOWCallback16Ex+0x45(vpfn16=0x25f70c78, dwFlags=0x0, cbArgs=0x18, pArgs=0x40e12b90, pdwRetCode=0x40e12b88) [wowthunk.c:298] in kernel32.dll.so) (ebp=40e12b68) 3 0x412d8005 (StgIsStorageILockBytes16+0x75(plkbyt=0x26ff0042) [storage.c:1716] in ole32.dll.so) (ebp=40e12bbc)
Now this should work. What does -debugmsg +relay,+ole say just before the crash?
However, if it will try to create a IStorage interface later (most certainly) it will just fail, I did not come around to implement it yet.
You still have to use: -dll compobj,storage,ole...=n
Ciao, Marcus
Marcus Meissner wrote:
A local company wants to run Yardi Professional Property Management, a VB app that doesn't use Access, under Wine. (See http://www.yardi.com.) ... Unhandled exception: privileged instruction in 16-bit code (25f7:0ca4). Backtrace: =>0 0x25f7:0x0ca4 (bp=6cd4) 1 0x00f7:0x0000 (bp=6d1c, far call assumed) 2 0x407cf7dd (K32WOWCallback16Ex+0x45(vpfn16=0x25f70c78, dwFlags=0x0, cbArgs=0x18, pArgs=0x40e12b90, pdwRetCode=0x40e12b88) [wowthunk.c:298] in kernel32.dll.so) (ebp=40e12b68) 3 0x412d8005 (StgIsStorageILockBytes16+0x75(plkbyt=0x26ff0042) [storage.c:1716] in ole32.dll.so) (ebp=40e12bbc)
Now this should work. What does -debugmsg +relay,+ole say just before the crash?
080eef70:Ret kernel32.wine_call_to_16_regs_short() retval=40e724f8 ret=406480c7 080eef70:Call kernel32.GlobalLock16(00000c67) ret=406385a9 080eef70:Ret kernel32.GlobalLock16() retval=40259e80 ret=406385a9 080eef70:Ret USER.41: CREATEWINDOW() retval=004f ret=09d7:077c ds=0267 080eef70:Call KERNEL.7: LOCALFREE(0050) ret=09bf:007e ds=0c6f 080eef70:Ret KERNEL.7: LOCALFREE() retval=0000 ret=09bf:007e ds=0c6f 080eef70:Call STORAGE.6: STGISSTORAGEILOCKBYTES(26ff0042) ret=25df:198f ds=268f 080eef70:Call kernel32.K32WOWGlobalAllocLock16(00000000,00000008,40e72b8e) ret=41337fc6 080eef70:Ret kernel32.K32WOWGlobalAllocLock16() retval=270f0000 ret=41337fc6 080eef70:Call kernel32.K32WOWCallback16Ex(25f70c78,00000000,00000018,40e72b90,40e72b88) ret=41338005 080eef70:CallTo16(func=25f7:0c78,ds=0267,0000,0000,0000,0008,270f,0000,0000,0000,0000,0000,26ff,0042) ss:sp=0267:6cf2 wine: Unhandled exception, starting debugger...
(More info attached as log1.txt) I'd be happy to run more tests or arrange for you to be able to run them.
However, if it will try to create a IStorage interface later (most certainly) it will just fail, I did not come around to implement it yet.
You still have to use: -dll compobj,storage,ole...=n
Thanks, using "--dll compobj,storage,ole2,ole32=n" got me past the problem. - Dan