Got this doing a load-file:

#<CompilerException java.lang.ClassFormatError: Unknown constant tag
116 in class file hxr/priv/idb$eval__10559 (NO_SOURCE_FILE:0)>

Full stack trace:

java.lang.ClassFormatError: Unknown constant tag 116 in class file com/
foo/bar$eval__10559 (NO_SOURCE_FILE:0)
        at clojure.lang.Compiler.eval(Compiler.java:4543)
        at clojure.core$eval__3990.invoke(core.clj:1728)
        at clojure.main$repl__5813$read_eval_print__5825.invoke(main.clj:176)
        at clojure.main$repl__5813.doInvoke(main.clj:193)
        at clojure.lang.RestFn.invoke(RestFn.java:548)
        at org.enclojure.repl.main
$create_clojure_repl__53$repl_thread_fn__55.invoke(main.clj:96)
        at clojure.lang.AFn.run(AFn.java:37)
        at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.ClassFormatError: Unknown constant tag 116 in
class file com/foo/bar$eval__10559
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:621)
        at java.lang.ClassLoader.defineClass(ClassLoader.java:466)
        at clojure.lang.DynamicClassLoader.defineClass
(DynamicClassLoader.java:42)
        at clojure.lang.Compiler$FnExpr.getCompiledClass(Compiler.java:3417)
        at clojure.lang.Compiler$FnExpr.eval(Compiler.java:3428)
        at clojure.lang.Compiler.eval(Compiler.java:4531)
        ... 7 more

None of this points to a specific line in my code, and I'm fairly sure
it's syntactically valid. All I've done is to add a couple of function
and macro definitions since it was working last.

This is an excellent example of an unhelpful compile error -- I have
no frigging clue whatsoever where in a 2000-line source file the error
is, other than that it is presumably in a part I've changed recently.

Besides fixing this one to point to an actual line in the source file,
the message could use changing. "Unknown constant tag 116" is not
meaningful to the average Clojure coder. It does suggest maybe the
problem is with a constant, but the only two new constant definitions
are:

(def *work-queues* (atom {}))
(def *shuffled-workqueue-min* 100)

I don't see any obvious problems with either definition.

(The actual namespace is not com/foo/bar, of course. I don't think the
exact namespace name is relevant and it may subtly leak confidential
information so I took the liberty of changing it.)
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to