Что вызывает JVMTI_ERROR_NULL_POINTER?
Вопрос
Я получаю сообщение об ошибке при запуске моего приложения.Похоже, это происходит после инициализации соединения с базой данных.Это также может быть, когда он начинает порождать потоки, но мне не удалось заставить это произойти намеренно.
Полное сообщение об ошибке:
НЕУСТРАНИМАЯ ОШИБКА в собственном методе:Jdwp newglobalref, jvmtierror = jvmti_error_null_pointer (100) jdwp exit error jvmti_error_null_pointer (100):НовыйГлобальныйRef
Эриксон:Я не очень знаком с кодом БД, но, надеюсь, эта строка будет вам полезна:jdbc:sqlserver://localhost;имя базы данных=FOO
Том Хотин:Вероятно, я получал эту ошибку только во время отладки, но она не была достаточно последовательной, чтобы я мог ее заметить.
Кроме того, я исправил ошибку, из-за которой несколько потоков пытались обновить одну и ту же строку в БД, и я не получил JVMTI...ошибка т.к.
Решение
JVMTI — это протокол отладки и профилирования.Итак, я предполагаю, что это что-то особенное для среды, в которой вы пытаетесь запустить свое приложение.
Другие советы
Я предполагаю, что вы используете драйвер базы данных на основе собственного кода (тип драйвера JDBC 1 или 2).И я предполагаю, что драйвер глючный.Если бы вы могли предоставить дополнительную информацию о драйвере и конфигурации вашего источника данных или строке подключения, это могло бы помочь найти некоторые ответы.
Я поддерживаю Тома в этом вопросе, похоже, что ваш отладчик/агент JVMTI передает значение NULL в JVM через интерфейс JVMTI.Эта конкретная ошибка, вероятно, не является проблемой вашего кода приложения.