https://bugs.winehq.org/show_bug.cgi?id=38350
Bug ID: 38350 Summary: FTDI Vinculum II IDE V2.0.2-SP2 gets OLE Error 80020006 on startup and exits Product: Wine Version: 1.7.38 Hardware: x86 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: [email protected] Reporter: [email protected] Distribution: ---
The FTDI Vinculum II IDE for firmware development pops up an OLE error dialog and exits immediately after the splash screen is loaded at startup. Works fine on WindowsXP-SP3. Below is everything I thought might help.
VinIDE (current version as of 2015Apr03) Download Vinculum II Toolchain V2.0.2-SP2 http://www.ftdichip.com/Firmware/vnc2toolchain/Vinculum%20II%20Installer%20V...
(popup) Vinculum II IDE OLE error 80020006 OK
$ wine --version wine-1.7.38
$ wineconsole fixme:wincodecs:PngDecoder_Block_GetCount stub fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046} fixme:msxml:domelem_setAttributeNode (0x14aaf0)->(0x14ac98 0x33f774): semi-stub
$ uname -a Linux Cube 3.16.0-33-generic #44-Ubuntu SMP Thu Mar 12 12:19:35 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
https://bugs.winehq.org/show_bug.cgi?id=38350
Austin English [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- Keywords| |download URL| |http://www.ftdichip.com/Fir | |mware/vnc2toolchain/Vinculu | |m%20II%20Installer%20V2.0.2 | |-SP2.exe
--- Comment #1 from Austin English [email protected] --- Confirming. winetricks msxml3 works around it.
$ wine VinIDE.exe fixme:wincodecs:PngDecoder_Block_GetCount 0x159558,0x33f938: stub fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046} fixme:msxml:domdoc_createNode nodes with namespaces currently not supported. fixme:msxml:domelem_setAttributeNode (0x218e00)->(0x218ecc 0x33f764): semi-stub
https://bugs.winehq.org/show_bug.cgi?id=38350
Austin English [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #2 from Austin English [email protected] --- (In reply to Austin English from comment #1)
Confirming. winetricks msxml3 works around it.
$ wine VinIDE.exe fixme:wincodecs:PngDecoder_Block_GetCount 0x159558,0x33f938: stub fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046} fixme:msxml:domdoc_createNode nodes with namespaces currently not supported. fixme:msxml:domelem_setAttributeNode (0x218e00)->(0x218ecc 0x33f764): semi-stub
That log was 1.6.2, with 1.7.40: austin@debian-home:~/.wine/drive_c/Program Files/FTDI/Vinculum II Toolchain/IDE$ wine VinIDE.exe fixme:ole:RemUnknown_QueryInterface No interface for iid {00000019-0000-0000-c000-000000000046} fixme:msxml:domelem_setAttributeNode (0x1b87e40)->(0x1b87fe8 0x33f774): semi-stub
native still fixes.
austin@debian-home:~$ sha1sum Vinculum\ II\ Installer\ V2.0.2-SP2.exe 7b24cc5cf8a64527f2bf92fb10cdd33fb3ecd5ca Vinculum II Installer V2.0.2-SP2.exe austin@debian-home:~$ du -h Vinculum\ II\ Installer\ V2.0.2-SP2.exe 14M Vinculum II Installer V2.0.2-SP2.exe
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #3 from Austin English [email protected] --- Created attachment 51211 --> https://bugs.winehq.org/attachment.cgi?id=51211 msxml,tid
https://bugs.winehq.org/show_bug.cgi?id=38350
[email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected]
--- Comment #4 from [email protected] --- Still valid issue
wine-1.8-rc1-51-g3a6ac60
https://bugs.winehq.org/show_bug.cgi?id=38350
[email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected]
--- Comment #5 from [email protected] --- Component field is unset and msxml3 is said to fix this.
still valid as wine 1.9.19
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #6 from [email protected] --- Still valid as of Wine 2.19 and winetricks msxml3 still works around it
https://bugs.winehq.org/show_bug.cgi?id=38350
Louis Lenders [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected] Component|-unknown |msxml3 Summary|FTDI Vinculum II IDE |FTDI Vinculum II IDE |V2.0.2-SP2 gets OLE Error |V2.0.2-SP2 gets OLE Error |80020006 on startup and |80020006 and exits, native |exits |msxml3 is workaround
--- Comment #7 from Louis Lenders [email protected] --- Still present wine-3.4
Setting component
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #8 from [email protected] --- Reinstalled Vinculum tool chain in a clean wine 3.5 prefix, problem still present and winetricks -q dlls msxml3 still fixes it
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #9 from [email protected] --- Reinstalled Vinculum tool chain in a clean wine 4.0-rc1 prefix, problem still present but pop up error dialog now says "Out Of Memory" and and winetricks -q dlls msxml3 does not fix it.
Time to close this one and open a new bug?
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #10 from [email protected] --- Old working prefix had been serially upgraded and was also 4.0-rc1 so I tried again in yet another new prefix but this time ran winetricks -q dlls msxml3 before running the Vinculum II installer and now it works again. Today the "out Of Memory" failure occurred when I ran the Vinculum II installer first and then ran winetricks. I don't remember what order I had done things in the past.
https://bugs.winehq.org/show_bug.cgi?id=38350
Damjan Jovanovic [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected]
--- Comment #11 from Damjan Jovanovic [email protected] --- Still happens in Wine 7.14.
The "Out of memory" error is from domelem_get_item() line 1837:
---snip--- 1834 curr = xmlNewNsProp(NULL, xmlns, ns->prefix, ns->href); 1835 if (!curr) { 1836 xmlFreeNs(xmlns); 1837 return E_OUTOFMEMORY; 1838 } ---snip---
I think xmlNewNsProp() fails because ns->prefix == NULL.
https://bugs.winehq.org/show_bug.cgi?id=38350
Damjan Jovanovic [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- Depends on| |53531
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #12 from Damjan Jovanovic [email protected] --- (In reply to skenton from comment #9)
Reinstalled Vinculum tool chain in a clean wine 4.0-rc1 prefix, problem still present but pop up error dialog now says "Out Of Memory" and and winetricks -q dlls msxml3 does not fix it.
Time to close this one and open a new bug?
No, the "Out of memory" happens before "OLE error 80020006", so there is 2 bugs here. I've opened bug 53531 for the "Out of memory" issue.
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #13 from Damjan Jovanovic [email protected] --- Searching include/winerror.h for 80020006, this came up:
---snip--- #define DISP_E_UNKNOWNNAME _HRESULT_TYPEDEF_(0x80020006) ---snip---
DISP_E_UNKNOWNNAME is only returned from a few places in dlls/msxml3, and patching each place to log that it's returning it, immediately found where it's coming from:
---snip--- static HRESULT WINAPI domelem_setAttributeNode( IXMLDOMElement *iface, IXMLDOMAttribute* attribute, IXMLDOMAttribute** old) { ... /* adding xmlns attribute doesn't change a tree or existing namespace definition */ if (!wcscmp(nameW, xmlnsW)) { SysFreeString(nameW); return DISP_E_UNKNOWNNAME; } ... } ---snip---
The app is trying to set the "xmlns" attribute, which Wine explicitly checks for and immediately fails with DISP_E_UNKNOWNNAME, for some strange reason.
Changing it to return S_OK instead there, got the app to start up, although I think there are other msxml bugs during new project creation.
Now the real question is how to fix this properly.
https://bugs.winehq.org/show_bug.cgi?id=38350
Damjan Jovanovic [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |[email protected]
--- Comment #14 from Damjan Jovanovic [email protected] --- That "xmlns"-rejecting code was added by this commit:
---snip--- commit 0c16c79c711129d077f05c8ca8af6387a21d7745 Author: Nikolay Sivov [email protected] Date: Mon Feb 28 02:27:30 2011 +0300
msxml3: Reject xmlns attribute to be added to element. ---snip---
Nikolay, do you have any thoughts?
https://bugs.winehq.org/show_bug.cgi?id=38350
--- Comment #15 from Nikolay Sivov [email protected] --- Not really. This change had a test to it, so error code didn't come from nowhere. Overall yes, it's pretty bad because of xmlns are not treated like nodes in libxml2.
https://bugs.winehq.org/show_bug.cgi?id=38350
Nikolay Sivov [email protected] changed:
What |Removed |Added ---------------------------------------------------------------------------- CC|[email protected] |
https://bugs.winehq.org/show_bug.cgi?id=38350 Bug 38350 depends on bug 53531, which changed state.
Bug 53531 Summary: FTDI Vinculum II IDE gets "Out of memory" error on startup https://bugs.winehq.org/show_bug.cgi?id=53531
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution|--- |FIXED