Clojure Compiler.loadFile中无原因的随机NullPointerException
我有一些代码运行了几个小时,然后自动抛出一个NPE: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.
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,但堆栈转储正在被删除。看看我的答案。