Archi crashes under Linux, with a reference to libwebkit WebKitGtk - archimatetool/archi GitHub Wiki

[Update 4th July 2014] We have moved development to Eclipse 4.4. This should fix the problem.

Problem

Unfortunately, some Linux users experience that Archi crashes under Linux, with a reference to libwebkit/WebKitGTk. The crash usually occurs on startup, or when selecting the "hint" Window.

What gives?

Archi is built on the Eclipse Rich Client Platform (RCP), version 3.8.2, which is a rather old version of Eclipse RCP. This is because Archi uses some features from this platform that are buggy in newer versions (4.x) of Eclipse. (Moving Archi to 4.x of Eclipse is tracked here separate issue, see https://github.com/Phillipus/archi/issues/21).

Libwebkit is used by Eclipse RCP to render HTML, which Archi uses in the Hints windows. Unfortunately, Eclipse in versions prior to approx. 4.3.x contains an error, where it crashes when calling into libwebkit for versions >= 1.11.91 under certain conditions. See the Eclipse bug here: https://bugs.eclipse.org/bugs/show_bug.cgi?id=404776.

For Eclipse, this is only a problem if you have a rather old Eclipse installation, in combination with a somewhat new libwebkit package. For Archi, as Eclipse can not be upgraded yet, it is a problem if you have versions of libwebkit >= 1.11.91.

How do I figure out my version of libwebkit?

Unfortunately, some Linux distributions - marks their libwekbit packages in a way that suggests a specific versionnumber, where there really is none. E.g. Ubuntu for versions from 12.04 to 14.04, marks its packages as "libwebkitgtk-1.0-0". However, the version numbers differ from 1.8.3 to 2.4.0 (see http://packages.ubuntu.com/search?keywords=libwebkitgtk-1.0-0). To get the real version of your installed package, run e.g.

dpkg -s libwebkitgtk-1.0-0 | grep Version

It will list the actual version of the installed package. It this number is >= 1.11.91 you are in trouble.

What do I do then?

Since upgrading Eclipse is out of the question for now, you need to focus on libwebkit. Either force Archi to not use it all, or try to downgrade it.

Not using libwebkit

Some users have had success with disabling the use of libwebkit for rendering HTML. This can be done by adding this to the Archi32.ini file, or Archi64.ini file (32/64 depending on your CPU model):

-Dorg.eclipse.swt.browser.DefaultType=mozilla

This should prevent the crash, but the hints window will no longer work. This is due to a workaround for older versions of Eclipse (3.6) in the Archi code, that will hopefully be resolved soon. (As of the 13th of May 2014, there now is a fix in the git repository for Archi, that will become part of the next release).

Downgrade libwebkit

Some users may have luck downgrading, or even upgrading, libwebkit. Instructions on how to do this, is outside the scope of this page.