Внезапно из одного дня в другой, без видимых изменений в программном обеспечении или конфигурации, мы начинаем получать сбои JVM со следующим в системном журнале:
*** Error in `java': double free or corruption (fasttop): 0x00007f70344753d0 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x777e5)[0x7f7051ca17e5]
/lib/x86_64-linux-gnu/libc.so.6(+0x8037a)[0x7f7051caa37a]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x4c)[0x7f7051cae53c]
/usr/lib/jvm/java-8-openjdk-amd64/jre/lib/amd64/libfontmanager.so(Java_sun_font_FreetypeFontScaler_disposeNativeScaler+0x64)[0x7f7028cd6154]
[0x7f7039017e07]
Насколько я могу судить по подобным проблемам, это вызвано ошибкой в нативной библиотеке - в этом случае, вероятно, libfontmanager.so.
Как это можно диагностировать дальше? Могу ли я получить java-stacktrace из ситуации, вызвавшей эту проблему? В случае, если это проблема параллелизма, возможно, ее можно исправить на стороне java.
Использование OpenJDK 1.8.0_181 в Ubuntu 16.04.5. Я не могу найти более новую сборку Java в репозиториях Ubuntu - может быть, я упустил это из виду?
Это производственная среда, поэтому обновление основной версии Java и т. Д. Будет нелегким.