OMERO Connection in KNIME does not work

Hi all,
The OMERO connection node in KNIME fails with an error message since I updated to KNIME 4.0.0. I already posted this in the KNIME forum some months ago: https://forum.knime.com/t/omero-connection-in-knime-4-0/17168
In the meantime I updated KNIME to 4.0.2 and the OMERO.server to version 5.5., however the error persists. I would be grateful for any ideas how to get this fixed.
Cheers, Peter

Could https://docs.openmicroscopy.org/omero/5.5.1/sysadmins/troubleshooting.html#openssl-version be related? Which platform are the server and client processes running on and with which version of OpenSSL? (openssl version)

Copying the relevant log here:

2019-07-29 11:03:27,047 : WARN  : SwingWorker-pool-5-thread-4 :  : TestConnectionDialog$TestWorker : OMERO Connection : 0:2 : Couldn't connect
Ice.SecurityException
    reason = "IceSSL: handshake error"
	at IceInternal.AsyncResultI.__wait(AsyncResultI.java:276)
	at Ice.ObjectPrxHelperBase.end_ice_isA(ObjectPrxHelperBase.java:310)
	at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:92)
	at Ice.ObjectPrxHelperBase.ice_isA(ObjectPrxHelperBase.java:69)
	at Ice.ObjectPrxHelperBase.checkedCastImpl(ObjectPrxHelperBase.java:2810)
	at Ice.ObjectPrxHelperBase.checkedCastImpl(ObjectPrxHelperBase.java:2770)
	at Glacier2.RouterPrxHelper.checkedCast(RouterPrxHelper.java:1787)
	at omero.client.getRouter(client.java:802)
	at omero.client.createSession(client.java:723)
	at omero.gateway.Gateway.createSession(Gateway.java:1052)
	at omero.gateway.Gateway.connect(Gateway.java:257)
	at org.knime.knip.omero2.remote.OmeroConnection.open(OmeroConnection.java:38)
	at org.knime.base.filehandling.remote.files.RemoteFile.open(RemoteFile.java:126)
	at org.knime.base.filehandling.remote.files.RemoteFileFactory.createRemoteFile(RemoteFileFactory.java:137)
	at org.knime.base.filehandling.remote.connectioninformation.node.TestConnectionDialog$TestWorker.doInBackgroundWithContext(TestConnectionDialog.java:234)
	at org.knime.base.filehandling.remote.connectioninformation.node.TestConnectionDialog$TestWorker.doInBackgroundWithContext(TestConnectionDialog.java:1)
	at org.knime.core.util.SwingWorkerWithContext.doInBackground(SwingWorkerWithContext.java:106)
	at javax.swing.SwingWorker$1.call(SwingWorker.java:295)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at javax.swing.SwingWorker.run(SwingWorker.java:334)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
	at sun.security.ssl.Handshaker.activate(Handshaker.java:509)
	at sun.security.ssl.SSLEngineImpl.kickstartHandshake(SSLEngineImpl.java:714)
	at sun.security.ssl.SSLEngineImpl.beginHandshake(SSLEngineImpl.java:741)
	at IceSSL.SSLEngine.createSSLEngine(SSLEngine.java:856)
	at IceSSL.Instance.createSSLEngine(Instance.java:42)
	at IceSSL.ConnectorI.connect(ConnectorI.java:30)
	at IceInternal.OutgoingConnectionFactory$ConnectCallback.nextConnector(OutgoingConnectionFactory.java:1101)
	at IceInternal.OutgoingConnectionFactory$ConnectCallback.access$100(OutgoingConnectionFactory.java:868)
	at IceInternal.OutgoingConnectionFactory.getConnection(OutgoingConnectionFactory.java:569)
	at IceInternal.OutgoingConnectionFactory.access$800(OutgoingConnectionFactory.java:14)
	at IceInternal.OutgoingConnectionFactory$ConnectCallback.getConnection(OutgoingConnectionFactory.java:1048)
	at IceInternal.OutgoingConnectionFactory$ConnectCallback.connectors(OutgoingConnectionFactory.java:932)
	at IceInternal.EndpointHostResolver$1.run(EndpointHostResolver.java:103)
	... 3 more

Hi Petr

I reckon this is due to the version of Java shipped with KNIME (java version >= 1.8_201). This will require an update of the OMERO plugin due to an open ssl problem.
The problem was fixed in OMERO clients.
Using an older Java version might help. I have not tested it

Cheers

Jmarie

1 Like

Hi Jmarie,
You are right. The Java version used by KNIME 4.02 is 1.8.0.202-b08. So I replaced the content of the according folder plugins\org.knime.binary.jre.win32.x86_64_1.8.0.202-b08 by the jre1.8.0.152-01 which I found in my KNIME 3.7 installation. If I now click the “Test Connection” button in the OMERO Connection node in KNIME I get the same error as I get in KNIME 3.7 since we updated our OMERO.server which says “Connection to… failed. Client version 5.4.4-ice36-b82 is not compatible with server version 5.5.1”.
So now I am wondering whether anyone is working on an updated KNIME node.
Thank you everybody, at least my original problem is fixed now :slight_smile:
Cheers,
Peter

1 Like

Hi Peter

Thanks for the update
I did some tests too and noticed the same problem. The plugin has not been upgraded to work with the newer version of OMERO.

We are currently working on a new version of OMERO enabling Python 3 support:


which will drop support for older versions, so hopefully the KNIME node will be upgraded to work with newer version(s).

Cheers
Jmarie

Hello Jean-Marie and others,

Is there any update on Knime node for connecting to OMERO server 5.6.1. ? There is still incompatibility issues with ICE versions as far as I been able to get.

Is there a workaround, for connecting to the server in KNIME, that you could suggest for the meanwhile.

Looking forward to your reply.

Best,
Rohola

Hi Rohola

There is some ongoing work in imagej-omero see https://github.com/imagej/imagej-omero/pull/107. When ready, this should include the library required to connect to OMERO 5.6.

When a new version of imagej-omero is released, this will have to be included in https://github.com/knime-ip/knip-omero.
Hopefully the Knime team will take care of it

Cheers

Jmarie

1 Like

Hello Jmarie,
Thanks for your quick response and update.

Best,
Rohola