Каково значение / причина *** java .lang.instrument ASSERTION FAILED ***: «! ErrorOutstanding» с ошибкой вызова метода преобразования сообщения? - PullRequest
3 голосов
/ 04 марта 2020

При выполнении теста с 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?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...