PC Crash (blue screen) when KNIME tries to identify conda python environment

Hi,

I am trying to set up python deep learning integration using this tutorial. I have installed Anaconda 2019.07 (add it to PATH while installing), but when I go to KNIME Preferences --> Python Deep Learning and I browse my Anaconda installation path, it goes on testing environment and suddenly my PC crashes with Blue Screen of Death error even before I can create a new conda environment for deep learning.
I suspect the problem has to do with incompatible Anaconda/KNIME versions or possibly some KNIME integrations are not compatible with python/Anaconda. I have KNIME 4.1.3 installed.
The KNIME log file is attached.
I appreciate any suggestion.

Any KNIME.log (2.3 MB)

Hi,
Can you also check you Windows event viewer? Usually a BSOD appears there and there might be more info than in the KNIME Log, as KNIME probably does not even have time to write anything before the computer crashes. How to check the event viewer is described here.
Kind regards
Alexander

3 Likes

Hi Alexander,

Thanks for your response.
As you suggested I checked the event viewer right after a BSOD to see the reason for the crash, but its last error event just says that “the computer rebooted unexpectedly” without further information on the reason.
I suspect that the issue should be related to my NVIDIA GPU drivers. I have not installed any CUDA Toolkit software on my system since I thought the python CUDA library takes care of using the GPUs for calculations. Do I need to install CUDA toolkit on Windows as well? If so, which version is needed?

Thanks,
Behrooz

Hi,
According to this article you will need the toolkit.
Kind regards,
Alexander

Hi again Alexander,

Since your last reply I have tried several different versions of CUDA and I still have the same issue. My KNIME installation cannot detect conda environment, even the environment it created itself.
Sometimes it leads to computer crash, but sometimes it just shows me the following error:


Is some program blocking KNIME access to Anaconda installation? How can I figure out what is that?

Also, here is the log content after trying to run a keras training node:

!SESSION 2020-06-21 16:37:34.149 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_202
java.vendor=AdoptOpenJdk
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_US
Command-line arguments: -os win32 -ws win32 -arch x86_64

!ENTRY org.eclipse.ui 2 0 2020-06-21 16:37:43.055
!MESSAGE Warnings while parsing the key bindings from the ‘org.eclipse.ui.commands’ and ‘org.eclipse.ui.bindings’ extension point
!SUBENTRY 1 org.eclipse.ui 2 0 2020-06-21 16:37:43.055
!MESSAGE Cannot bind to an undefined command: plug-in=‘org.knime.workbench.editor’, id=‘knime.commands.editor.gridSettings’

!ENTRY org.eclipse.jface 2 0 2020-06-21 16:37:44.415
!MESSAGE Keybinding conflicts occurred. They may interfere with normal accelerator operation.
!SUBENTRY 1 org.eclipse.jface 2 0 2020-06-21 16:37:44.415
!MESSAGE A conflict occurred for CTRL+F:
Binding(CTRL+F,
ParameterizedCommand(Command(org.eclipse.ui.edit.findReplace,Find and Replace,
Find and replace text,
Category(org.eclipse.ui.category.edit,Edit,null,true),
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@145fe8ab,
,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,system)
Binding(CTRL+F,
ParameterizedCommand(Command(knime.commands.findnode,Find Node…,
Finds a Node in the workflow.,
Category(knime.command.category,KNIME Workflow Editor commands,Commands available for the workflow editor,true),
org.eclipse.ui.internal.WorkbenchHandlerServiceHandler@3b347439,
,true),null),
org.eclipse.ui.defaultAcceleratorConfiguration,
org.eclipse.ui.contexts.window,system)

!ENTRY org.eclipse.equinox.p2.core 4 0 2020-06-21 16:37:45.808
!MESSAGE Exception during event notification
!STACK 0
java.lang.IllegalArgumentException: Location must be absolute: …
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.checkValidLocation(AbstractRepositoryManager.java:749)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.contains(AbstractRepositoryManager.java:253)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.addRepository(AbstractRepositoryManager.java:166)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.notify(AbstractRepositoryManager.java:820)
at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:108)
at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

!ENTRY org.eclipse.equinox.p2.core 4 0 2020-06-21 16:37:45.808
!MESSAGE Exception during event notification
!STACK 0
java.lang.IllegalArgumentException: Location must be absolute: …
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.checkValidLocation(AbstractRepositoryManager.java:749)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.contains(AbstractRepositoryManager.java:253)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.addRepository(AbstractRepositoryManager.java:166)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.notify(AbstractRepositoryManager.java:820)
at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:108)
at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:1)
at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
at org.eclipse.osgi.framework.eventmgr.EventManager$EventThread.run(EventManager.java:340)

Hi,
Can you use environments in the normal KNIME Python integration (KNIME -> Python in the preferences)?
Kind regards,
Alexander

No, the same thing happens there:

Hi,
is there anything special about that KNIME installation, e.g. is it running in some app virtualization container? Does conda info --envs from the anaconda command line to receive a list of environments work?
Kind regards,
Alexander

The Anaconda command identifies the conda environments. Also python installation works fine when I run codes in Jupyter notebook.

There is nothing special about the KNIME installation. It is installed on a physical machine. Just I am connected to the machine remotely through a static IP (Remote Desktop Connection). Could it be the reason?

Hi,
I would guess it’s a permission problem with KNIME failing to call Anaconda, but it seems like the py3_knime_dl environment was created using KNIME, is that correct? That would invalidate my hunch, as KNIME also calls the Anaconda executable to create the environment, I believe.
Kind regards,
Alexander

That’s right. The environment is created by KNIME itself and it identifies that right after its creation. But when I apply the change and close and reopen the preference page it either can’t identify the env or identifies it and cause a PC crash when begins testing the env.

Hi,
Your Anaconda version seems just fine and from the log it seems like the Python nodes worked before. Maybe the bluescreen crashes caused some inconsistencies in your Anaconda installation? Could you try reinstalling it?
Kind regards,
Alexander