При выполнении теста с Gradle я начал получать вывод ниже на консоли. Этот вывод исходит от JVM, а не мой код. Kotlin DSL используется для настройки моей сборки Gradle.
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at line: 873
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at line: 873
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at line: 873
*** java.lang.instrument ASSERTION FAILED ***: "!errorOutstanding" with message transform method call failed at line: 873
Это происходит на Java 11
java --version
openjdk 11.0.6 2020-01-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.6+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.6+10, mixed mode)
Этот вывод не из моего кода, кажется, от JVM. В предыдущих версиях Java не указано ни одного имени файла, похоже, есть ошибка, связанная с этим https://bugs.openjdk.java.net/browse/JDK-8061621
JPLISAgent. c строка 873 может быть генерирует сообщение.
ОБНОВЛЕНИЕ:
Я просмотрел все свои журналы CI, чтобы определить фиксацию, которая привела к этой проблеме. Отследил его до этого кода в модульном тесте утилиты форматирования Json, основанной на Джексоне.
// try with a circular dependencies
Node a = new Node("a");
Node b = new Node("b");
a.setChild(b);
b.setParent(a);
assertThatExceptionOfType(JsonUtilsException.class).isThrownBy(() -> JsonUtils.toJson(a));
В частности, циклическая зависимость запускает вывод JVM. Я предполагаю, что Джексон действительно запутался в циклической зависимости, но я не понимаю, почему это вызывает ошибку утверждения JVM.
Вопросы: - Что означает это предупреждение / ошибка? - Какова типичная причина этой ошибки, ошибки подтверждения в JVM?