Ошибка или нет ошибка? Что означает эта нечитаемая строка в выводе установки Maven?

Maveninstall вывод в Eclipse пишет несколько таких строк:

[ERROR]  50% 21/31 build modules 52% 22/31 build .... 

Я ставлю здесь только часть одной из этих строк, они очень длинные. Вы можете увидеть весь вывод на Google Drive. Ищите [ОШИБКУ] там.

Мне не нравится видеть эти сообщения об ошибках, не зная, о чем они. Что если они сигнализируют о чем-то действительно плохом? Или просто плохо? Или это просто шутки Мавена на Хэллоуин? Я боюсь, не.

Все проекты рабочей области кажутся installed Хорошо

[INFO] ca-sp .............................................. SUCCESS [ 24.287 s]
[INFO] ca-cm .............................................. SUCCESS [ 21.186 s]
[INFO] ca ................................................. SUCCESS [ 20.438 s]
[INFO] ca-tests ........................................... SUCCESS [  1.340 s]

Но

после этого в конце вижу:

FATAL ERROR in native method: JDWP Can't allocate jvmti memory, jvmtiError=JVMTI_ERROR_INVALID_ENVIRONMENT(116)
FATAL ERROR in native method: JDWP on getting class status, jvmtiError=JVMTI_ERROR_WRONG_PHASE(112)

Следующие строки выделены красным:

JDWP exit error JVMTI_ERROR_WRONG_PHASE(112): on getting class status [util.c:1285]
JDWP exit error JVMTI_ERROR_INVALID_ENVIRONMENT(116): Can't allocate jvmti memory [util.c:1799]
ERROR: JDWP unable to dispose of JVMTI environment: JVMTI_ERROR_INVALID_ENVIRONMENT(116)

Эти фатальные ошибки здесь известны как ошибки затмения. Боюсь, вы не поможете мне с ними. Когда maven делает установку, эти конечные ошибки могут появляться или нет, с вероятностью около 2/3. Но эти странные нечитаемые строки [ошибки] появляются всегда. Я надеюсь, что понимание их может спасти меня от ошибок, которые приходят в конце.

Затмение:
Версия: Oxygen.1a Release (4.7.1a)
Идентификатор сборки: 20171005-1200

Джава:
JDK-8u152-окна-x64.exe

1 ответ

Решение

Длинные строки журнала начинаются как

[ОШИБКА]???????????? 0% компиляции?????????????????????? 10% 0/1 сборочные модули

наиболее вероятно, что журналы индикаторов прогресса были установлены с неправильным уровнем (и неправильным образом?) на этапе разработки и никогда не менялись до соответствующего уровня при выпуске.

Вряд ли разработчик подумал, что на самом деле это ошибка сборки модуля, но забыл изменить уровень на [DEBUG/INFO],

символ ? отмечает непечатаемый символ, который всегда 0x08 знак равно BACKSPACE, Почему существуют такие символы и почему все это в одной строке - загадка. Может быть, кому-то нужен такой вывод для анализа?

Если вы удалите эти символы и добавите переводы строк в соответствующие места, вы получите что-то вроде этого (мое предположение в комментариях не обязательно правильное):

[ОШИБКА] 0% компиляции
10% 0/1 сборка модулей // сборка для модуля 1 запущена
70% 1/1 сборки модулей // сборка для модуля 1 близка к завершению
40% 1/2 сборки модулей // начата сборка для модуля 2
70% 2/2 сборки модулей // сборка для модуля 2 близка к завершению
50% 2/3 сборки модулей // начата сборка для модуля 3 (и так далее)
70% 3/3 сборочных модулей
54% 3/4 сборочных модуля

Интересная деталь заключается также в том, что перед каждой читаемой частью журнала, например, есть одинаковое количество обратных символов (я добавил строки, но в тексте есть пробелы):

????????????
  0% compile // два пробела перед текстом??????????????????????
 10% 0/1 построить модули // один пробел перед текстом

Стечение обстоятельств?

Другие вопросы по тегам