ROC Curve bug in 4.2.1 when generating an image

Hi KNIMEler,
I’m using KNIME 4.2.1 on a Windows machine. When running the ‘ROC Curve’ (Java Script) node - with the flag ‘generate image’ set - the first time after loading the workflow, the (i) execution time is ‘endless’ (~30sec for ~8000 records) and (ii) the image generation fails and in the KNIME.LOG the following traces are shown.

2020-09-01 19:12:44,031 : ERROR : KNIME-Worker-8-ROC Curve 5:25 : : AbstractImageWizardNodeModel : ROC Curve : 5:25 : Initializing view failed: timeout: Timed out receiving message from renderer: 60.000

  • (Session info: headless chrome=83.0.4103.116)*
    Build info: version: ‘3.12.0’, revision: ‘7c6e0b3’, time: ‘2018-05-08T15:15:03.216Z’
    System info: host: ‘ERICH-LENOVO’, ip: ‘192.168.1.14’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘1.8.0_252’
    Driver info: org.openqa.selenium.chrome.ChromeDriver
    Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.116, chrome: {chromedriverVersion: 83.0.4103.39 (ccbf011cb2d2b…, userDataDir: C:\Users\gstre\AppData\Loca…}, goog:chromeOptions: {debuggerAddress: localhost:51272}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss, webauthn:virtualAuthenticators: true}
    Session ID: 66a04f7a440c90935cd5ac81c53ddab4
    org.openqa.selenium.TimeoutException: timeout: Timed out receiving message from renderer: 60.000
  • (Session info: headless chrome=83.0.4103.116)*
    Build info: version: ‘3.12.0’, revision: ‘7c6e0b3’, time: ‘2018-05-08T15:15:03.216Z’
    System info: host: ‘ERICH-LENOVO’, ip: ‘192.168.1.14’, os.name: ‘Windows 10’, os.arch: ‘amd64’, os.version: ‘10.0’, java.version: ‘1.8.0_252’
    Driver info: org.openqa.selenium.chrome.ChromeDriver
    Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 83.0.4103.116, chrome: {chromedriverVersion: 83.0.4103.39 (ccbf011cb2d2b…, userDataDir: C:\Users\gstre\AppData\Loca…}, goog:chromeOptions: {debuggerAddress: localhost:51272}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss, webauthn:virtualAuthenticators: true}
    Session ID: 66a04f7a440c90935cd5ac81c53ddab4
  • at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)*
  • at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)*
  • at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)*
  • at java.lang.reflect.Constructor.newInstance(Constructor.java:423)*
  • at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187)*
  • at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122)*
  • at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49)*
  • at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158)*
  • at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83)*
  • at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543)*
  • at org.openqa.selenium.remote.RemoteWebDriver$RemoteTargetLocator.frame(RemoteWebDriver.java:883)*
  • at org.knime.ext.seleniumdrivers.multios.ChromeImageGenerator.generateView(ChromeImageGenerator.java:250)*
  • at org.knime.js.core.node.AbstractImageWizardNodeModel.renderViewAndCreateImage(AbstractImageWizardNodeModel.java:148)*
  • at org.knime.js.core.node.AbstractImageWizardNodeModel.performExecute(AbstractImageWizardNodeModel.java:106)*
  • at org.knime.js.core.node.AbstractWizardNodeModel.execute(AbstractWizardNodeModel.java:136)*
  • at org.knime.core.node.NodeModel.executeModel(NodeModel.java:576)*
  • at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236)*
  • at org.knime.core.node.Node.execute(Node.java:1016)*
  • at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:558)*
  • at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)*
  • at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201)*
  • at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)*
  • at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)*
  • at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)*
  • at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)*
  • at java.util.concurrent.FutureTask.run(FutureTask.java:266)*
  • at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)*
  • at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)*
    2020-09-01 19:12:44,034 : ERROR : KNIME-Worker-8-ROC Curve 5:25 : : AbstractImageWizardNodeModel : ROC Curve : 5:25 : Retrieving image from view failed: Error retrieving image: Chrome driver was not initialized. Could not retrieve image.
    java.io.IOException: Error retrieving image: Chrome driver was not initialized. Could not retrieve image.
  • at org.knime.ext.seleniumdrivers.multios.ChromeImageGenerator.retrieveImage(ChromeImageGenerator.java:319)*
  • at org.knime.js.core.node.AbstractImageWizardNodeModel.renderViewAndCreateImage(AbstractImageWizardNodeModel.java:174)*
  • at org.knime.js.core.node.AbstractImageWizardNodeModel.performExecute(AbstractImageWizardNodeModel.java:106)*
  • at org.knime.js.core.node.AbstractWizardNodeModel.execute(AbstractWizardNodeModel.java:136)*
  • at org.knime.core.node.NodeModel.executeModel(NodeModel.java:576)*
  • at org.knime.core.node.Node.invokeFullyNodeModelExecute(Node.java:1236)*
  • at org.knime.core.node.Node.execute(Node.java:1016)*
  • at org.knime.core.node.workflow.NativeNodeContainer.performExecuteNode(NativeNodeContainer.java:558)*
  • at org.knime.core.node.exec.LocalNodeExecutionJob.mainExecute(LocalNodeExecutionJob.java:95)*
  • at org.knime.core.node.workflow.NodeExecutionJob.internalRun(NodeExecutionJob.java:201)*
  • at org.knime.core.node.workflow.NodeExecutionJob.run(NodeExecutionJob.java:117)*
  • at org.knime.core.util.ThreadUtils$RunnableWithContextImpl.runWithContext(ThreadUtils.java:334)*
  • at org.knime.core.util.ThreadUtils$RunnableWithContext.run(ThreadUtils.java:210)*
  • at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)*
  • at java.util.concurrent.FutureTask.run(FutureTask.java:266)*
  • at org.knime.core.util.ThreadPool$MyFuture.run(ThreadPool.java:123)*
  • at org.knime.core.util.ThreadPool$Worker.run(ThreadPool.java:246)*
    Caused by: org.knime.ext.seleniumdrivers.multios.SeleniumViewException: Chrome driver was not initialized. Could not retrieve image.
  • at org.knime.ext.seleniumdrivers.multios.ChromeImageGenerator.retrieveImage(ChromeImageGenerator.java:299)*
  • … 16 more*

Re-executing the ‘ROC Curve’ node again (after reset) succeeds (after 3 secs!) with a generated image.
It seems to me, that there are some ‘Chrome’ initialization issue with the bundeled version.
Best
Erich

Hi Erich,

on Windows we frequently encounter problems with Windows Defender slowing down the startup of Chromium. To verify that this is the problem you can temporarily turn off Defender and try to generate the image and compare runtimes. Once confirmed, you can set exceptions in Defender to exempt Chromium from the regular scans.
This could also apply to any other anti virus software that is installed on your system.

Hope this helps,
Christian

2 Likes

This topic was automatically closed 182 days after the last reply. New replies are no longer allowed.