https://bugs.winehq.org/show_bug.cgi?id=41124
Bug ID: 41124 Summary: Proteowizard/msconvert command line tool hangs Product: Wine Version: 1.9.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: -unknown Assignee: wine-bugs@winehq.org Reporter: sneumann@ipb-halle.de Distribution: ---
Created attachment 55331 --> https://bugs.winehq.org/attachment.cgi?id=55331 Logfile with wine output
I am trying to get a command line tool to run under wine, and have varied success. The command msconvert.exe is part of the mixed open/closed source Proteowizard project [1], which provides a unified access to the mass spectrometry data from any instrument vendor through their closed source data access DLLs. In particular, msconvert converts into vendor-neutral open XML formats. Download available from [2].
So success or failure running msconvert depends on which and how these DLLs are written and called, which I have no direct control of.
* I can run msconvert just fine when converting from one open format to another, which does not require any closed DLLs. So msconvert itself is fine.
* I have one instrument that has a mix of *.dll that are identified as "PE32 executable (DLL)" for console and GUI, and also include Mono/.Net assemblies. Runs fine.
* I have data and DLLs for a different instrument, where at runtime a few err:ole messages are suspicious to my (wine-untrained) eye, see also full trace below:
err:ole:marshal_object Failed to create an IRpcStubBuffer from IPSFactory for {00000126-0000-0000-c000-000000000046} with error 0x80004002 err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002
A few output lines later the process just hangs, it can be terminated with ^C.
I am running Ubuntu 16.04, and previously 14.04, and I have tried Wine Staging 1.9.16~ubuntu16.04.1 and 1:1.8.0-0ubuntu1~ubuntu15.10.1~ppa1 (and wine-1.6.2 earlier). Needless to say, works under Windows. The msconvert sources are living under [3]. Im using an WINEARCH=win32 wineprefix. Dependencies I know of/guess are installed via a recent winetricks (20160724).
rm -rf .wine export WINEARCH=win32
winetricks --unattended msxml3 mfc42 corefonts winetricks --unattended vcrun2005 winetricks --unattended vcrun2008 winetricks --unattended vcrun2010 winetricks --unattended dotnet35sp1 winetricks --unattended dotnet40
# http://proteowizard.sourceforge.net/downloads.shtml msiexec /i pwiz-setup.msi
and then running on a small file [4] hangs:
wine ./msconvert.exe small.RAW [logs attached separately]
Andrew Udvare gave an excellent assessment [5] of my debugging output on the mailling list, copied in here:
On Mo, 2016-08-01 at 03:32 -0700, Andrew Udvare wrote:
On 2016-08-01, at 02:51, Steffen Neumann sneumann@ipb-halle.de wrote:
err:ole:marshal_object Failed to create an IRpcStubBuffer from IPSFactory for {00000126-0000-0000-c000-000000000046} with error 0x80004002 err:ole:ClientIdentity_QueryMultipleInterfaces IRemUnknown_RemQueryInterface failed with error 0x80004002
Definitely file a bug. There is sort of this related one, but it has to do with InstallShield: https://bugs.winehq.org/show_bug.cgi?id=24611
Maybe some useful information:
https://msdn.microsoft.com/en-us/library/windows/desktop/ms678504(v=vs.85).a...
E_NOINTERFACE 0x80004002 Interface not supported.
Your OLE32 errors:
https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ole32/marshal.c#l168 https://source.winehq.org/git/wine.git/blob/HEAD:/dlls/ole32/marshal.c#l305
Something is wrong with Wine and IRunnableObject for this use case. And it seems your app does not check the return when it queries interfaces? I presume that is why more errors just come later about not correctly running within an apartment.
IRunnableObject = {00000126-0000-0000-c000-000000000046} -> https://msdn.microsoft.com/en- us/library/windows/desktop/ms692783%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396
DCOM as done in Wine is described a bit here: https://www.winehq.org/docs/winedev-guide/dcom-1
Andrew Udvare
Running msconvert under wine has long been a challenge, with Wine reports in #24761 [6] and #29900 [7] that have been fixed/markeddupes/closed by now, but it doesn't work for me. An old wiki entry[8] with earlier versions of both wine and msconvert reports success by someone for files such as mine.
Happy to help with debugging, yours, Steffen
[1] http://proteowizard.sourceforge.net/ [2] http://proteowizard.sourceforge.net/downloads.shtml [3] https://sourceforge.net/p/proteowizard/code/HEAD/tree/trunk/pwiz/ [4] http://proteowizard.sourceforge.net/example_data/small.RAW [5] https://www.winehq.org/pipermail/wine-users/2016-August/107380.html [6] https://bugs.winehq.org/show_bug.cgi?id=24761 [7] https://bugs.winehq.org/show_bug.cgi?id=29900 [8] http://tools.proteomecenter.org/wiki/index.php?title=Msconvert_Wine