'Potential Deadlock in SWT ...' appears some minutes after starting KNIME (no more other actions)

Dear KNIMEler,

as I noticed (regularly) some strange ‘Potential Deadlock in AWT…’ messages in the Knime Console I tried to isolate this beahiour. Here is my simplest procedure:

  1. Starting Knime (only the ‘Welcome to Knime …’ slider is shown)
  2. Doing nothing - after ~4 minutes the two wellknown messages appear. See the copy of my Knime Console:
    ********************************************************************************
    *** Welcome to the KNIME Analytics Platform v3.5.3.v201804031105 ***
    *** Copyright by KNIME AG, Zurich, Switzerland ***
    ********************************************************************************
    Log file is located at: D:\data\knimw-workspace.metadata\knime\knime.log
    WARN KNIMEApplication$3 Potential deadlock in SWT Display thread detected. Full thread dump will follow as debug output.
    WARN KNIMEApplication$4 Potential deadlock in AWT Event Queue detected. Full thread dump will follow as debug output.

I have added the zipped knime.log (with deleted personal info).

I’m using KNIME 3.5.3 (with all free extensions) on a Windows 10 Home Laptop with 32GB mem, 24 GB deicated to KNIME.

Any idea why this happens? And might the (some times happening) ‘freezing’ of KNIME be realted to this behaviour too? (freezing: UI switches to ‘disble’ and in Task-manager ‘Knime not responding’ is shown).
knime.zip (91.1 KB)

Best
Erich

Thanks for your report. We’ll have a look into it.

Dear Erich,

There is nothing suspicious in the log file. As you might know KNIME is based on Eclipse and I have found a bug entry in the eclipse bug tracker that describes a freeze in the same piece of code as you report. In their case it resolves itself after ~1min of inactivity. In your case it’s at least 4 min but I wonder if KNIME/Eclipse comes back to live again eventually. Can you give it some more time and see if that helps?

If it doesn’t then we need to dig deeper.

If it does rectify after some time then the questions I would ask are:

  • Do you see any CPU utilization during the time of the freeze
  • Does it help if you switch Windows Defender and any type of Anti Virus off?

Please note there is still something going on in the process. For instance, the fact that it reports a potential deadlock to the log indicates that KNIME is still alive (usually it should print this after 30s of inactivity). There is no code currently being executed, which indicates that the process is locked by some other (system) process.

Cheers,
– Bernd

Hi Bernd,

thx for your answer.

Concerning freeze: All of my seen ‘freezes’ (different OS, machines, etc.) resolve (unfreeze) after some time (< 2 min) automatically. Furthermore, I have the obervation, that freezing is somehow related with UI actions (e.g. opening the config view of a node, browsing the - even small - out-table of a node, …) while some processes/nodes (e.g. Learner) are running - but not (directly) with the CPU load. So it might happen that a freeze occurs, although the CPU load is about 20%…

But it’s an assessment based on observation only …

Thx
E

Hi Erich,

it would be helpful to extract a log showing what the process is doing while it freezes. Can you do that on a linux system (to avoid any potential virus scanner to interfere with the process)?

You could use jvisualvm (then right click the process and “thread dump”, then export that dump file and attach it here)

Thanks,
Bernd

I have the same issue. Mine runs a very large datasets with hundreds of nodes. It was managable when I have this running on my own laptop. Having the model recently moved to a redhat server and facing a bit more issue - still exploring for us to automate the output and ensure that it does not freeze.

Potential deadlock in AWT Event Queue detected. Full thread dump will follow as debug output.
Potential deadlock in AWT Event Queue detected. Full thread dump will follow as debug output.
Potential deadlock in AWT Event Queue detected. Full thread dump will follow as debug output.