Eclipse MAT和Heaphero都是分析大型堆转储的流行Java工具。 最近,当我们尝试在Eclipse MAT中分析堆转储文件时遇到了一个有趣的问题。 工具因缺少字体crash而崩溃。 我们认为我们将与您分享发现的结果。
CompositeStrike.getStrikeForSlot()中的ArrayIndexOutOfBoundsException
这是我们的环境:
- Eclipse MAT 1.9
- Java 8
- Linux 3.10.0-862.34.2.el7.x86_64
当我们将堆转储文件上传到Eclipse MAT时,它失败并出现以下错误:
java.lang.ArrayIndexOutOfBoundsException: 0
at sun.font.CompositeStrike.getStrikeForSlot(CompositeStrike.java:75)
at sun.font.CompositeStrike.getFontMetrics(CompositeStrike.java:93
at sun.font.FontDesignMetrics.initMatrixAndMetrics(Fon