Hello Sean,

Thank you for your asnwer! It was a nice and helpful demonstration of how
to read stack traces better.

The stack trace points to *ns-tracker*  as the cause and indeed removing it
fixes the problem. However it is actually conflict between ns-tracker and
*clj-ns-browser* that causes the failure; removing any one fixes it. But
the stack trace points only to ns-tracker (I guess we actually cannot
expect more from it.) Thank you for reminding me of lein deps :tree, I
should finally remember to use it. It unfortunately does not mention
clj-ns-browser at all (I have it among user dependencies in profile.clj).
Any idea why could that be?

Thank you!


2014-04-03 0:01 GMT+02:00 Sean Corfield <s...@corfield.org>:

> On Apr 2, 2014, at 4:49 AM, Jakub Holy <jakub.h...@iterate.no> wrote:
>
> *The problem is that the stack trace contains no indication that it is
> clj-ns-browser that is causing the problem.* I would like to know if
> there are any tricks to troubleshoot these problems other than binary
> search through deps/plugins in profile.clj.
>
>
> Well you can use: lein deps :tree
>
> That will show you any version conflicts as well as the paths by which
> those conflicts are reached - and it will suggest exclusions to resolve the
> conflicts (although some version conflicts can't be resolved as-is - you
> must upgrade one or other of your dependencies to get things working).
>
> But if you want to start from the stack trace...
>
> A lot of the stack trace can be thrown away / ignored which helps narrow
> things down...
>
> $ lein ring server
> Exception in thread "main" java.io.FileNotFoundException: Could not locate
> clojure/tools/namespace/parse__init.class or
> clojure/tools/namespace/parse.clj on classpath: ,
> compiling:(ns_tracker/parse.clj:1:1)
>
>
> ^^^ This tells us it failed to load clojure.tools.namespace.parse while
> compiling ns-tracker.parse...
>
> at ns_tracker.core$eval514$loading__4958__auto____515.invoke(core.clj:1)
>  at ns_tracker.core$eval514.invoke(core.clj:1)
>
>
> ^^^ ...which it found in ns-tracker.core...
>
> at
> ring.middleware.reload$eval508$loading__4958__auto____509.invoke(reload.clj:1)
>  at ring.middleware.reload$eval508.invoke(reload.clj:1)
>
>
> ^^^ ...which it found in ring.middleware.reload...
>
> at
> ring.server.standalone$eval15$loading__4958__auto____16.invoke(standalone.clj:1)
>  at ring.server.standalone$eval15.invoke(standalone.clj:1)
>
>
> ^^^ ...which it found in ring.server.standalone...
>
> at
> ring.server.leiningen$eval9$loading__4958__auto____10.invoke(leiningen.clj:1)
>  at ring.server.leiningen$eval9.invoke(leiningen.clj:1)
>
>
> ^^^ ...and now we're at the top-level (since this was invoked from the
> user namespace):
>
> at user$eval5.invoke(form-init6357505187919130689.clj:1)
>
>
> And because all these seem to be at line 1, they're likely the (ns ...)
> forms and so we have part of the dependency chain. I mostly just skipped
> over all the clojure.* stuff except for noting (in my head) that
> clojure.core/load and clojure.core/use were called along that path.
>
> Does that help at all?
>
> 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)
>
>
>
>


-- 
*Forget software. Strive to make an impact, deliver a valuable change.*

* (**Vær så snill og hjelp meg med å forbedre norsken **min –** skriftlig
og muntlig. Takk!**)*

Jakub Holy
Solutions Engineer | +47 966 23 666
Iterate AS | www.iterate.no
The Lean Software Development Consultancy
- http://theholyjava.wordpress.com/ -

-- 
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