Do the failing projects require AOT compilation? we used to see a similar
exception in eastwood when reloading core.cache and  one of the AOT patches
committed can cause some namespaces to be reloaded
Il giorno 12/gen/2015 02:17, "Sean Corfield" <s...@corfield.org> ha scritto:

> I tried upgrading a few more apps and ran into this same problem in the
> absence of core.async - but in the presence of core.cache and core.memoize
> so I'm trying to create a small test case to isolate the issue.
>
> Sean
>
> > On Jan 11, 2015, at 5:07 PM, Sean Corfield <s...@corfield.org> wrote:
> >
> > The full Caused by stacktrace is this:
> >
> > Caused by: java.lang.IllegalArgumentException: No implementation of
> method: :has? of protocol: #'clojure.core.cache/CacheProtocol found for
> class: clojure.core.memoize.PluggableMemoization
> >       at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:555)
> >       at
> clojure.core.cache$eval1710$fn__1773$G__1699__1780.invoke(cache.clj:20)
> >       at clojure.core.cache$through.invoke(cache.clj:53)
> >       at clojure.core.memoize$through_STAR_.invoke(memoize.clj:52)
> >       at clojure.lang.Atom.swap(Atom.java:65)
> >       at clojure.core$swap_BANG_.invoke(core.clj:2236)
> >       at
> clojure.core.memoize$build_memoizer$fn__12665.doInvoke(memoize.clj:134)
> >       at clojure.lang.RestFn.applyTo(RestFn.java:137)
> >       at clojure.lang.AFunction$1.doInvoke(AFunction.java:29)
> >       at clojure.lang.RestFn.invoke(RestFn.java:408)
> >       at clojure.tools.analyzer.jvm$desugar_host_expr.invoke(jvm.clj:117)
> >       at clojure.tools.analyzer.jvm$macroexpand_1.invoke(jvm.clj:174)
> >       at clojure.tools.analyzer$fn__12389.invoke(analyzer.clj:281)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:238)
> >       at clojure.tools.analyzer$fn__12346.invoke(analyzer.clj:68)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$analyze_let.invoke(analyzer.clj:505)
> >       at clojure.tools.analyzer$fn__12469.invoke(analyzer.clj:530)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer.jvm$fn__13956.invoke(jvm.clj:66)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12389.invoke(analyzer.clj:283)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:238)
> >       at clojure.tools.analyzer$fn__12346.invoke(analyzer.clj:68)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12389.invoke(analyzer.clj:284)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:238)
> >       at clojure.tools.analyzer$fn__12346.invoke(analyzer.clj:68)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12392.invoke(analyzer.clj:295)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer.jvm$fn__13956.invoke(jvm.clj:66)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$analyze_body.invoke(analyzer.clj:366)
> >       at clojure.tools.analyzer$analyze_let.invoke(analyzer.clj:520)
> >       at clojure.tools.analyzer$fn__12471.invoke(analyzer.clj:540)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer.jvm$fn__13956.invoke(jvm.clj:66)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12389.invoke(analyzer.clj:283)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:238)
> >       at clojure.tools.analyzer$fn__12346.invoke(analyzer.clj:68)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12389.invoke(analyzer.clj:284)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:238)
> >       at clojure.tools.analyzer$fn__12346.invoke(analyzer.clj:68)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12392.invoke(analyzer.clj:295)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer.jvm$fn__13956.invoke(jvm.clj:66)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$fn__12389.invoke(analyzer.clj:283)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:238)
> >       at clojure.tools.analyzer$fn__12346.invoke(analyzer.clj:68)
> >       at clojure.lang.MultiFn.invoke(MultiFn.java:233)
> >       at clojure.tools.analyzer$analyze.invoke(analyzer.clj:123)
> >       at clojure.tools.analyzer.jvm$analyze$fn__14085.invoke(jvm.clj:476)
> >       at clojure.lang.AFn.applyToHelper(AFn.java:152)
> >       at clojure.lang.AFn.applyTo(AFn.java:144)
> >       at clojure.core$apply.invoke(core.clj:626)
> >       at clojure.core$with_bindings_STAR_.doInvoke(core.clj:1864)
> >       at clojure.lang.RestFn.invoke(RestFn.java:425)
> >       at clojure.tools.analyzer.jvm$analyze.invoke(jvm.clj:474)
> >       at clojure.tools.analyzer.jvm$analyze.invoke(jvm.clj:467)
> >       at
> clojure.core.async.impl.ioc_macros$state_machine.invoke(ioc_macros.clj:1062)
> >       at clojure.core.async$go.doInvoke(async.clj:384)
> >       at clojure.lang.RestFn.invoke(RestFn.java:442)
> >       at clojure.lang.Var.invoke(Var.java:388)
> >       at clojure.lang.AFn.applyToHelper(AFn.java:160)
> >       at clojure.lang.Var.applyTo(Var.java:700)
> >       at clojure.lang.Compiler.macroexpand1(Compiler.java:6606)
> >
> >
> >> On Jan 11, 2015, at 4:55 PM, Sean Corfield <s...@corfield.org> wrote:
> >>
> >> On Jan 11, 2015, at 6:34 AM, Alex Miller <a...@puredanger.com> wrote:
> >>> I would greatly appreciate hearing any feedback about this (or any
> other) alpha, even if it's just: everything looks ok.
> >>
> >> I upgraded an app that uses core.async (0.1.346.0-17112a-alpha) and got
> this exception on the ns that brings in clojure.core.async - it uses the
> latest versions of both core.cache and core.memoize as transitive
> dependencies, with no conflicts:
> >>
> >> Exception in thread "main" java.lang.IllegalArgumentException: No
> implementation of method: :has? of protocol:
> #'clojure.core.cache/CacheProtocol found for class:
> clojure.core.memoize.PluggableMemoization, compiling:(async.clj:433:6)
> >>      at clojure.lang.Compiler.macroexpand1(Compiler.java:6619)
> >>      at clojure.lang.Compiler.analyzeSeq(Compiler.java:6694)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6499)
> >>      at clojure.lang.Compiler.analyzeSeq(Compiler.java:6696)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6499)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6460)
> >>      at clojure.lang.Compiler$BodyExpr$Parser.parse(Compiler.java:5836)
> >>      at clojure.lang.Compiler$FnMethod.parse(Compiler.java:5271)
> >>      at clojure.lang.Compiler$FnExpr.parse(Compiler.java:3900)
> >>      at clojure.lang.Compiler.analyzeSeq(Compiler.java:6706)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6499)
> >>      at clojure.lang.Compiler.analyzeSeq(Compiler.java:6696)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6499)
> >>      at clojure.lang.Compiler.access$200(Compiler.java:38)
> >>      at clojure.lang.Compiler$DefExpr$Parser.parse(Compiler.java:560)
> >>      at clojure.lang.Compiler.analyzeSeq(Compiler.java:6708)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6499)
> >>      at clojure.lang.Compiler.analyze(Compiler.java:6460)
> >>      at clojure.lang.Compiler.eval(Compiler.java:6771)
> >>      at clojure.lang.Compiler.load(Compiler.java:7194)
> >>      at clojure.lang.RT.loadResourceScript(RT.java:370)
> >>      at clojure.lang.RT.loadResourceScript(RT.java:361)
> >>      at clojure.lang.RT.load(RT.java:440)
> >>      at clojure.lang.RT.load(RT.java:411)
> >>      at clojure.core$load$fn__5436.invoke(core.clj:5863)
> >>      at clojure.core$load.doInvoke(core.clj:5862)
> >>      at clojure.lang.RestFn.invoke(RestFn.java:408)
> >>      at clojure.core$load_one.invoke(core.clj:5653)
> >>      at clojure.core$load_lib$fn__5383.invoke(core.clj:5708)
> >>      at clojure.core$load_lib.doInvoke(core.clj:5707)
> >>      at clojure.lang.RestFn.applyTo(RestFn.java:142)
> >>      at clojure.core$apply.invoke(core.clj:628)
> >>      at clojure.core$load_libs.doInvoke(core.clj:5746)
> >>      at clojure.lang.RestFn.applyTo(RestFn.java:137)
> >>      at clojure.core$apply.invoke(core.clj:628)
> >>      at clojure.core$require.doInvoke(core.clj:5829)
> >>      at clojure.lang.RestFn.invoke(RestFn.java:551)
> >>      at
> dynamo.auth$eval1147$loading__5322__auto____1148.invoke(auth.clj:5)
> >>      at dynamo.auth$eval1147.invoke(auth.clj:5)
> >> ...
> >> Caused by: java.lang.IllegalArgumentException: No implementation of
> method: :has? of protocol: #'clojure.core.cache/CacheProtocol found for
> class: clojure.core.memoize.PluggableMemoization
> >>      at clojure.core$_cache_protocol_fn.invoke(core_deftype.clj:555)
> >>      at
> clojure.core.cache$eval1710$fn__1773$G__1699__1780.invoke(cache.clj:20)
> >>      at clojure.core.cache$through.invoke(cache.clj:53)
> >>      at clojure.core.memoize$through_STAR_.invoke(memoize.clj:52)
> >>      at clojure.lang.Atom.swap(Atom.java:65)
> >>      at clojure.core$swap_BANG_.invoke(core.clj:2236)
> >>      at
> clojure.core.memoize$build_memoizer$fn__12665.doInvoke(memoize.clj:134)
> >> ...
> >>
> >
> >
>
> Sean Corfield -- (904) 302-SEAN
> An Architect's View -- http://corfield.org/
>
> "Perfection is the enemy of the good."
> -- Gustave Flaubert, French realist novelist (1821-1880)
>
>
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to clojure@googlegroups.com
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> clojure+unsubscr...@googlegroups.com
> For more options, visit this group at
> http://groups.google.com/group/clojure?hl=en
> ---
> You received this message because you are subscribed to the Google Groups
> "Clojure" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to clojure+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to