2015-02-20 2 views
1

JVM неожиданно и часто вызывает сбои в нашей среде prod и приводит к снижению Jboss (EAP6.3). У нас есть java7 U72 установленJVM часто случается с ошибками

крешлогам имеет тот же результат, где текущий поток:

Текущая тема (0x00000000d1d99000): JavaThread "Lucene Merge Thread # 0" демон [_thread_in_Java, ID = 1144, стек (0x00000000f6a00000 , 0x00000000f6b00000)]

и все бревно полно:

JavaThread "elasticsearch [Node BD852E44] [поиск] [T # 68]" демон [_thread_bloc рунец, ID = 14396, стек (0x00000000f7b30000,0x00000000f7c30000)]

elasticsearch некоторые были связаны с индексацией и использует Lucene в капот, насколько я понимаю, но у нас есть номер или приложение, развернутое, как проверить это может Пожалуйста, помогите. полные журналы сбоев: http://pastebin.com/845LU9iK

+0

Не могли бы вы вставить полный crashlog? Свержения уже трудно диагностировать, если вы вычеркнете контекст, это только усложняется. – the8472

+0

Это не позволит мне пропустить полные lgg здесь. Вы можете предложить, как это сделать? –

+0

pastebin или gist.github – the8472

ответ

0

Похоже, что не удалось записать трассировки стека для затронутой нити. Если это то же самое для всех сбоев, то это, похоже, не соответствует известным ошибкам lucene или jboss.

# guarantee(result == EXCEPTION_CONTINUE_EXECUTION) failed: Unexpected result from topLevelExceptionFilter 

AIUI это указывает на ошибку в нативной обработки исключений, так что одна ошибка маскировки другой, вероятно, делает этот журнал аварии довольно бесполезно.

Так что я могу только представить действительно общий совет:

  • вы используете старую версию JVM, обновление до последней Java 7, Java 8 или, возможно, даже ява 9 DEV сборки и увидеть, если он идет далеко.
    Даже если они все еще врезаться они могут обеспечить различные/более полезные ошибки сообщает
  • диагностировать потенциальные ошибки компилятора можно попытаться запустить с помощью следующих флагов
    • -XX:-TieredCompilation следует отключить C1 компилятор
    • -XX:+TieredCompilation -XX:TieredStopAtLevel=1 РЕКОМЕНДУЕМЫМ отключить C2 компилятор
    • -Xint отключает все JIT, очень медленно
  • спросите в списке hotspot-dev рассылки для дальнейших указаний

: Tiered compilation новая функция Java 7, он в основном сочетает в себе интерпретатор, C1 и C2 JIT компилятор (которые ранее были использованы отдельно в клиенте и на сервере виртуальных машин) на различные этапы оптимизации.

У каждого из них могут быть ошибки оптимизации. Отключение отдельных этапов помогает изолировать их как потенциальную причину.


Edit: Новый отчет о сбое является более полезным, так как он, по крайней мере имеет Java кадры, интересная часть заключается в следующем:

J 1559 sun.misc.Unsafe.getByte(J)B (0 bytes) @ 0x000000000178e99b [0x000000000178e960+0x3b] 
j java.nio.DirectByteBuffer.get()B+11 
j org.apache.lucene.store.ByteBufferIndexInput.readByte()B+4 
J 9447 C2 org.apache.lucene.store.DataInput.readVInt()I (114 bytes) @ 0x000000000348cc00 [0x000000000348cbc0+0x40] 

DataInput.readVInt, как представляется, постоянным источником горя, см this SO answer для возможных решений

+0

Мы недавно повысили java до jdk1.7.0_72 от jdk1.6.0_26 ... проблема все еще сохраняется, не уверен, что продвижение java на следующий уровень было бы полезно ... Есть ли способ узнать собственный код, в котором applyatino является вызывая Луцену ...? Кроме того, я не уверен, как и что произойдет, когда я запустил флаг компилятора disable ... поэтому запуск слепых в среде Prod - это то, что может сильно ухудшить ситуацию ... есть ли ссылка, которую я могу сослаться на получение более подробной информации о флагах, которые вы поставляется? –

+0

Если вы не хотите делать это на производстве, я рекомендую настроить среду, которая реплицирует производство и воспроизводит проблему там. Это или жить с ухудшением производительности во время тестирования, я предполагаю, что сбои JVM не лучше, чем медленные JVM. Я добавлю некоторые детали относительно параметров. – the8472

+0

«Есть ли способ найти собственный код, из которого аппликатино запускает Lucene». Не уверен, что вы просите. – the8472

Смежные вопросы