This page is not created by, affiliated with, or supported by Slack Technologies, Inc.
2022-11-15
Channels
- # aleph (24)
- # announcements (8)
- # babashka (27)
- # beginners (55)
- # biff (4)
- # calva (32)
- # cider (5)
- # clj-kondo (11)
- # clojure (59)
- # clojure-android (3)
- # clojure-australia (1)
- # clojure-belgium (6)
- # clojure-dev (21)
- # clojure-europe (26)
- # clojure-nl (1)
- # clojure-norway (17)
- # clojurescript (19)
- # css (1)
- # data-science (10)
- # datahike (17)
- # events (3)
- # figwheel-main (4)
- # honeysql (1)
- # hugsql (5)
- # hyperfiddle (1)
- # jobs (1)
- # leiningen (3)
- # lsp (6)
- # malli (5)
- # meander (4)
- # nbb (6)
- # off-topic (87)
- # pathom (19)
- # portal (2)
- # re-frame (4)
- # reitit (6)
- # releases (1)
- # remote-jobs (3)
- # shadow-cljs (29)
- # sql (8)
- # tools-deps (6)
- # xtdb (7)
when I bump shadow-cljs to use core.async 1.6.673 I get a weird failure I can't explain. any ideas? https://app.circleci.com/pipelines/github/thheller/shadow-cljs/524/workflows/1545b5a9-c989-433b-89ea-30dbacb1811b/jobs/1204 (full stacktrace available)
Execution error (NoSuchFieldError) at clojure.tools.analyzer.jvm.utils__init/load (REPL:259).
__thunk__0__
from 1.5.x?
the only change in 1.6 is to dynaload the ioc-macros namespace (which uses the analyzer) in the Clojure version
I'm assuming you're using the cljs side though
are you aot compiling?
this happens when loading shadow-cljs, which uses core.async. didn't even get to the CLJS compiler yet. from 1.5.648 yes
if aot compiling, then the analyzer will be dynamically loaded (requiring-resolve) during compilation and is not needed at runtime
I'm not sure how that translates to your error though
maybe has something to do with compilation order?
is this lein aot or tools.build or something else?
lein aot building two variants https://github.com/thheller/shadow-cljs/blob/master/project.clj#L79-L88
this change will definitely affect when/if tools.analyzer is going to be loaded during aot. in the aot'ed classes, can you diff the set of compiled classes from clojure.tools.analyzer. when using core.async 1.5.x vs 1.6.x ? I would consider maybe including one or more of the analyzer entry points in the compiled namespace list at the top
or just clojure.core.async.impl.ioc-macros
sorry, got distracted. adding the clojure.core.async.impl.ioc-macros
to the :aot
list seems to have fixed it
it does seem to cause trouble for other people as well, even when fixed in the shadow-cljs part. https://clojurians.slack.com/archives/C6N245JGG/p1668672181550289