http://bugs.winehq.org/show_bug.cgi?id=8548
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.mundo-descargas. | |com/descargas/factusol-2007 | |-edicion-verano-0-1/ CC| |focht@gmx.net Version|unspecified |0.9.37. Summary|Runtime error 5 and 440 in |Runtime error 5 and 440 in |factusol |factusol 2007 | |(oleaut32.VariantCopyInd | |input pvargSrc check fails | |for VT_RECORD|VT_BYREF)
--- Comment #11 from Anastasius Focht focht@gmx.net 2011-05-02 16:23:15 CDT --- Hello,
found a download here: http://www.mundo-descargas.com/descargas/factusol-2007-edicion-verano-0-1/
Prerequisites: winetricks mfc40 mfc42
The culprit seems to be related to "SmartTabs" control (smarttabs29).
oleaut32.VariantCopyInd() input pvargSrc check fails for VT_RECORD|VT_BYREF -> E_INVALIDARG even if supported (VARIANT_CopyIRecordInfo).
--- snip --- ... 0021:Call ntdll.RtlAllocateHeap(00110000,00000000,00000030) ret=6848447f 0021:Ret ntdll.RtlAllocateHeap() retval=001f3f48 ret=6848447f 0021:Call oleaut32.SysAllocStringLen(001f6ea4 L"Picture1[0]",0000000b) ret=660de798 0021:Call ntdll.RtlAllocateHeap(00110000,00000000,0000001c) ret=68583ef7 0021:Ret ntdll.RtlAllocateHeap() retval=001f3700 ret=68583ef7 0021:Ret oleaut32.SysAllocStringLen() retval=001f3704 ret=660de798 0021:Call oleaut32.VariantCopyInd(001f3f48,0032f2bc) ret=660de86d 0021:trace:variant:VariantCopyInd (0x1f3f48->(VT_EMPTY),0x32f2bc->(VT_RECORD|VT_BYREF)) 0021:Ret oleaut32.VariantCopyInd() retval=80070057 ret=660de86d 0021:Call oleaut32.SysFreeString(001f3704 L"Picture1[0]") ret=660de87c 0021:Call ntdll.RtlFreeHeap(00110000,00000000,001f3700) ret=68583e95 0021:Ret ntdll.RtlFreeHeap() retval=00000001 ret=68583e95 0021:Ret oleaut32.SysFreeString() retval=00000001 ret=660de87c 0021:Call ntdll.RtlFreeHeap(00110000,00000000,001f3f48) ret=6848489e 0021:Ret ntdll.RtlFreeHeap() retval=00000001 ret=6848489e 0021:CALL MSVBVM60.__vbaHresultCheckObj(<unknown, check return>) ret=11037a94 0021:Call oleaut32.SysFreeString(00000000) ret=6600e1a9 0021:Ret oleaut32.SysFreeString() retval=68583e57 ret=6600e1a9 0021:Call oleaut32.SysFreeString(00000000) ret=6600e1ae 0021:Ret oleaut32.SysFreeString() retval=68583e57 ret=6600e1ae 0021:Call oleaut32.SysFreeString(00000000) ret=6600e1b3 0021:Ret oleaut32.SysFreeString() retval=68583e57 ret=6600e1b3 0021:Call KERNEL32.RaiseException(c000008f,00000001,00000002,0032f18c) ret=660d0956 0021:trace:seh:raise_exception code=c000008f flags=1 addr=0x7b83821f ip=7b83821f tid=0021 0021:trace:seh:raise_exception info[0]=deadcafe 0021:trace:seh:raise_exception info[1]=deadcafe 0021:trace:seh:raise_exception eax=7b825665 ebx=7b88fff4 ecx=deadcafe edx=0032f0a4 esi=0032f18c edi=0032f100 0021:trace:seh:raise_exception ebp=0032f0e8 esp=0032f084 cs=0073 ds=007b es=007b fs=0033 gs=003b flags=00000203 0021:trace:seh:call_vectored_handlers calling handler at 0x687896fe code=c000008f flags=1 0021:trace:seh:call_vectored_handlers handler at 0x687896fe returned 0 0021:trace:seh:call_stack_handlers calling handler at 0x11003f36 code=c000008f flags=1 0021:CALL MSVBVM60.__vbaExceptHandler(<unknown, check return>) ret=7bc7a5b5 ... 0021:Call KERNEL32.lstrcmpiA(11004945 "SmartTabs.SmartTab",11004945 "SmartTabs.SmartTab") ret=66008d24 ... 0021:Call KERNEL32.WideCharToMultiByte(00000000,00000000,001fa0ac L"Run-time error '5':\n\nInvalid procedure call or argument",ffffffff,025434e0,0000006e,00000000,00000000) ret=660711c4 0021:Ret KERNEL32.WideCharToMultiByte() retval=00000038 ret=660711c4 ... 0021:trace:ole:ICreateErrorInfoImpl_SetGUID (0x1f6ec8)->({00000000-0000-0000-0000-000000000000}) 0021:trace:ole:ICreateErrorInfoImpl_SetSource (0x1f6ec8): L"SmartTabs" ... 0021:trace:ole:ICreateErrorInfoImpl_SetDescription (0x1f6ec8): L"Application-defined or object-defined error" ... 0021:Call user32.MessageBoxIndirectA(0032ea08) ret=6606f73f ... --- snip ---
debugger:
--- snip --- trace:variant:VariantCopyInd (0x1dcd40->(VT_EMPTY),0x33f2bc->(VT_RECORD|VT_BYREF)) Stopped on breakpoint 2 at 0x6879c345 VariantCopyInd+0x196 [/opt/projects/wine/wine-git/dlls/oleaut32/variant.c:870] in oleaut32 870 if (!V_ISBYREF(pvargSrc)) ... Wine-dbg>s 874 vt = V_TYPE(pvargSrc); Wine-dbg>s 875 if (V_ISARRAY(pvargSrc) || ... Wine-dbg>p vt 0x24 ... Wine-dbg>s 882 return E_INVALIDARG; /* ...And the return value for invalid types differs too */ ... Wine-dbg>bt Backtrace: =>0 0x6879c3b8 VariantCopyInd+0x209(pvargDest=0x1dcd40, pvargSrc=0x33f2bc) [/opt/projects/wine/wine-git/dlls/oleaut32/variant.c:882] in oleaut32 (0x0033f1cc) 1 0x660de86d in msvbvm60 (+0xde86c) (0x0033f1f4) 2 0x11037a23 in smarttabs29 (+0x37a22) (0x0033f368) ... --- snip ---
--- snip dlls/oleaut32/variant.c --- HRESULT WINAPI VariantCopyInd(VARIANT* pvargDest, VARIANTARG* pvargSrc) { VARIANTARG vTmp, *pSrc = pvargSrc; VARTYPE vt; HRESULT hres = S_OK;
TRACE("(%p->(%s%s),%p->(%s%s))\n", pvargDest, debugstr_VT(pvargDest), debugstr_VF(pvargDest), pvargSrc, debugstr_VT(pvargSrc), debugstr_VF(pvargSrc));
if (!V_ISBYREF(pvargSrc)) return VariantCopy(pvargDest, pvargSrc);
/* Argument checking is more lax than VariantCopy()... */ vt = V_TYPE(pvargSrc); if (V_ISARRAY(pvargSrc) || (vt > VT_NULL && vt != (VARTYPE)15 && vt < VT_VOID && !(V_VT(pvargSrc) & (VT_VECTOR|VT_RESERVED)))) { /* OK */ } else return E_INVALIDARG; /* ...And the return value for invalid types differs too */ ...
else if (V_VT(pSrc) == (VT_RECORD|VT_BYREF)) { V_UNION(pvargDest,brecVal) = V_UNION(pvargSrc,brecVal); hres = VARIANT_CopyIRecordInfo(&V_UNION(pvargDest,brecVal)); } .... --- snip dlls/oleaut32/variant.c ---
$ wine --version wine-1.3.19
$ sha1sum factusol-2007-edicion-verano-0-1.msi 2f26a0d244f3f0c52b4297d233d8c998946d7ac3 factusol-2007-edicion-verano-0-1.msi
Setting version to initial report date.
Regards