DVT SystemVerilog IDE User Guide
Rev. 19.1.31, 5 September 2019

43.41 Sometimes I experience DVT GUI hangs when switching from another X application to DVT

In some GTK/X versions, when switching from various X applications to DVT, you might experience unresponsive UI for various periods of time (from tens of seconds up to complete hangs). This behavior has its roots in the way the respective applications, X and GTK manage the System Clipboard.

First off, you should make sure you are running a recent GTK version. If it's not possible to update your GTK / if the problem persists when running with the newest GTK available for you, this section covers an alternative solution.

To confirm that you are affected by this problem, follow the steps in this section in order to generate a debug information file (in the example: ~/dvt_threads.dump) and in addition, run the following command:

$> grep gtk_clipboard_wait_for_contents ~/dvt_threads.dump 2>&1 1>/dev/null && echo "Yes" || echo "No"

If the grep result is No you are probably not affected by this specific issue, so we recommend sending us the ~/dvt_threads.dump file in order to furhter investigate the problem.

If the grep result is Yes you can fix the problem by patching your Eclipse installation. For patching, DVT must be installed from a prepacked distribution. Follow the steps below:

  • Suppose your DVT Eclipse installation directory is $DVT_HOME. First make a backup of the file to be replaced:

$> mv $DVT_HOME/eclipse/plugins/org.eclipse.swt.gtk.<os>.<arch>_<version>.jar $DVT_HOME/eclipse/plugins/org.eclipse.swt.gtk.<os>.<arch>_<version>.jar.orig

where <os>, <arch> and <version> are specific to your system & installation.

  • Then copy the patched jar file:

$> cp $DVT_HOME/misc/patch/org.eclipse.swt.gtk.<os>.<arch>_<version>.jar $DVT_HOME/eclipse/plugins/

  • Restart DVT. You should not experience any more hangs.

NOTE In some cases it was reported that although the patch eliminated long GUI lagging/hangs, it introduced some minor lags when changing the file selection in the navigator. If this is your case, you should set the following environment variable:

$> setenv DVT_SWT_CLIPBOARD_PATCH_TEXT_ONLY_MODE true

before launching DVT. Navigator selection will work smoothly again. The only drawback is that you won't be able to paste files directly in the Navigator view.