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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Compiler.loadFile中的随机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.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决定省略堆栈跟踪。这是通过使用-XX:-OmitStackTraceInFastThrow JVM标志修复的。 This article provided the explanation

以上是关于Compiler.loadFile中的随机NullPointerException没有原因的主要内容,如果未能解决你的问题,请参考以下文章

如何使用范围中的随机值填充数组? (重复没问题。)

LeetCode-链表

如何使用 phpunit 测试 JsonArray 中的随机值

随机出现 Null SqlCeTransaction

在c中随机化一维数组中的序列[重复]

while循环中的随机数[C编程] [重复]