I've recently upgraded to Knime 2.11.2 (from 2.10.4). Since then a Matlab Snippet that used to work in Knime 2.10.4 gives the following error message:
ERROR Matlab Snippet Execute failed: Support code location could not be determined. Could not convert from URL to URI location.
URL Location: file:/C:/Program Files/KNIME_2.11.2/plugins/de.mpicbg.knime.scripting.matlab.srv_2.0.3.201502241335/lib/matlabcontrol-4.1.0.jar
Code Source: (file:/C:/Program Files/KNIME_2.11.2/plugins/de.mpicbg.knime.scripting.matlab.srv_2.0.3.201502241335/lib/matlabcontrol-4.1.0.jar <no signer certificates>)
Protection Domain: ProtectionDomain (file:/C:/Program Files/KNIME_2.11.2/plugins/de.mpicbg.knime.scripting.matlab.srv_2.0.3.201502241335/lib/matlabcontrol-4.1.0.jar <no signer certificates>)
null
<no principals>
java.security.AllPermissionCollection@1324fd23 (
("java.security.AllPermission" "<all permissions>" "<all actions>")
)
Class Loader: org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader@14270b18
Class Loader Class: class org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader
I then realized that the matlab server is not required anymore in the new version so I run my local Matlab without starting the startserver.m script but it makes no difference whether the server is running or not, the error message remains the same.
I'm working on a windows 7 system. Any idea why I have this problem now?
thanks for your reply. Meanwhile I played around a bit and found out that I had to add some Knime plugin folders to the path of my (locally installed) Matlab. Then the error message that I'd posted before didn't show up anymore. I used a simple data table and a Matlab Snippet with mOut = kIn for testing. It seems to work at least to some extent because in the Matlab command window I see:
It seems that the communication from Matlab back to Knime doesn't really work. Just in case I also added the Knime "Directory for temporary files" to the Matlab path but it didn't do the job so I'm still stuck. Maybe you can help.
I got the same problem when I wanted to use the latest release. Switching back one commit (the one where you disabled the matlab server), I was able to run it.
Did anything get broken there? I will try to look into it today.
Short update. The first error message that I posted has nothing to do with adding some Knime folders to the Matlab path. If Knime is installed on the system partition C I get that error message. If I install it on D instead it works at least partially (the way I described in my second post). It seems that it has something to do with Windows Security Management. Even though I gave full access to all Knime and Matlab folders on the system partition (at least I think I did).
It wouldn't surprise me if the second error message that I get in Knime if Matlab is correctly launched also has to do with that. Matlab is installed on C: on my system. Still it is not working for me at the moment. Since I can not restore my version of Knime that still worked with the Matlab server: Is there a way to go back to version 2.01?
I was also a bit complexed, that when debugging from eclipse everything is fine and once I donwload the plugin with a normal KNIME installation, MATLAB does not even start. I looks like there is a JavaSecurity problem when trying to do remote class loading. But I will have to dig a bit more before I found the problem.
@Christian
If you go to Help>Install New Software and select the "Trusted Community Contributions" update site from the dropdown menu, you should be able to install 2.0.1, provided that you uncheck "Show only the latest version of available software" in the lower panel of the dialog.
I did what Leo suggested and still had the same problem. Snippet was correctly executed in Matlab but the Matlab Snippet node in Knime was aborted with "ERROR Matlab Snippet Execute failed: Index: 0, Size: 0".
After I changed the data transfer method in the Knime preferences from "file" to "workspace" the same snippet was executed correctly. So it works fine now.
I am observing the same issue, and from what I have been able to deduce, problem seem to be the existence of spaces in the file (knime installation) path.