При использовании VisualVM для профилирования процессора моего приложения я сталкиваюсь с ошибкой
«Ошибка агента профилировщика: с сообщением: Ошибка повторного определения с ошибкой 66».
При этом он копирует все class-файлы из пути сборки в место, откуда я запустил приложение.
Я попытался найти некоторую информацию об этом, код ошибки означает (согласно JVMTI-документации):
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED (66)
Отличается непосредственный суперкласс для новой версии класса или отличается набор непосредственно реализованных интерфейсов.
Поскольку профилирование обычно работает в моей среде (сборка Java 1.7.0_09-b05, Fedora 17 64-бит). Я пробовал «-Xshare: off», как сказано в Visualvm-docs, без какого-либо эффекта.
Поскольку это единственное приложение Java-SE, с которым я столкнулся с этой проблемой, кажется, что это как-то связано с библиотеками, которые я использую. В моем пути к классам находятся следующие:
- Log4j 1.2.17
- Apache OpenJPA 2.2.1
- Общая конфигурация 1.9
- Общий пул 1.6
- Postgresql 9.1-901jdbc4
- imgscalr-lib-4.2
Может ли кто-нибудь увидеть корреляцию между библиотеками и ошибкой? У меня действительно больше нет идей.