是什么引起了JVMTI_ERROR_NULL_POINTER?

时间:2020-03-05 18:50:11  来源:igfitidea点击:

我的应用程序启动时出现错误。它似乎是在初始化其与数据库的连接之后。也可能是当它开始产生线程时,但是我还无法使它故意发生。

整个错误消息是:
本机方法中的致命错误:JDWP NewGlobalRef,jvmtiError = JVMTI_ERROR_NULL_POINTER(100)
JDWP退出错误JVMTI_ERROR_NULL_POINTER(100):NewGlobalRef

埃里克森:
我对数据库代码不是很熟悉,但是希望此字符串会有所帮助:
jdbc:sqlserver:// localhost;数据库名称= FOO

汤姆·霍顿:
可能是我在调试时仅收到此错误,但它的一致性不足以引起我注意。

另外,我修复了一个错误,该错误导致多个线程尝试更新数据库中的同一行,并且此后我还没有收到JVMTI ...错误。

解决方案

回答

我猜我们正在使用基于本机代码的数据库驱动程序(JDBC驱动程序类型1或者2)。而且我猜该驱动程序存在问题。如果我们可以提供有关驱动程序和数据源配置或者连接字符串的更多信息,则可能有助于确定一些答案。

回答

JVMTI是调试和概要分析协议。因此,我想这是我们尝试在其中运行应用程序的环境所特有的。

回答

我与汤姆在一起,看来调试器/ JVMTI代理正在通过JVMTI接口将NULL值传递给JVM。此特定错误可能与应用程序代码无关。