Reputation: 4340
Trying to run Oracle Coherence server in development mode and I get:
2015-04-09 09:56:28.319/1.508 Oracle Coherence GE 12.1.3.0.0 <D4>(thread=main,member=n/a): TCMP bound to /xx.xx.49.22:8088 using SystemDatagramSocketProvider
Exception in thread "main" 2015-04-09 09:56:28.356/1.545 Oracle Coherence GE 12.1.3.0.0 <Error> (thread=main, member=n/a): Error while starting cluster
(Wrapped) java.net.SocketException: An invalid argument was supplied
at com.tangosol.util.Base.ensureRuntimeException(Base.java:289)
...
at com.tangosol.net.DefaultCacheServer.main(DefaultCacheServer.java:355)
Caused by: java.net.SocketException: An invalid argument was supplied
at java.net.TwoStacksPlainDatagramSocketImpl.socketNativeSetOption(Native Method)
...
at com.tangosol.coherence.component.net.Cluster.onStart(Cluster.CDB:37)
New to Java and new to Coherence. So a socket exception means there was an error creating or connecting to a socket. I'm guessing in this case the issue is with creating the socket? What are some of the things I should be looking for?
EDIT: After more research, I keep seeing IPv4 vs IPv6 coming up. Seems that TwoStacksPlainDatagramSocketImpl adds support for IPv6. I'm currently looking into my local settings for IP.
EDIT2: Thanks to biziclop for providing the somewhat obvious (via Google) solution. Turns out when IPv6 is disabled on your network, the latest Java release has a bug that throws a SocketException.
This can be solved with: -Djava.net.preferIPv4Stack=true
Upvotes: 0
Views: 960
Reputation: 49804
First port of call, as always is Google.
That leads to a JDK bug, which turns out to be a duplicate of another bug, which should hopefully have answers to your specific problem.
Upvotes: 3