This code snippet blows up with a NullPointerException

public class TestClj {
  public static void main(String[] args) throws Exception {
    System.out.println( clojure.lang.Compiler.load(new
java.io.StringReader("42")) );
  }
}

Exception in thread "main" java.lang.ExceptionInInitializerError
        at clojure.lang.Namespace.<init>(Namespace.java:32)
        at clojure.lang.Namespace.findOrCreate(Namespace.java:122)
        at clojure.lang.Compiler.<clinit>(Compiler.java:181)
        at TestClj.main(TestClj.java:4)
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at clojure.lang.RT.<clinit>(RT.java:295)
        ... 4 more
Caused by: java.lang.NullPointerException
        at clojure.lang.RT.baseLoader(RT.java:1495)
        at clojure.lang.RT.load(RT.java:377)
        at clojure.lang.RT.load(RT.java:371)
        at clojure.lang.RT.doInit(RT.java:406)
        at clojure.lang.RT.<clinit>(RT.java:292)
        ... 4 more


This is caused by the fact that the static initializer for
Compiler.LOADER is getting initialized _after_ a few other static Vars
that call Namespace.findOrCreate, which assumes that Compiler.LOADER
has already been initialized.

The fix I found to work is by simply moving the definition of LOADER
just before the definition of SOURCE.

Can someone please fix this in master?  (I would have just fixed it
myself, but I didn't know about the whole contributor agreement
stuff...)

Thanks,
Jonathan
--~--~---------~--~----~------------~-------~--~----~
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