You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When running boot in an IPv6 only network with NAT64/DNS64 (i.e. the IPv4 Internet can be reached via IPv6), boot fails to download the dependencies.
This can be seen when trying to install dependencies as follows:
Step 8/10 : RUN git clone https://github.com/twohundredok/perun.git && cd perun && boot build; cd ..
---> Running in d825a487f90d
Cloning into 'perun'...
Downloading https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar...
Exception in thread "main" java.net.SocketException: Network is unreachable (connect failed)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at java.net.URL.openStream(URL.java:1067)
at Boot.download(Boot.java:176)
at Boot.install(Boot.java:227)
at Boot.main(Boot.java:241)
Run "docker build ." in that directory in an IPv6 only network
This will fail due to non-IPv6 calls.
Expected behavior
I'd expect boot to use the happy eyeballs algorithm (try v6/v4 in parallel and use what is fastest) like most tools (curl, wget, chromium, firefox. ...) do.
Screenshots
Log file:
Removing intermediate container c70ac38b72ba
---> 5009822183ba
From 'debian:unstable-20191014'
# Using Debian Unstable, because we need openjdk-8. And interestingly
# that old version is only available in the newest version of Debian(;
MAINTAINER Alain M. Lafon <[email protected]>
RUN apt-get update -y -qq && apt-get install git curl lftp rsync time pandoc -y
RUN apt-get install openjdk-8-jdk -y
# Install Clojure boot
RUN bash -c "cd /usr/local/bin && curl -fsSLo boot https://github.com/boot-clj/boot-bin/releases/download/latest/boot.sh && chmod 755 boot"
ENV PATH=$PATH:$BOOT_INSTALL
ENV BOOT_AS_ROOT=yes
# Install the 200ok fork of Perun
RUN git clone https://github.com/twohundredok/perun.git && cd perun && boot build; cd ..
RUN boot
CMD ["boot", "repl"]
...skipping...
Step 8/10 : RUN git clone https://github.com/twohundredok/perun.git && cd perun && boot build; cd ..
---> Running in d825a487f90d
Cloning into 'perun'...
Downloading https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar...
Exception in thread "main" java.net.SocketException: Network is unreachable (connect failed)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at java.net.URL.openStream(URL.java:1067)
at Boot.download(Boot.java:176)
at Boot.install(Boot.java:227)
at Boot.main(Boot.java:241)
Removing intermediate container d825a487f90d
---> e24841a74526
Step 9/10 : RUN boot
---> Running in 69ca002864cc
Downloading https://github.com/boot-clj/boot/releases/download/2.7.2/boot.jar...
Exception in thread "main" java.net.SocketException: Network is unreachable (connect failed)
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
at java.net.Socket.connect(Socket.java:607)
at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
at sun.security.ssl.BaseSSLSocketImpl.connect(BaseSSLSocketImpl.java:173)
at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
at java.net.URL.openStream(URL.java:1067)
at Boot.download(Boot.java:176)
at Boot.install(Boot.java:227)
at Boot.main(Boot.java:248)
Desktop (please complete the following information):
OS: Linux
Browser n/a
Version latest
Additional context
I tested this in docker, but it is likely to happen in any IPv6 only network.
The text was updated successfully, but these errors were encountered:
Describe the bug
When running boot in an IPv6 only network with NAT64/DNS64 (i.e. the IPv4 Internet can be reached via IPv6), boot fails to download the dependencies.
This can be seen when trying to install dependencies as follows:
To Reproduce
Steps to reproduce the behavior:
Go to https://gitlab.200ok.ch/200ok/200ok.ch/blob/custom-docker-image-for-ci/Dockerfile
Click on 'Download'
Save file in a directory
Run "docker build ." in that directory in an IPv6 only network
This will fail due to non-IPv6 calls.
Expected behavior
I'd expect boot to use the happy eyeballs algorithm (try v6/v4 in parallel and use what is fastest) like most tools (curl, wget, chromium, firefox. ...) do.
Screenshots
Log file:
Desktop (please complete the following information):
Additional context
I tested this in docker, but it is likely to happen in any IPv6 only network.
The text was updated successfully, but these errors were encountered: