Nicola, Sean:
I am _not_ testing with Sean's code, so can't comment whether my results
will correspond with his.
I have found that between Clojure 1.7.0-alpha4 and 1.7.0-alpha5, and the
latest Eastwood version 0.2.1 released, I get an exception trying to lint
the namespace clojure.reflect in Clojure itself with 1.7.0-alpha5, but not
with 1.7.0-alpha4, and the exception message is similar in that it has to
do with "No implementation of method: ..." for a protocol.
I went through several of the individual commits between alpha4 and alpha5,
and found it was the commit for CLJ-979 that introduced the change in
behavior. I can even take the CLJ-979 patch and patch it into Clojure
1.7.0-alpha4, and I get the same exception. Details of the exception and
stack trace I get below.
Andy
I created a project directory to run the command below in. It simply has a
dependency on my custom-built version of Clojure.
% lein do clean, eastwood '{:namespaces [clojure.reflect]}'
== Eastwood 0.2.1 Clojure 1.7.0-alpha4c979only JVM 1.7.0_45
== Linting clojure.reflect ==
Exception thrown during phase :analyze+eval of linting namespace
clojure.reflect
IllegalArgumentException No implementation of method: :do-reflect of
protocol: #'clojure.reflect/Reflector found for class:
clojure.reflect.JavaReflector
clojure.core/-cache-protocol-fn (core_deftype.clj:555)
clojure.reflect/eval6486/fn--6487/G--6470--6490
(form-init6080826551765301071.clj:1)
clojure.core/partial/fn--4490 (core.clj:2489)
clojure.reflect/type-reflect (reflect.clj:100)
clojure.core/apply (core.clj:632)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/type-reflect
(utils.clj:24)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/members*--1293
(utils.clj:271)
clojure.core/apply (core.clj:626)
eastwood.copieddeps.dep3.clojure.core.memoize/through*/fn--1072
(memoize.clj:66)
eastwood.copieddeps.dep4.clojure.core.cache/through/fn--872 (cache.clj:55)
eastwood.copieddeps.dep3.clojure.core.memoize/through*/fn--1068/fn--1069
(memoize.clj:65)
eastwood.copieddeps.dep3.clojure.core.memoize/d-lay/reify--1063
(memoize.clj:54)
clojure.core/deref (core.clj:2202)
eastwood.copieddeps.dep3.clojure.core.memoize/build-memoizer/fn--1123
(memoize.clj:152)
clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/members
(utils.clj:280)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/instance-members
(utils.clj:289)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm.utils/instance-methods
(utils.clj:299)
eastwood.copieddeps.dep2.clojure.tools.analyzer.passes.jvm.validate/validate-call
(validate.clj:91)
eastwood.copieddeps.dep2.clojure.tools.analyzer.passes.jvm.validate/eval2056/fn--2058
(validate.clj:148)
clojure.lang.MultiFn.invoke (MultiFn.java:229)
eastwood.copieddeps.dep2.clojure.tools.analyzer.passes.jvm.validate/validate
(validate.clj:264)
clojure.lang.Var.invoke (Var.java:379)
eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--579
(passes.clj:171)
eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--581
(passes.clj:173)
eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--581
(passes.clj:173)
eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/fn--574/fn--581
(passes.clj:173)
clojure.core/partial/fn--4492 (core.clj:2496)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:102)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:58)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191/walk--192
(ast.clj:96)
eastwood.copieddeps.dep1.clojure.tools.analyzer.utils/mapv' (utils.clj:208)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children/fn--182
(ast.clj:51)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6414 (protocols.clj:65)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/-update-children
(ast.clj:56)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/update-children-reduced
(ast.clj:64)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk/walk--191
(ast.clj:99)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/walk (ast.clj:95)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/postwalk (ast.clj:115)
eastwood.copieddeps.dep1.clojure.tools.analyzer.ast/postwalk (ast.clj:113)
eastwood.copieddeps.dep1.clojure.tools.analyzer.passes/compile-passes/analyze--586
(passes.clj:175)
clojure.core/comp/fn--4458 (core.clj:2434)
clojure.core/comp/fn--4458 (core.clj:2434)
eastwood.analyze-ns/run-passes (analyze_ns.clj:157)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm/analyze/fn--3553
(jvm.clj:474)
clojure.core/apply (core.clj:626)
clojure.core/with-bindings* (core.clj:1864)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm/analyze (jvm.clj:470)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm/analyze+eval
(jvm.clj:518)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm/analyze+eval/fn--3574
(jvm.clj:505)
clojure.core/mapv/fn--6657 (core.clj:6558)
clojure.lang.ArrayChunk.reduce (ArrayChunk.java:63)
clojure.core.protocols/fn--6433 (protocols.clj:103)
clojure.core.protocols/fn--6395/G--6390--6404 (protocols.clj:19)
clojure.core.protocols/seq-reduce (protocols.clj:31)
clojure.core.protocols/fn--6418 (protocols.clj:53)
clojure.core.protocols/fn--6369/G--6364--6382 (protocols.clj:13)
clojure.core/reduce (core.clj:6461)
clojure.core/mapv (core.clj:6558)
eastwood.copieddeps.dep2.clojure.tools.analyzer.jvm/analyze+eval
(jvm.clj:503)
eastwood.analyze-ns/analyze-file/fn--4173/fn--4175 (analyze_ns.clj:279)
eastwood.analyze-ns/analyze-file/fn--4173 (analyze_ns.clj:276)
eastwood.analyze-ns/analyze-file (analyze_ns.clj:274)
eastwood.analyze-ns/analyze-ns (analyze_ns.clj:327)
eastwood.lint/lint-ns (lint.clj:569)
eastwood.lint/eastwood-core/fn--6336 (lint.clj:1041)
eastwood.lint/eastwood-core (lint.clj:1040)
eastwood.lint/eastwood (lint.clj:1154)
eastwood.lint/eastwood-from-cmdline (lint.clj:1167)
clojure.lang.Var.invoke (Var.java:379)
eastwood.versioncheck/run-eastwood (versioncheck.clj:15)
user/eval21 (form-init6080826551765301071.clj:1)
clojure.lang.Compiler.eval (Compiler.java:6767)
clojure.lang.Compiler.eval (Compiler.java:6757)
clojure.lang.Compiler.load (Compiler.java:7194)
clojure.lang.Compiler.loadFile (Compiler.java:7150)
clojure.main/load-script (main.clj:274)
clojure.main/init-opt (main.clj:279)
clojure.main/initialize (main.clj:307)
clojure.main/null-opt (main.clj:342)
clojure.main/main (main.clj:420)
clojure.lang.Var.invoke (Var.java:383)
clojure.lang.Var.applyTo (Var.java:700)
clojure.main.main (main.java:37)
The following form was being processed during the exception:
(defprotocol
TypeReference
"A TypeReference can be unambiguously converted to a type name on\n the
host platform.\n\n All typerefs are normalized into symbols. If you need
to\n normalize a typeref yourself, call typesym."
(typename
[o]
"Returns Java name as returned by ASM getClassName, e.g. byte[],
java.lang.String[]"))
Shown again with metadata for debugging (some metadata elided for brevity):
^{:line 48}
(^{:line 48} defprotocol
^{:line 48} TypeReference
"A TypeReference can be unambiguously converted to a type name on\n the
host platform.\n\n All typerefs are normalized into symbols. If you need
to\n normalize a typeref yourself, call typesym."
^{:line 54}
(^{:line 54} typename
^{:line 54} [^{:line 54} o]
"Returns Java name as returned by ASM getClassName, e.g. byte[],
java.lang.String[]"))
An exception was thrown while analyzing namespace clojure.reflect
Lint results may be incomplete. If there are compilation errors in
your code, try fixing those. If not, check above for info on the
exception.
Exception thrown while analyzing last namespace.
== Warnings: 0 (not including reflection warnings) Exceptions thrown: 1
Subprocess failed
On Mon, Jan 12, 2015 at 8:09 AM, Nicola Mometto <[email protected]> wrote:
>
> Can you try a custom version of clojure 1.7.0-alpha5 with commit
> e5a104e894ed82f244d69513918d570cee5df67d reverted and see if you still
> get the exception?
>
> Nicola
>
> Sean Corfield writes:
>
> > Here’s what I see reproducing this in the REPL - this main project
> doesn't use core.async (but does use a very small AOT'd library). I'm going
> to try to cut this down to see if I can repro outside our main project
> (worldsingles.cache is a thin wrapper over core.cache and core.memoize -
> moving that exact same code to a fresh project, without any other
> dependencies, works so it's something in combination with our other
> dependencies):
> >
> > user=> (require 'worldsingles.cache)
> > nil
> > user=> (defn foo[n] (+ 13 n))
> > #'user/foo
> > user=> (worldsingles.cache/memo foo "site")
> > #<clojure.lang.AFunction$1@7090307d>
> > user=> (*1 42)
> >
> > IllegalArgumentException No implementation of method: :has? of protocol:
> #'clojure.core.cache/CacheProtocol found for class:
> clojure.core.memoize.PluggableMemoization clojure.core/-cache-protocol-fn
> (core_deftype.clj:555)
> > user=> (pst *e)
> > IllegalArgumentException No implementation of method: :has? of protocol:
> #'clojure.core.cache/CacheProtocol found for class:
> clojure.core.memoize.PluggableMemoization
> > clojure.core/-cache-protocol-fn (core_deftype.clj:555)
> > clojure.core.cache/eval2178/fn--2241/G--2167--2248 (cache.clj:20)
> > clojure.core.cache/through (cache.clj:53)
> > clojure.core.memoize/through* (memoize.clj:52)
> > clojure.lang.Atom.swap (Atom.java:65)
> > clojure.core/swap! (core.clj:2236)
> > clojure.core.memoize/build-memoizer/fn--12665 (memoize.clj:134)
> > clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
> > user/eval2486 (form-init7972562298655212181.clj:1)
> > clojure.lang.Compiler.eval (Compiler.java:6767)
> > clojure.lang.Compiler.eval (Compiler.java:6730)
> > clojure.core/eval (core.clj:3076)
> > nil
> > user=> (clojure.stacktrace/print-stack-trace *e)
> > 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)
> > clojure.core.cache$eval2178$fn__2241$G__2167__2248.invoke
> (cache.clj:20)
> > clojure.core.cache$through.invoke (cache.clj:53)
> > clojure.core.memoize$through_STAR_.invoke (memoize.clj:52)
> > clojure.lang.Atom.swap (Atom.java:65)
> > clojure.core$swap_BANG_.invoke (core.clj:2236)
> > clojure.core.memoize$build_memoizer$fn__12665.doInvoke
> (memoize.clj:134)
> > clojure.lang.RestFn.applyTo (RestFn.java:137)
> > clojure.lang.AFunction$1.doInvoke (AFunction.java:29)
> > clojure.lang.RestFn.invoke (RestFn.java:408)
> > user$eval2486.invoke (form-init7972562298655212181.clj:1)
> > clojure.lang.Compiler.eval (Compiler.java:6767)
> > clojure.lang.Compiler.eval (Compiler.java:6730)
> > clojure.core$eval.invoke (core.clj:3076)
> > clojure.main$repl$read_eval_print__7311$fn__7314.invoke
> (main.clj:239)
> > clojure.main$repl$read_eval_print__7311.invoke (main.clj:239)
> > clojure.main$repl$fn__7320.invoke (main.clj:257)
> > clojure.main$repl.doInvoke (main.clj:257)
> > clojure.lang.RestFn.invoke (RestFn.java:1523)
> >
> clojure.tools.nrepl.middleware.interruptible_eval$evaluate$fn__876.invoke
> (interruptible_eval.clj:67)
> > clojure.lang.AFn.applyToHelper (AFn.java:152)
> > clojure.lang.AFn.applyTo (AFn.java:144)
> > clojure.core$apply.invoke (core.clj:626)
> > clojure.core$with_bindings_STAR_.doInvoke (core.clj:1864)
> > clojure.lang.RestFn.invoke (RestFn.java:425)
> > clojure.tools.nrepl.middleware.interruptible_eval$evaluate.invoke
> (interruptible_eval.clj:51)
> >
>
> clojure.tools.nrepl.middleware.interruptible_eval$interruptible_eval$fn__918$fn__921.invoke
> (interruptible_eval.clj:183)
> >
> clojure.tools.nrepl.middleware.interruptible_eval$run_next$fn__911.invoke
> (interruptible_eval.clj:152)
> > clojure.lang.AFn.run (AFn.java:22)
> > java.util.concurrent.ThreadPoolExecutor.runWorker
> (ThreadPoolExecutor.java:1142)
> > java.util.concurrent.ThreadPoolExecutor$Worker.run
> (ThreadPoolExecutor.java:617)
> > java.lang.Thread.run (Thread.java:745)
> > nil
> > user=>
> >
> >> On Jan 12, 2015, at 6:30 AM, Alex Miller <[email protected]> wrote:
> >>
> >> Do you have the full stack trace in the cases where you see this
> without core.async?
>
> --
>
> --
> You received this message because you are subscribed to the Google
> Groups "Clojure" group.
> To post to this group, send email to [email protected]
> Note that posts from new members are moderated - please be patient with
> your first post.
> To unsubscribe from this group, send email to
> [email protected]
> 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 [email protected].
> 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 [email protected]
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
[email protected]
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 [email protected].
For more options, visit https://groups.google.com/d/optout.