Fails with "java.net.Socket cannot be cast to class java.lang.String"
Nobody has claimed this yet.
- Dominant language
- Clojure
- Stars
- 192
- Forks
- 13
- PR merge metrics
- No merged PRs in 30d
Description
I want to connect to a remote nREPL server but the invocation fails:
deps.edn:
{:aliases {:repl {:extra-deps {nrepl/nrepl {:mvn/version "0.6.0"}
nrepl/drawbridge {:mvn/version "0.2.1"}}
:main-opts ["-m" "nrepl.cmdline" "--connect" "--transport"
"drawbridge.client/ring-client-transport"
"--port" "55555" "--host"]}}}
command:
clojure -Arepl 10.199.227.33
output:
Execution error (ClassCastException) at clj-http.client/parse-url (client.clj:175).
class java.net.Socket cannot be cast to class java.lang.String (java.net.Socket and java.lang.String are in module java.base of loader 'bootstrap')
See the full output from clojure in this gist: https://gist.github.com/holyjak/7a644ef57bc17807ac18d22d820bbda7
Environment
- Amazon Linux 2 or OSX
- JVM java-11-amazon-corretto.x86_64 or java-1.8.0-openjdk
It is quite likely I do something wrong but I have no idea what :(
It works with lein
Using leiningen 2.9 and project.clj:
(defproject repl-client-drawbridge "0.1.0-SNAPSHOT"
:plugins [[nrepl/drawbridge "0.2.1"]])
this works:
$ lein repl :connect http://10.199.227.33:55555
Connecting to nREPL at http://10.199.227.33:55555
REPL-y 0.4.3, nREPL 0.6.0
Clojure 1.10.1
OpenJDK 64-Bit Server VM 11.0.1+13
Docs: (doc function-name-here)
(find-doc "part-of-name-here")
Source: (source function-name-here)
Javadoc: (javadoc java-object-or-class-here)
Exit: Control+D or (exit) or (quit)
Results: Stored in vars *1, *2, *3, an exception in *e
user=>
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the deps.edn alias and the nrepl.cmdline invocation, then compare them with the working project.clj and Leiningen command. Trace the failure reported at clj-http.client/parse-url and the drawbridge client transport. Done means connecting to the remote nREPL with the Clojure CLI command without the ClassCastException.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure
- Domain
- cli, networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100