This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2019-06-28
Channels
- # announcements (6)
- # aws (8)
- # bangalore-clj (1)
- # beginners (249)
- # calva (27)
- # cider (5)
- # clara (8)
- # clj-kondo (11)
- # cljs-dev (14)
- # cljsrn (21)
- # clojars (1)
- # clojure (206)
- # clojure-europe (3)
- # clojure-greece (2)
- # clojure-italy (39)
- # clojure-nl (19)
- # clojure-spec (50)
- # clojure-uk (19)
- # clojurescript (31)
- # clojurex (24)
- # community-development (10)
- # core-async (32)
- # core-typed (4)
- # cursive (8)
- # data-science (15)
- # datomic (42)
- # figwheel (1)
- # fulcro (18)
- # graalvm (6)
- # joker (1)
- # kaocha (1)
- # nyc (1)
- # off-topic (1)
- # reagent (5)
- # reitit (2)
- # remote-jobs (2)
- # shadow-cljs (3)
- # spacemacs (2)
- # tools-deps (65)
- # xtdb (3)
someone seen such an error before?
error: Exception in thread "clojure.core.async.timers/timeout-daemon"
error: java.lang.ClassCastException: clojure.core.async.impl.timers.TimeoutQueueEntry cannot be cast to clojure.core.async.impl.timers.TimeoutQueueEntry
error: Exception in thread "async-dispatch-3"
error: java.lang.IllegalArgumentException: No implementation of method: :blockable? of protocol: #'clojure.core.async.impl.protocols/Handler found for class: clojure.core.async.impl.ioc_macros$fn_handler$reify__6400
I'm getting bunch of these errors, from Windows trough an uberjar, tried core.async 0.4x and few 0.3x versions, and two jdk versions. I guess something didn't get bundled in the jar or?I'm not running reload-all anywhere, but I do have a require call in a macro. That could be the evil part. Can't there be some sort of defonce mechanism within core.async to prevent this?
I'm not running reload-all anywhere, but I do have a require call in a macro. That could be the evil part. Can't there be some sort of defonce mechanism within core.async to prevent this?
after deleting all code that calls require outside of ns decleration, I'm still getting these. Nowhere in the project I define a protocol, maybe some of the libs could be doing it. Not sure how to debug this.
It isn't a core.async issue, it is a, I dunno, code hygiene issue? Something is causing you to have two different classes with the same name, which can happen a few different ways, the most common is loading code more them once (require and use have mechanisms to avoid this but they can be bypassed). Another possibility is aot weirdness (maybe you are using an aot compiled library)
in fact if you search for that exception you actually get hits from people haing trouble because they used :reload-all with :require
This is aot code, created from badgieon, just compiled into target, resources gathered and zipped into a jar(single uberjar). This did work on linux and macos. I need to try again to confirm that since I made some changes since testing last time. Maybe I should skip aot on core.async? Don't know if I can skip specific libraries.
I require core async by both creating alias and refering to different functions. No reload-all, never added it.
in the windows case, I run the main class from java from the uberjar directory root, I'm actually not running from the jar from windows, since the manifest is always malformed.
it sounds like you have all kinds of broken problems, you could have all kinds of problems with the jar
yes, I got main class not found, it's a seperate headache. I edited the manifest in all ways, but the class was never found.
could be, but it's not doing anything enormous, just a wrapper for clojure compile and copying from classpath etc.
I could call clojure compile directly? This looks very thin too me https://github.com/EwenG/badigeon/blob/master/src/badigeon/compile.clj#L44-L90
nice 🙂 I will try leiningen, I bet you're right, not because I know about this, but because I know you know stuff