突然之间,从一天到第二天,没有明显的软件或配置更改,我们开始通过syslog中的以下内容使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端。
在Ubuntu 16.04.5上使用OpenJDK 1.8.0_181。我无法在Ubuntu存储库中找到更新的Java构建-也许我忽略了它?
这是一个生产环境,因此升级主要Java版本等并不容易。
答案 0 :(得分:1)
类似的原因可能是pdfbox版本1.8(或实际上可能是fontbox版本1.8)引起的。将两者都升级到2.0版之后,问题似乎已经消失了。
然而,为摆脱该问题,人们疯狂地尝试了几件事,因此这并不确定。同样,该问题是断断续续的,尽管到目前为止看起来还很可能尚未解决。