jarohen / chord

A library designed to bridge the gap between the triad of CLJ/CLJS, web-sockets and core.async.
439 stars 40 forks source link

Problem on Ubuntu #21

Closed jakoblind closed 10 years ago

jakoblind commented 10 years ago

Hi,

I have trouble running chord on Ubuntu (seems to work fine on mac). When running the example project i get the following stack trace when accessing the /ws service.

java.lang.IllegalArgumentException: No implementation of method: :render of protocol: #'compojure.response/Renderable found for class: clojure.core.async.impl.channels.ManyToManyChannel at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:544) at compojure.response$eval313$fn314$G304321.invoke(response.clj:10) at compojure.response$eval352$fn353.invoke(response.clj:27) at compojure.response$eval313$fn314$G304321.invoke(response.clj:10) at compojure.core$make_route$fn__488.invoke(core.clj:93) at compojure.core$if_route$fn472.invoke(core.clj:39) at compojure.core$if_method$fn465.invoke(core.clj:24) at compojure.core$routing$fn494.invoke(core.clj:106) at clojure.core$some.invoke(core.clj:2515) at compojure.core$routing.doInvoke(core.clj:106) at clojure.lang.RestFn.applyTo(RestFn.java:139) at clojure.core$apply.invoke(core.clj:626) at compojure.core$routes$fn__498.invoke(core.clj:111) at org.httpkit.server.HttpHandler.run(RingHandler.java:91) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744)

<IllegalArgumentException java.lang.IllegalArgumentException: No implementation of method: :take! of protocol: #'clojure.core.async.impl.protocols/ReadPort found for class: nil>

Do you have any idea whats wrong and what I can do to fix it?

jarohen commented 10 years ago

Hi Jakob, thanks for letting me know!

I don't know off-hand I'm afraid, it's not a bug I've seen before. If it's any help, I'm running Arch Linux, so I wouldn't've thought it was something Linux specific. Given the error message it looks like a problem with the code rather the environment, so I'm surprised the same code runs fine elsewhere.

Will take a look into it!

James

jakoblind commented 10 years ago

Hi,

I have spent some time debugging. It's not a bug in chord. When accessing the /ws service with the web browser, I get the stacktrace. When I access it via the CLJS code, everything works fine. I just started learning Clojure last weekend :) Sorry for the confusion and thanks for a great library!

//Jakob

jarohen commented 10 years ago

That's ok, not a problem, I like that kind of bug :)

If you have any questions, let me know!

James