Skip to content

Instantly share code, notes, and snippets.

@rafaeldff
Last active August 28, 2015 21:11
Show Gist options
  • Save rafaeldff/f7218216f5d298138cf7 to your computer and use it in GitHub Desktop.
Save rafaeldff/f7218216f5d298138cf7 to your computer and use it in GitHub Desktop.
Aleph TCP NPE on put!
(ns playground
(:require [manifold.stream :as s]
[aleph.tcp :as tcp]))
(defn log-message [msg]
(println (str "Message received: " msg)))
(def out (s/stream* {:buffer-size 4096 :permanent? true}))
(def server (tcp/start-server (fn [tcp-stream _]
(s/consume log-message tcp-stream)
(s/connect out tcp-stream))
{:port 6999}))
(def cli1 (tcp/client {:host "localhost" :port 6999}))
(s/put! out "message")
(s/try-take! @cli1 :dv 100 :tv)
(s/close! @cli1)
(def cli2 (tcp/client {:host "localhost" :port 6999}))
(s/put! out "message")
Loading src/mipsim/playground.clj... 2015-08-28T18:11:17.842-03:00 [MIPSIM:nREPL-worker-11] ERROR manifold.deferred - error in deferred handler
java.lang.NullPointerException: null
at manifold.stream.graph$async_connect$this__11387.invoke(graph.clj:137) ~[na:na]
at manifold.stream.graph$async_connect$this__11404.invoke(graph.clj:215) ~[na:na]
at manifold.stream.graph$async_connect$this__11404$fn__11405$fn__11406.invoke(graph.clj:162) ~[na:na]
at clojure.core$trampoline.invoke(core.clj:6037) ~[clojure-1.7.0.jar:na]
at manifold.stream.graph$async_connect$this__11404$fn__11405.invoke(graph.clj:162) ~[na:na]
at manifold.deferred.Listener.onSuccess(deferred.clj:219) ~[na:na]
done
at manifold.deferred.Deferred$fn__10810.invoke(deferred.clj:398) [na:na]
at manifold.deferred.Deferred.success(deferred.clj:398) [na:na]
at manifold.deferred$success_BANG_.invoke(deferred.clj:245) [na:na]
at manifold.stream.default.Stream.put(default.clj:119) [na:na]
at manifold.stream.default.Stream.put(default.clj:141) [na:na]
at playground$eval35525.invoke(playground.clj:25) [na:na]
at clojure.lang.Compiler.eval(Compiler.java:6782) [clojure-1.7.0.jar:na]
at clojure.lang.Compiler.load(Compiler.java:7227) [clojure-1.7.0.jar:na]
at playground$eval35504.invoke(form-init6822372336609494012.clj:1) [na:na]
at clojure.lang.Compiler.eval(Compiler.java:6782) [clojure-1.7.0.jar:na]
at clojure.lang.Compiler.eval(Compiler.java:6745) [clojure-1.7.0.jar:na]
at clojure.core$eval.invoke(core.clj:3081) [clojure-1.7.0.jar:na]
at clojure.main$repl$read_eval_print__7099$fn__7102.invoke(main.clj:240) [clojure-1.7.0.jar:na]
at clojure.main$repl$read_eval_print__7099.invoke(main.clj:240) [clojure-1.7.0.jar:na]
at clojure.main$repl$fn__7108.invoke(main.clj:258) [clojure-1.7.0.jar:na]
at clojure.main$repl.doInvoke(main.clj:258) [clojure-1.7.0.jar:na]
at clojure.lang.RestFn.invoke(RestFn.java:1523) [clojure-1.7.0.jar:na]
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__8388.invoke(interruptible_eval.clj:53) [na:na]
at clojure.lang.AFn.applyToHelper(AFn.java:152) [clojure-1.7.0.jar:na]
at clojure.lang.AFn.applyTo(AFn.java:144) [clojure-1.7.0.jar:na]
at clojure.core$apply.invoke(core.clj:630) [clojure-1.7.0.jar:na]
at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1868) [clojure-1.7.0.jar:na]
at clojure.lang.RestFn.invoke(RestFn.java:425) [clojure-1.7.0.jar:na]
at clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke(interruptible_eval.clj:51) [na:na]
at clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__8430$fn__8433.invoke(interruptible_eval.clj:183) [na:na]
at clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__8423.invoke(interruptible_eval.clj:152) [na:na]
at clojure.lang.AFn.run(AFn.java:22) [clojure-1.7.0.jar:na]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_51]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_51]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_51]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment