clj-commons / clj-commons/clj-ssh
ssh-agent causing
- Dominant language
- Clojure
- Stars
- 241
- Forks
- 66
- PR merge metrics
- No merged PRs in 30d
Description
I'm running this on OS/X El Capitan.
The code is simple:
```
(ssh/ssh-agent {})
```
It causes:
```
2. Unhandled com.jcraft.jsch.JSchException
fromBase64: invalid base64 data
Util.java: 63 com.jcraft.jsch.Util/fromBase64
KnownHosts.java: 218 com.jcraft.jsch.KnownHosts/setKnownHosts
KnownHosts.java: 54 com.jcraft.jsch.KnownHosts/setKnownHosts
JSch.java: 317 com.jcraft.jsch.JSch/setKnownHosts
ssh.clj: 151 clj-ssh.ssh/ssh-agent/fn
ssh.clj: 150 clj-ssh.ssh/ssh-agent
REPL: 22 node.upload.sftp/eval61527
Compiler.java: 6782 clojure.lang.Compiler/eval
Compiler.java: 6745 clojure.lang.Compiler/eval
core.clj: 3081 clojure.core/eval
main.clj: 240 clojure.main/repl/read-eval-print/fn
main.clj: 240 clojure.main/repl/read-eval-print
main.clj: 258 clojure.main/repl/fn
main.clj: 258 clojure.main/repl
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 630 clojure.core/apply
core.clj: 1868 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
AFn.java: 22 clojure.lang.AFn/run
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 745 java.lang.Thread/run
1. Caused by java.lang.ArrayIndexOutOfBoundsException
399
Util.java: 54 com.jcraft.jsch.Util/fromBase64
KnownHosts.java: 218 com.jcraft.jsch.KnownHosts/setKnownHosts
KnownHosts.java: 54 com.jcraft.jsch.KnownHosts/setKnownHosts
JSch.java: 317 com.jcraft.jsch.JSch/setKnownHosts
ssh.clj: 151 clj-ssh.ssh/ssh-agent/fn
ssh.clj: 150 clj-ssh.ssh/ssh-agent
REPL: 22 node.upload.sftp/eval61527
Compiler.java: 6782 clojure.lang.Compiler/eval
Compiler.java: 6745 clojure.lang.Compiler/eval
core.clj: 3081 clojure.core/eval
main.clj: 240 clojure.main/repl/read-eval-print/fn
main.clj: 240 clojure.main/repl/read-eval-print
main.clj: 258 clojure.main/repl/fn
main.clj: 258 clojure.main/repl
RestFn.java: 1523 clojure.lang.RestFn/invoke
interruptible_eval.clj: 87 clojure.tools.nrepl.middleware.interruptible-eval/evaluate/fn
AFn.java: 152 clojure.lang.AFn/applyToHelper
AFn.java: 144 clojure.lang.AFn/applyTo
core.clj: 630 clojure.core/apply
core.clj: 1868 clojure.core/with-bindings*
RestFn.java: 425 clojure.lang.RestFn/invoke
interruptible_eval.clj: 85 clojure.tools.nrepl.middleware.interruptible-eval/evaluate
interruptible_eval.clj: 222 clojure.tools.nrepl.middleware.interruptible-eval/interruptible-eval/fn/fn
interruptible_eval.clj: 190 clojure.tools.nrepl.middleware.interruptible-eval/run-next/fn
AFn.java: 22 clojure.lang.AFn/run
ThreadPoolExecutor.java: 1142 java.util.concurrent.ThreadPoolExecutor/runWorker
ThreadPoolExecutor.java: 617 java.util.concurrent.ThreadPoolExecutor$Worker/run
Thread.java: 745 java.lang.Thread/run
```
How do I go round diagnosing the problem? Thank you so much!
UPDATE: It seems to have something to do with the contents of known_hosts (it's not been tampered and SSH works).
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with ssh/ssh-agent in ssh.clj around lines 150-151 and inspect how the known_hosts contents reach JSch. Reproduce the call on OS X El Capitan with the reported known_hosts file, then determine which input triggers the fromBase64 error and confirm the issue is resolved without breaking the existing SSH behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- clojure, java
- Domain
- networking
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100