アプリケーションの CPU プロファイリングに VisualVM を使用すると、エラーが発生します。
「Profiler Agent エラー: メッセージ付き: エラー 66 で再定義に失敗しました」.
その上で、すべてのクラス ファイルをビルド パスからアプリケーションを起動した場所にコピーします。
私はそれに関するいくつかの情報を見つけようとしました.エラーコードの意味(JVMTIのドキュメントによると):
JVMTI_ERROR_UNSUPPORTED_REDEFINITION_HIERARCHY_CHANGED (66)
直接のスーパークラスが新しいクラス バージョンと異なるか、直接実装されたインターフェイスのセットが異なります。
プロファイリングは通常、私の環境 (Java ビルド 1.7.0_09-b05、Fedora 17 64 ビット) で機能します。Visualvm-docs に記載されているように、「-Xshare:off」を試しましたが、何の効果もありませんでした。
これは私がこの問題を経験している唯一の Java-SE アプリケーションであるため、私が使用しているライブラリに何らかの形で関連しているようです。以下は私のクラスパスにあります:
- Log4j 1.2.17
- アパッチ OpenJPA 2.2.1
- コモンズ構成 1.9
- コモンズ プール 1.6
- Postgresql 9.1-901jdbc4
- imgscar-lib-4.2
ライブラリとエラーの相関関係を確認できる人はいますか? 私は本当にもうアイデアがありません。