I've used it on input files from ranging from 20MB to 400MB without any problems.
However given a larger data file (over 700MB), I get 'Not enough memory' errors from wine. The error happens under a couple seconds after I run the command. From monitoring top, the wine command does not go above 1.0% memory usage in those few seconds. I've tried varying the amount of RAM from 2GB up to 8GB, the error still occurs in seconds each time. I've verified I can natively convert those files in Windows to rule out the app being defective.
Linux OS: CentOS 6.5 x86_64
wine: wine-1.7.26
For some input files, there seems to be an element of randomness to the not enough memory error as I actually observed the exe finish successfully sometimes when repeatedly running the same command immediately after getting an error. On the successful run, top indicates the exe is using less than 15% of system memory.
I've included such a sample terminal session below, it's for a 732MB input raw file. Notice I get an error, I run it again and it succeeds, then I run it again and I get an error again. Note that for very large data files (I tried a 1.5GB input file), it always seems to give me the not enough memory error. So that 732MB file seems to be on the borderline of what input file can work.
Any suggestions on what I can do to troubleshoot and fix this? Thanks!
Sample code of the same wine command run 3 times successively, 2 fail, 1 succeeds.
Code: Select all
[sammi@new-host-44 data]$ wine ~/bin/msconvert.exe --mzXML -z --filter "peakPicking true 1-" testfile.raw
fixme:thread:SetThreadStackGuarantee (0x32fc04): stub
err:ole:CoGetContextToken apartment not initialised
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
format: mzXML
m/z: Compression-Zlib, 64-bit
intensity: Compression-Zlib, 32-bit
rt: Compression-Zlib, 64-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: .
extension: .mzXML
contactFilename:
filters:
peakPicking true 1-
filenames:
testfile.raw
processing file: testfile.raw
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
Error writing run 1 in "testfile.raw":
Not enough memory.
fixme:process:FlushProcessWriteBuffers : stub
[sammi@new-host-44 data]$ wine ~/bin/msconvert.exe --mzXML -z --filter "peakPicking true 1-" testfile.raw
fixme:thread:SetThreadStackGuarantee (0x32fc04): stub
err:ole:CoGetContextToken apartment not initialised
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
format: mzXML
m/z: Compression-Zlib, 64-bit
intensity: Compression-Zlib, 32-bit
rt: Compression-Zlib, 64-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: .
extension: .mzXML
contactFilename:
filters:
peakPicking true 1-
filenames:
testfile.raw
processing file: testfile.raw
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
writing output file: .\testfile.mzXML
fixme:process:FlushProcessWriteBuffers : stub
##NOTE: IT SUCCEEDS HERE IN WRITING THE OUTPUT MZXML FILE##
[sammi@new-host-44 data]$ wine ~/bin/msconvert.exe --mzXML -z --filter "peakPicking true 1-" testfile.raw
fixme:thread:SetThreadStackGuarantee (0x32fc04): stub
err:ole:CoGetContextToken apartment not initialised
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
format: mzXML
m/z: Compression-Zlib, 64-bit
intensity: Compression-Zlib, 32-bit
rt: Compression-Zlib, 64-bit
ByteOrder_LittleEndian
indexed="true"
outputPath: .
extension: .mzXML
contactFilename:
filters:
peakPicking true 1-
filenames:
testfile.raw
processing file: testfile.raw
fixme:ntdll:NtLockFile I/O completion on lock not implemented yet
Error writing run 1 in "testfile.raw":
Not enough memory.
fixme:process:FlushProcessWriteBuffers : stub
[sammi@new-host-44 data]$