Knime PATH does not match to system user PATH Variable

Hi,

for quite some time, interrupted by the sudden decommissioning of NGS (in particular the Bash Node), I attempted to resolve an issue in details explored in:

In a nutshell

  1. Executing external commands only partially works (i.e. ping, nc) whilst other commands are not found
  2. Using Python or Java to execute shell commands resulted in the same issue
  3. Checking the Path variable indicates that Knime / Eclipse is not using the users Path variable under which it actually runs
  4. No option nor source of information (Eclipse) was found that resolved this issue

It is, based on what I know, untested on other systems (Windows / Linux) but only on Mac OS.

I will update the workflow soon incorporating the Python approach as well.

Best
Mike

Update … As identified by @carstenhaubold in:

The issue is caused by “security mechanisms” of OS X. In order to circumvent / expose the users PATH variable, knime must be started via command line by:

  1. Navidating to the executabel via cd /Applications/KNIME.app/Contents/MacOS/
  2. Start knime via ./knime

However, this comes with a not so insignificant disadvantage as the terminal must, under any circumstances, being kept open. If close by accident, knime is immediately stopped (not properly shut down).

Adding to this. the start up window seems to not list the loaded / installed extensions. However, they are still accessible (bug or feature?)

I’d like to propose to enable defining / overwriting the PATH variable manually in the External Nodes. Similar to how it was made possible by @AnotherFraudUser in AF Utilities (big thanks!)

Reason is, the “security” measure might get in this or another way implemented by other OS vendors too. The struggle which many had to go through to identify the cause would be easily avoidable but also would allow to add a significant amount of flexibility in defining binaries.

Hi @mwiegand ,
thank you for the extensive feedback. It was very helpful!
We have created an Enhancement request in Jira for this matter (#AP-20025).
Best,
Daria

4 Likes

You are more than welcome. The kudos however should go to @AnotherFraudUser and @carstenhaubold. Looking forward to test you improvements.

Quick question, though. You post has been marked as the solution but that is yet not available. It will result in this topics getting closed before a solution becomes available which could confuse current and future readers.

Since the solution is depending on a ticket / update, wouldn’t it be, for the sake of comprehensibility, an idea to link solutions not just to workflows but also version updates / nodes?

Thanks for the comments, @mwiegand !
That is a good point. We will mark it as a solution in the future, when it is avaliable.
Best,
Daria

2 Likes