We're Hiring!

IPv6 problems on Debian Jessie

Having a problem deploying OMERO? Please ask new questions at https://forum.image.sc/tags/omero
Please note:
Historical discussions about OMERO. Please look for and ask new questions at https://forum.image.sc/tags/omero

The OMERO.server installation documentation begins here and you can find OMERO.web deployment documentation here.

IPv6 problems on Debian Jessie

Postby rob.pumphrey » Wed Apr 20, 2016 1:46 pm

We have recently had some problems getting OMERO to run on Debian Jessie AMD64. OMERO would fail to start with the following error in Blitz.log

Code: Select all
2016-04-20 10:29:33,645 ERROR [o.services.blitz.util.BlitzConfiguration] (      main) Fatal error creating adapter. See the troubleshooting page
Ice.SocketException: java.net.SocketException: Protocol family unavailable
        at IceInternal.Network.doBind(Network.java:251) ~[ice.jar:na]
        at IceInternal.TcpAcceptor.<init>(TcpAcceptor.java:119) ~[ice.jar:na]
        at IceInternal.TcpEndpointI.acceptor(TcpEndpointI.java:414) ~[ice.jar:na]
        at IceInternal.IncomingConnectionFactory.<init>(IncomingConnectionFactory.java:376) ~[ice.jar:na]
        at Ice.ObjectAdapterI.<init>(ObjectAdapterI.java:1028) ~[ice.jar:na]
        at IceInternal.ObjectAdapterFactory.createObjectAdapter(ObjectAdapterFactory.java:160) ~[ice.jar:na]


The following lines was also in /etc/sysctl.conf

Code: Select all
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1


I tried setting the IPv6 config value to 0 with
Code: Select all
./bin/omero config set IPv6 0

as per http://www.openmicroscopy.org/site/supp ... oting.html

but this had no effect.

I did succeed in getting OMERO to start by commenting out the net.ipv6 lines in /etc/sysctl.conf and rebooting the server.

I do not have a specific question and am not that familar with IPv6, but perhaps some other admins have a comment to make about this.
rob.pumphrey
 
Posts: 7
Joined: Fri Mar 14, 2014 3:23 pm

Re: IPv6 problems on Debian Jessie

Postby kennethgillen » Wed Apr 20, 2016 2:04 pm

Hi Rob,

Thanks for submitting this issue to our forum.

rob.pumphrey wrote:I tried setting the IPv6 config value to 0 with
Code: Select all
./bin/omero config set IPv6 0

as per http://www.openmicroscopy.org/site/supp ... oting.html

but this had no effect.


Looking at the OMERO configuration documentation [1], the property you're after seems to actually be "Ice.IPv6", instead of just "IPv6".

I do see that the documentation you point to does include an example of setting the "IPv6" property, but it looks to me like that's actually missing the prefix "Ice", and so isn't correct. I'll raise this with the development team, and open a PR on our documentation to fix that, if indeed that's the case.

Thanks for pointing this out! Much appreciated. If you're able to try setting the full Ice.IPv6 property, then it'd be good to see what happens. If this is a production server, though, we understand that you won't want to touch it again if it's back up and running.

(note: viewtopic.php?f=5&t=7456&p=14189&hilit=ipv6#p14189 is another post where the full configuration property "Ice.IPv6" is referred to, so I suspect that's the case.)

[1] https://www.openmicroscopy.org/site/sup ... l#ice-ipv6

All the best,

Kenny
kennethgillen
 
Posts: 254
Joined: Mon Nov 05, 2012 3:39 pm

Re: IPv6 problems on Debian Jessie

Postby rob.pumphrey » Wed Apr 20, 2016 3:20 pm

Looks like it was just a doc problem. But there is more than one fix.

Is IPv6 enabled in the kernel?

yes:
Code: Select all
# cat /proc/net/if_inet6
00000000000000000000000000000001 01 80 10 80       lo
fe80000000000000022156fafebf0334 02 40 20 80     eth0
# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 0
net.ipv6.conf.default.disable_ipv6 = 0
net.ipv6.conf.eth0.disable_ipv6 = 0
net.ipv6.conf.lo.disable_ipv6 = 0


no
Code: Select all
# cat /proc/net/if_inet6
# sysctl -a | grep disable_ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1


Does OMERO start?
Code: Select all
IPv6 | Ice.IPv6 set 0 |Omero Starts?
------------------------------------
y    | n              | y
y    | y              | y
n    | n              | n
n    | y              | y


Thanks for the quick feedback.
rob.pumphrey
 
Posts: 7
Joined: Fri Mar 14, 2014 3:23 pm

Re: IPv6 problems on Debian Jessie

Postby rleigh » Fri Apr 22, 2016 1:53 pm

Dear Rob,

While this isn't part of an explanation or solution, what are the specific reasons for disabling IPv6 in the first place? If you don't have global v6 connectivity and a global v6 address, having the link-local and loopback ipv6 addresses should be harmless; everything should fall back to v4, and for name lookups should skip v6 lookups entirely. On the other hand, disabling it shouldn't cause any problems.

The fault could be in a few places:

  • kernel
  • libc
  • jvm
  • ice
  • omero

Though I think in order of likelihoold this would be jvm, ice, libc, omero, kernel. I would suspect the JVM is the source of the misbehaviour; could it be mis-detecting the platform's IPv6 support? Or is Ice not handling the JVM-provided IPv6 networking configuration correctly?

Maybe try the -Djava.net.preferIPv4Stack=true to force the JVM not prefer v6? If the JVM is misdetecting support, that might alter its behaviour slightly.

It might be related to https://bugzilla.redhat.com/show_bug.cgi?id=1203725 when binding to an "any" address.

Also see http://jira.smartfrog.org/browse/SFOS-1182 . Do you have ::1 in /etc/hosts; this might make it try to bind it if listening on localhost... Maybe comment that (and any other v6 addresses) out and retry?

Kind regards,
Roger
User avatar
rleigh
 
Posts: 217
Joined: Tue Mar 13, 2012 11:45 am


Return to Installation and Deployment

Who is online

Users browsing this forum: No registered users and 1 guest