All work

Select view

Select search mode

 
50 of 86

start-server throws exception on alpine linux 3.6

Won't Fix

Description

The description in https://clojure.atlassian.net/browse/NREPL-83#icft=NREPL-83 suggests "start-server" will try "::" first and then fall back to "localhost". However, running in Alpine Linux, the attempt to bind "::" throws an exception and the fallback to "localhost" never occurs.

AFAIK, Alpine is different in more ways than one... ipv6 disabled by default, and also musl-libc has its own resolver, so multiple factors could be adding up here. The result however is an exception and behavior that doesn't match the expectation established in NREPL-83.

Obviously the caller can workaround this problem by explicitly passing a :bind argument, like (start-server ort p :bind "localhost"), and for that reason I can consider this a minor issue. If nothing else perhaps the documentation can be clarified.

Here' a transcript to show what I mean:
https://gist.github.com/gonewest818/ae5c5caf49380f81c5a2667408da6d4f

lines 1-74 documents launching alpine, installing lein, and creating a project with nrepl 0.2.13

lines 75-76 shows the exception when no :bind is specified

lines 78-79 proves the obvious workaround

lines 90-91 duplicates the exception by replicating what's happening inside tools.repl

Environment

Alpine Linux 3.6

Details

Assignee

Reporter

Affects versions

Priority

Created October 14, 2017 at 7:33 PM
Updated June 26, 2019 at 3:52 AM
Resolved June 26, 2019 at 3:52 AM

Activity

Show:

Alex MillerJune 26, 2019 at 3:52 AM

All nrepl tickets closed, now managed at https://github.com/nrepl/nrepl

importNovember 7, 2017 at 7:56 PM

Comment made by: nokamoto

I'm glad it was helpful!

Chas EmerickNovember 7, 2017 at 12:11 PM

FYI, created https://github.com/cemerick/nREPL/issues/20 to correspond to this issue. Thanks for the report!

Chas EmerickNovember 6, 2017 at 9:24 PM

I ran into this exact problem while re-animating https://github.com/cemerick/nREPL: travis will resolve ipv6 addresses (the sole criteria previously used to determine whether to use ipv6 or not), but will not bind such an address.

https://github.com/cemerick/nREPL/commit/36c77ddb03f2499f8b95701148a73d6d809b081d

Flag notifications