wfdb-app-toolbox icon indicating copy to clipboard operation
wfdb-app-toolbox copied to clipboard

Error executing WFDBTIME

Open GoogleCodeExporter opened this issue 9 years ago • 1 comments

What steps will reproduce the problem?

clear all;clc;close all
N=10024;
Fs=48000;
tm=[0:1/Fs:(N-1)/Fs]';
adu='V/mV/V';
info='Example 1';
sig1=double(int16(linspace(-2^15,2^15,N)'));
sig2=double(int8(sin(2*pi*tm*1000).*(2^7)))./(2^7);
sig3=(rand(N,1) > 0.97)*2 -1 + 2^16;
sig=[sig1 sig2 sig3];
mat2wfdb(sig,'Ex1',Fs,[],adu,info)
n=6000;
[timeStamp]=wfdbtime('Ex1',linspace(1,n,n))


What is the expected output? What do you see instead?
We should get an array in timeStamp, instead we we get the following error 
message:

 error executing: wfdbtime
>>>>                 java.io.IOException: Cannot run program
>>>>                 "Z:\Matlab\mcode\nativelibs\windows-amd64\bin\wfdbtime":
>>>>                 CreateProcess error=87, Falscher Parameter
>>>>                     at java.lang.ProcessBuilder.start(Unknown Source)
>>>>                     at
>>>>                 org.physionet.wfdb.Wfdbexec.execToStringList(Unknown 
Source)
>>>>                     at
>>>>                 org.physionet.wfdb.Wfdbexec.execToStringList(Unknown 
Source)
>>>>                 Caused by: java.io.IOException: CreateProcess
>>>>                 error=87, Falscher Parameter
>>>>                     at java.lang.ProcessImpl.create(Native Method)
>>>>                     at java.lang.ProcessImpl.<init>(Unknown Source)
>>>>                     at java.lang.ProcessImpl.start(Unknown Source)
>>>>                     ... 3 more
>>>>                 Attempt to reference field of non-structure array.
>>>>
>>>>                 Error in wfdbtime (line 71)
>>>>                 data=javaWfdbExec.execToStringList(wfdb_argument).toArray;

Original issue reported on code.google.com by [email protected] on 28 Jul 2014 at 1:19

GoogleCodeExporter avatar Mar 13 '15 23:03 GoogleCodeExporter

This appears to be mostly reproduced on Windows Systems such as this one:

      MATLAB_VERSION: '8.1.0.604 (R2013a)'
>>>                          inOctave: 0
>>>                      WFDB_VERSION: '[10.5.22]'
>>>                    WFDB_JAVA_HOME: ' C:\wfdb\mcode\'
>>>                   WFDB_NATIVE_BIN: '
>>>             C:\wfdb\mcode\nativelibs\windows-amd64\'
>>>                     EXECUTING_DIR: ' null'
>>>                            osName: 'windows'
>>>                        fullOsName: ' Windows NT (unknown)'
>>>                            osArch: ' amd64'
>>>                    customArchFlag: ' false'
>>>                         OSVersion: ' 6.2'
>>>                        JVMVersion: ' 1.6.0_17]'



Increasing the Java heap does not help ( memory leak ?).
From one of the users:

"We did find a workaround to create a large annotation-file. We did this by 
writing several smaller files that were successively merged. However, there 
really seems to be a problem with the wfdbtime.m-function. If you have more 
than about 4000 timestamps it will crash. We encountered this problem on two 
separate PCs with different versions of MATLAB"

Original comment by [email protected] on 28 Jul 2014 at 1:22

  • Added labels: Priority-High
  • Removed labels: Priority-Medium

GoogleCodeExporter avatar Mar 13 '15 23:03 GoogleCodeExporter