Skip to content

Connecting to an IPv6-only remote REPL #1233

@martinraison

Description

@martinraison

I'm working with IPv6-only machines, so I had to set the JVM option java.net.preferIPv6Addresses=true in Intellij (as per https://intellij-support.jetbrains.com/hc/en-us/articles/207241215). However when I try to connect to a remote REPL with this setting, I get this error:

Error:Abnormal build process termination: 
Build process started. Classpath: /Applications/IntelliJ IDEA 15 CE.app/Contents/lib/jps-launcher.jar:/Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/lib/tools.jar:/Applications/IntelliJ IDEA 15 CE.app/Contents/lib/optimizedFileManager.jar:/Applications/IntelliJ IDEA 15 CE.app/Contents/lib/ecj-4.4.jar
Error connecting to ::1:57569; reason: Protocol family unavailable: /0:0:0:0:0:0:0:1:57569
java.net.SocketException: Protocol family unavailable: /0:0:0:0:0:0:0:1:57569
  at sun.nio.ch.Net.connect0(Native Method)
  at sun.nio.ch.Net.connect(Net.java:457)
  at sun.nio.ch.Net.connect(Net.java:449)
  at sun.nio.ch.SocketChannelImpl.connect(SocketChannelImpl.java:647)
  at io.netty.channel.socket.nio.NioSocketChannel.doConnect(NioSocketChannel.java:210)
  at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.connect(AbstractNioChannel.java:207)
  at io.netty.channel.DefaultChannelPipeline$HeadContext.connect(DefaultChannelPipeline.java:1204)
  at io.netty.channel.ChannelHandlerInvokerUtil.invokeConnectNow(ChannelHandlerInvokerUtil.java:117)
  at io.netty.channel.DefaultChannelHandlerInvoker.invokeConnect(DefaultChannelHandlerInvoker.java:238)
  at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:220)
  at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:47)
  at io.netty.channel.ChannelHandlerInvokerUtil.invokeConnectNow(ChannelHandlerInvokerUtil.java:117)
  at io.netty.channel.DefaultChannelHandlerInvoker.invokeConnect(DefaultChannelHandlerInvoker.java:238)
  at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:220)
  at io.netty.channel.ChannelOutboundHandlerAdapter.connect(ChannelOutboundHandlerAdapter.java:47)
  at io.netty.channel.ChannelHandlerInvokerUtil.invokeConnectNow(ChannelHandlerInvokerUtil.java:117)
  at io.netty.channel.DefaultChannelHandlerInvoker.invokeConnect(DefaultChannelHandlerInvoker.java:238)
  at io.netty.channel.AbstractChannelHandlerContext.connect(AbstractChannelHandlerContext.java:220)

I haven't been able to confirm whether this is happening within the Cursive code or not, but apparently something is trying to get an IP for localhost and concatenating it with the port, resulting in the invalid URL 0:0:0:0:0:0:0:1:57569. Any ideas?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions