OMERO.insight login fail from Windows 7

Hello,

We are unable to connect using OMERO.insight 5.5.12 to OMERO.server 5.6 from a Windows 7 computer. We are able to connect using OMERO.insight from other computers. The omeroinsight.log from the Windows 7 computer shows:

2020-09-18 12:51:34,218 INFO [o.o.shoola.env.rnd.PixelsServicesFactory] (nitializer) Heap memory usage: max 954728448
2020-09-18 12:51:34,234 INFO [ o.o.shoola.env.init.TaskBarInit] (nitializer) Loaded L&F: com.sun.java.swing.plaf.windows.WindowsLookAndFeel
2020-09-18 12:51:59,927 DEBUG [ o.o.s.env.data.login.LoginServiceImpl] (nitializer) Failed to log onto OMERO.
Reason: Obtained null object proxy
OMERO address: camdu.warwick.ac.uk
User Name: u1666387 – Password: ****************
omero.ClientError: Obtained null object proxy
at omero.client.createSession(client.java:837)
at omero.gateway.Gateway.createSession(Gateway.java:1102)
at omero.gateway.Gateway.connect(Gateway.java:294)
at org.openmicroscopy.shoola.env.data.OMEROGateway.connect(OMEROGateway.java:1422)
at org.openmicroscopy.shoola.env.data.DataServicesFactory.connect(DataServicesFactory.java:479)
at org.openmicroscopy.shoola.env.data.login.LoginServiceImpl.attempt(LoginServiceImpl.java:144)
at org.openmicroscopy.shoola.env.data.login.LoginServiceImpl.login(LoginServiceImpl.java:277)
at org.openmicroscopy.shoola.env.data.login.LoginManager.login(LoginManager.java:98)
at org.openmicroscopy.shoola.env.init.SplashScreenInit.onEnd(SplashScreenInit.java:157)
at org.openmicroscopy.shoola.env.init.Initializer.notifyEnd(Initializer.java:188)
at org.openmicroscopy.shoola.env.Container.runStartupProcedure(Container.java:119)
at org.openmicroscopy.shoola.env.Container.access$000(Container.java:68)
at org.openmicroscopy.shoola.env.Container$1.run(Container.java:164)
at java.lang.Thread.run(Thread.java:748)
Failed to log onto OMERO.
Reason: Obtained null object proxy
OMERO address: camdu.warwick.ac.uk
User Name: u1666387 – Password: ****************
omero.ClientError: Obtained null object proxy
at omero.client.createSession(client.java:837)
at omero.gateway.Gateway.createSession(Gateway.java:1102)
at omero.gateway.Gateway.connect(Gateway.java:294)
at org.openmicroscopy.shoola.env.data.OMEROGateway.connect(OMEROGateway.java:1422)
at org.openmicroscopy.shoola.env.data.DataServicesFactory.connect(DataServicesFactory.java:479)
at org.openmicroscopy.shoola.env.data.login.LoginServiceImpl.attempt(LoginServiceImpl.java:144)
at org.openmicroscopy.shoola.env.data.login.LoginServiceImpl.login(LoginServiceImpl.java:277)
at org.openmicroscopy.shoola.env.data.login.LoginManager.login(LoginManager.java:98)
at org.openmicroscopy.shoola.env.init.SplashScreenInit.onEnd(SplashScreenInit.java:157)
at org.openmicroscopy.shoola.env.init.Initializer.notifyEnd(Initializer.java:188)
at org.openmicroscopy.shoola.env.Container.runStartupProcedure(Container.java:119)
at org.openmicroscopy.shoola.env.Container.access$000(Container.java:68)
at org.openmicroscopy.shoola.env.Container$1.run(Container.java:164)
at java.lang.Thread.run(Thread.java:748)
Exception in thread “Initializer”

I would be grateful for any help,
Laura

Hi Laura,
unfortunately we couldn’t replicate the issue. Insight 5.5.12 works just fine on our Windows 7 system. You could try the 5.5.13 release from https://github.com/ome/omero-insight/releases , although I don’t have much hope that would change anything. Is there some firewall software running on that machine? Or maybe some settings in Windows blocking the connection to the server?
Kind regards,
Dominik

Hello Dominik,

Thank you for confirming that the issue did not lie with Windows 7. After further investigation, it turned out the error was due to a faulty network port (It was possible to connect to the internet but not to any local servers). The solution was to connect to a different port until the original one was fixed.

Thank you very much for your help,
Laura

Hi everyone,

I encountered the same problem (“Reason: Obtained null object proxy”) as Laura190, when i tried to help someone to connect to our OMERO server with OMERO.insight (the connection with the web interface works though).

So, is it possible to have more information about the firewall rules that should be applied?
Also, if i use the port 4063 (instead of 4064) in the configuration parameters of OMERO.insight, will it solve the problem?
Sorry if my questions look clumsy, i haven’t any experience with firewall tuning.

Thanks by advance, Marc.

Hi Marc.
The machine which is running the OMERO server must allow incoming connections to the ports 4064 an 4063 . If the IT infrastructure or policies don’t allow this, a websocket setup can be used instead: https://docs.openmicroscopy.org/omero/5.6.0/sysadmins/websockets.html .
The PC running OMERO.insight only needs to allow outgoing connections to these ports. Usually this is not a problem, because outgoing connections are commonly allowed by default. But if you are in very restricted IT environment then it’s worth checking if that really is the case.
Swapping port 4064 with 4063 for the login won’t work. The login has to go over port 4064 (secured via SSL), whereas the pixel data transfer happens on port 4063 (which can be “plain” or SSL, depending if the lock icon of the login dialog is open or closed).
Kind Regards,
Dominik

Hi Dominik,

The system administrator of the building concerned by the problem opened the ports 4063 and 4064. It partially solved the problem, because:

  • The users are still unable to connect to OMERO.insight from the “problematic” building, but they can connect from our building (where the server is installed)
  • The “null object proxy” error doesn’t display anymore in the logs, which makes me thinks that only a part of the problem is solved now
  • A new error message (in french) display on the log: “Failed to log onto OMERO.
    Reason: java.io.IOException: Une connexion existante a dû être fermée par l’hôte distant”

Here is the english translation: java.io.IOException: An existing connection was forcibly closed by the remote host .

So, do other ports need to be opened (like for PostgreSQL, Ice, or others) for OMERO.insight to function properly?

Best regards, Marc.

This suggests your network configuration may still be a problem. For example the ports on the OMERO server may be open, but do the firewall rules on the network that the OMERO.server sits on allow incoming traffic on those ports? Does the firewall on the network your user is based on allow outgoing traffic on the OMERO ports? Is your firewall doing deep packet inspection (i.e. looking at the content of the network traffic rather than just the ports) and refusing OMERO traffic?

One thing you could try is to setup websockets: https://docs.openmicroscopy.org/omero/5.6.3/sysadmins/websockets.html
This allows OMERO traffic to be transmitted over HTTPS, however there is still a risk that the traffic will be blocked. It might however be worth a try? To start with see this docker example
https://github.com/ome/docker-example-omero-websockets
and feel free to follow up here.