Я получаю segfaults в своей JVM примерно на той же фазе приложения, но с разными стеками стека в отчете о сбое. Однако это всегда происходит во время GC.
Поскольку авария происходит во всех трех JVM, которые я пробовал (OpenJDK 6, Oracle 1.6.0_25 и 1.7.0) и с двумя GC каждый (Parallel Collector и CMS), и это происходит вокруг одной и той же области приложения, я Если бы я мог найти то, что собирался собирать GC, я мог бы заметить некоторые особенности моего кода, которые приводят к этому сбою.
- Существуют ли какие-либо методы кодирования, которые, как известно, проблематичны для GC?
- Какие методы доступны для диагностики этой проблемы?
- Могу ли я сделать какие-либо обоснованные предположения о том, где в моем приложении эта проблема срабатывает?
- Какие параметры (GC tuning) можно воспроизвести, чтобы уменьшить проблему?
- Есть ли способ обнаружить (возможно) проблемные данные в дампе кучи?