Как анализировать файл аварийной ситуации JVM hs_err_pidXYZ.log

При работе с webapp в Eclipse и Tomcat (wtp) tomcat сбой и создание файла: hs_err_pid20216.log

Я пытался использовать Eclipse MAT для анализа файла, но MAT не распознает файл как что-то, что он может обрабатывать, я также пробовал DAT, и это было то же самое. Он не будет отображаться в диалоговом окне открытого файла.

Что это за файл?

Что я должен использовать для его анализа?

Должен ли я внести изменения в этот файл, чтобы эти инструменты могли анализировать его.

Файл журнала доступен как GitHub gist

UPDATE:

См. ответ @Dan Cruz для получения дополнительной информации о том, как обращаться с файлом hs_err_pidXYZ.log. Любопытно, что причиной крушения был Джексон, смущенный циклическими отношениями (двунаправленный один-ко-многим), но это еще одна история...

Ответ 1

Что это за файл?

Это файл журнала ошибок HotSpot в текстовом формате.

Что я должен использовать для его анализа?

Начните с загрузки исходного пакета OpenJDK 6. Поиск по файлам hotspot *.cpp для строк в журнале ошибок. Просмотрите исходные файлы для объяснения того, что содержит журнал ошибок.

Например, используя источники OpenJDK 7, вы можете найти siginfo (информацию о сигнале процесса операционной системы) в методе os::print_siginfo() os_linux.cpp, Registers (значения регистров CPU) в методе os::print_context() os_linux_x86.cpp и т.д.

Должен ли я вносить изменения в этот файл, так что эти инструменты смогут его проанализировать.

Это было бы невозможно, так как Eclipse Memory Analyzer требует кучный файл, который не является журналом ошибок HotSpot.

Ответ 2

Это текстовый файл. Откройте его в редакторе и попытайтесь понять, что это значит.

Ответ 3

https://fastthread.io дает хорошо описательный анализ файла. ему просто нужно загрузить его, и он выдаст следующие элементы:

  1. Причина аварии
  2. Рекомендуемые решения
  3. Активная тема (при сбое приложения)
  4. Расположение основного дампа
  5. Все темы
  6. ...