Clojure Compiler.loadFile中无原因的随机NullPointerException

Clojure Compiler.loadFile中无原因的随机NullPointerException,clojure,nullpointerexception,Clojure,Nullpointerexception,我有一些代码运行了几个小时,然后自动抛出一个NPE: Exception in thread "main" java.lang.NullPointerException, compiling:(/tmp/form-init1523641998694521475.clj:1:73) at clojure.lang.Compiler.load(Compiler.java:7391) at clojure.lang.Compiler.loadFile(Compiler.

我有一些代码运行了几个小时,然后自动抛出一个NPE:

Exception in thread "main" java.lang.NullPointerException, compiling:(/tmp/form-init1523641998694521475.clj:1:73)
        at clojure.lang.Compiler.load(Compiler.java:7391)
        at clojure.lang.Compiler.loadFile(Compiler.java:7317)
        at clojure.main$load_script.invokeStatic(main.clj:275)
        at clojure.main$init_opt.invokeStatic(main.clj:277)
        at clojure.main$init_opt.invoke(main.clj:277)
        at clojure.main$initialize.invokeStatic(main.clj:308)
        at clojure.main$null_opt.invokeStatic(main.clj:342)
        at clojure.main$null_opt.invoke(main.clj:339)
        at clojure.main$main.invokeStatic(main.clj:421)
        at clojure.main$main.doInvoke(main.clj:384)
        at clojure.lang.RestFn.invoke(RestFn.java:421)
        at clojure.lang.Var.invoke(Var.java:383)
        at clojure.lang.AFn.applyToHelper(AFn.java:156)
        at clojure.lang.Var.applyTo(Var.java:700)
        at clojure.main.main(main.java:37)
Caused by: java.lang.NullPointerException
当这种情况发生时,程序已经完成了它通常做的所有事情,所以我不知道为什么它会自动调用
load script
,它正在读取哪个文件,以及为什么失败

没有更多的上下文。我没有任何关于如何复制这个的信息,除了再试一次并运行几个小时


关于如何诊断这个问题,有什么想法吗?

这是我自己代码中的一个NPE,但是JVM决定省略stacktrace。这是通过使用
-XX:-OmitStackTraceInFastThrow
JVM标志修复的

在我自己的代码中,这是一个NPE,但是JVM决定省略stacktrace。这是通过使用
-XX:-OmitStackTraceInFastThrow
JVM标志修复的

将这些行号与源代码相匹配,看起来您运行的是Clojure的1.9之前版本。也许1.8?早期的?从那以后,这些代码路径似乎发生了很大的变化。你是如何运行这个程序的?我认为这个问题超出了你的代码范围。Clojure版本1.8.0@JonahBenton。我发现了问题,这是我自己的NPE,但堆栈转储正在被删除。请看我的答案。将这些行号与源代码匹配,看起来您运行的是Clojure的1.9之前版本。也许1.8?早期的?从那以后,这些代码路径似乎发生了很大的变化。你是如何运行这个程序的?我认为这个问题超出了你的代码范围。Clojure版本1.8.0@JonahBenton。我发现了问题,这是我自己的NPE,但堆栈转储正在被删除。看看我的答案。