Do you have the full stack trace in the cases where you see this without 
core.async?

On Sunday, January 11, 2015 at 7:17:27 PM UTC-6, Sean Corfield wrote:
>
> 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 <se...@corfield.org 
> <javascript:>> 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 <se...@corfield.org 
> <javascript:>> wrote: 
> >> 
> >> On Jan 11, 2015, at 6:34 AM, Alex Miller <al...@puredanger.com 
> <javascript:>> 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.

Reply via email to