Eclipse Photon 插件因 _cairo_operator_bounded_by_source 崩溃:断言:'NOT REACHED' 失败。

在 Red Hat Linux 上,为 Eclipse Photon 安装 Eclipse 插件后,单击报告中的“位置”(或触发将编辑器打开到源代码行的任何操作)会导致 Eclipse 崩溃。

症状

Eclipse 崩溃后,控制台包含以下错误:
*WARNING: SWT requires Cairo 1.9.4 or newer
*WARNING: Detected: 1.8.8
...
...
java:cairo-misc.c:380:_cairo_operator_bounded_by_source: Assertion 'NOT REACHED' failed.

原因

在系统上检测到较旧版本的 Cairo。SWT 需要 Cairo 1.9.4 或更高版本。

解决方法

更新 Cairo 版本。

但是,某些 RHEL 系统可能不支持最新的 Cairo 版本。例如,在安装了 Cairo 1.8.8 的 RHEL 6.8 上:
>sudo yum install cairo-devel

Setting up Install Process
client-rhn | 3.7 kB 00:00
Package cairo-devel-1.8.8-6.el6_6x86_64 already installed and latest version
Nothing to do

请注意,未获取最新版本。在这种情况下,转向较新的 Linux 内核版本可能会有所帮助。

一些在线资源表明,您可以通过在 -vmargs: 之后的 eclipse.ini 文件中添加以下行来解决此问题:
-Dorg.eclipse.swt.internal.gtk.cairoGraphics-false
但是,此解决方法不一致,并且似乎不适用于 RHEL 6.8。