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 <brobro...@gmail.com> 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 <a...@puredanger.com> 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 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