Compiler.loadFile中的随机NullPointerException没有原因

问题描述 投票:0回答:1

我有一些代码运行了几个小时,然后自发地扔了一个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,它正在读取哪个文件,以及为什么它失败了。

没有更多的背景。我没有关于如何重现这个的任何信息,除了再试一次并运行几个小时。

关于我如何诊断这个的任何想法?

clojure nullpointerexception
1个回答
2
投票

这是我自己的代码中的NPE,但JVM决定省略堆栈跟踪。这是通过使用-XX:-OmitStackTraceInFastThrow JVM标志修复的。 This article provided the explanation

© www.soinside.com 2019 - 2024. All rights reserved.