Hi,
in order to back track possible time of origins of recently identified stability and performance regressions of Knime I tried to open Knime 4.7.6 from the ZIP package. Unofrtunatley it throws an error and won’t start.
The load screen briefly pops up but is followed by this:
As follows the logs. I suppose it’s a Java / Eclipse version incompatibility but this is just a suspicion:
!SESSION 2023-08-07 12:46:16.794 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_371
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2023-08-07 12:46:17.346
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.equinox.simpleconfigurator [2]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=11))"
1691405176909.bak_0.log (1006.7 KB)
1691405176909.log (586.4 KB)
Best
Mike
Update: I downloaded the most recent nighty build and the very same issue of not being able to start Knime appeared again.
!SESSION 2023-08-11 12:53:58.416 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.8.0_371
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86_64, WS=win32, NL=en_GB
Command-line arguments: -os win32 -ws win32 -arch x86_64
!ENTRY org.eclipse.equinox.simpleconfigurator 4 0 2023-08-11 12:53:58.926
!MESSAGE FrameworkEvent ERROR
!STACK 0
org.osgi.framework.BundleException: Could not resolve module: org.eclipse.equinox.simpleconfigurator [2]
Unresolved requirement: Require-Capability: osgi.ee; filter:="(&(osgi.ee=JavaSE)(version=11))"
1691751238524.bak_0.log (1018.2 KB)
1691751238524.log (625.2 KB)
thor
August 14, 2023, 10:49am
3
For some reason AP is started with Java 8 which won’t work. Since AP comes with a bundled JRE I’m wondering where it gets the Java 8 from. Did you modify the knime.ini
?
The ZIP version I did not modify. Only the ini of the „primary“ Knie installation which installed via the usual installer.
thor
August 14, 2023, 1:22pm
5
Can you post the contents of the knime.ini
? It contains the path to Java which is a folder inside the AP installation it self.
knime_5.2.0_2023-08-11_11-22-13 (nighty build - ZIP package)
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.700.v20221108-1024
--launcher.defaultAction
openFile
-vm
plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/jre/bin/server/jvm.dll
-vmargs
-Djava.security.properties=plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/security.properties
-server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Dknime.xml.disable_external_entities=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/sun.nio=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
-Xmx2048m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djdk.httpclient.allowRestrictedHeaders=content-length
-Darrow.enable_unsafe_memory_access=true
-Darrow.memory.debug.allocator=false
-Darrow.enable_null_check_for_get=false
--add-opens=java.security.jgss/sun.security.jgss.krb5=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss.spi=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5.internal=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED
knime_5.1.0 (ZIP package)
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.700.v20221108-1024
--launcher.defaultAction
openFile
-vm
plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/jre/bin/server/jvm.dll
-vmargs
-Djava.security.properties=plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/security.properties
-server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Dknime.xml.disable_external_entities=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/sun.nio=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
-Xmx2048m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djdk.httpclient.allowRestrictedHeaders=content-length
-Darrow.enable_unsafe_memory_access=true
-Darrow.memory.debug.allocator=false
-Darrow.enable_null_check_for_get=false
--add-opens=java.security.jgss/sun.security.jgss.krb5=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss.spi=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5.internal=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED
knime_4.7.6 (ZIP package)
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.500.v20220509-0833
--launcher.defaultAction
openFile
-vm
plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/jre/bin/server/jvm.dll
-vmargs
-Djava.security.properties=plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/security.properties
-server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Dknime.xml.disable_external_entities=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/sun.nio=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
-Xmx2048m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Darrow.enable_unsafe_memory_access=true
-Darrow.memory.debug.allocator=false
-Darrow.enable_null_check_for_get=false
--add-opens=java.security.jgss/sun.security.jgss.krb5=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss.spi=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5.internal=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED
Knime 5.1.0 (installer)
-startup
plugins/org.eclipse.equinox.launcher_1.6.400.v20210924-0641.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.2.700.v20221108-1024
--launcher.defaultAction
openFile
-vm
plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/jre/bin/server/jvm.dll
-vmargs
-Djava.security.properties=plugins/org.knime.binary.jre.win32.x86_64_17.0.5.20221116/security.properties
-server
-Dsun.java2d.d3d=false
-Dosgi.classloader.lock=classname
-XX:+UnlockDiagnosticVMOptions
-Dsun.net.client.defaultReadTimeout=0
-XX:CompileCommand=exclude,javax/swing/text/GlyphView,getBreakSpot
-Dknime.xml.disable_external_entities=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.net=ALL-UNNAMED
--add-opens=java.base/java.nio=ALL-UNNAMED
--add-opens=java.base/java.nio.channels=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/sun.nio.ch=ALL-UNNAMED
--add-opens=java.base/sun.nio=ALL-UNNAMED
--add-opens=java.desktop/javax.swing.plaf.basic=ALL-UNNAMED
--add-opens=java.base/sun.net.www.protocol.http=ALL-UNNAMED
-Xmx51200m
-Dorg.eclipse.swt.browser.IEVersion=11001
-Dsun.awt.noerasebackground=true
-Dequinox.statechange.timeout=30000
-Djdk.httpclient.allowRestrictedHeaders=content-length
-Darrow.enable_unsafe_memory_access=true
-Darrow.memory.debug.allocator=false
-Darrow.enable_null_check_for_get=false
--add-opens=java.security.jgss/sun.security.jgss.krb5=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.jgss.spi=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5.internal=ALL-UNNAMED
--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED
--add-opens=java.base/sun.security.ssl=ALL-UNNAMED
--add-opens=java.base/sun.security.util=ALL-UNNAMED
--add-opens=java.xml/com.sun.org.apache.xerces.internal.parsers=ALL-UNNAMED
--add-opens=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED
thor
August 14, 2023, 7:28pm
7
This all looks correct. But since we don’t ship Java 8 it must be taken from somewhere else on your system. Why I have no clue, I have never seen this behaviour before.
There is another app which requires Java 8.
Since I honestly do not exactly know which it was, I will remove Java. Might also be a good idea for security reasons …
Anyhow, doesn’t Knime have it’s JRE defined “individually” so any possible OS interference is omitted?
thor
August 15, 2023, 7:06am
9
Yes it doesn, that’s the -vm
argument in the knime.ini
. I don’t know of a single case where this hasn’t worked yet.
I (was required to) setup my system from scratch because of multiple BSOD which messed it up entirely. Why trying to download the nightly builds or previous version, the page stays blank, though. Any updates happening again?
Best
Mike
The issue still persists. I haven even gone so far to fill out the annoying form in order to generate a token but … nope:
thor
August 29, 2023, 9:29am
12
It works for me. Maybe your system is still a bit messed up?
Not really. It is reproducible independently on Firefox and Chrome (both incognito). Your server seems to not respond correctly, though:
GET https://www.knime.com/download-previous-versions?token=Ef_BMsIAeB2HwD2IXu2M9Rg5Ypu_N1py9-2uXJjdwHU net::ERR_INVALID_CHUNKED_ENCODING 200 (OK)
The system I also was forced to setup from scratch just recently. I paid extra attention to not tinker with some fancy settings.
Here are the request headers:
GET /download-previous-versions?token=Ef_BMsIAeB2HwD2IXu2M9Rg5Ypu_N1py9-2uXJjdwHU HTTP/1.1
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7
Accept-Encoding: gzip, deflate, br
Accept-Language: de-DE,de;q=0.9
Cache-Control: max-age=0
Connection: keep-alive
Cookie: cookie-agreed-version=1.1.3; cookie-agreed=2; SSESS2f33794b89ae68ff16816440742b2d43=MGLwEyz8P7KqZiQn5EJtAu39SnmR5BNYiq2Woj58crbcmyrA
DNT: 1
Host: www.knime.com
Referer: https://www.knime.com/downloads/previous?
Sec-Fetch-Dest: document
Sec-Fetch-Mode: navigate
Sec-Fetch-Site: same-origin
Sec-Fetch-User: ?1
Upgrade-Insecure-Requests: 1
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36
sec-ch-ua: "Chromium";v="116", "Not)A;Brand";v="24", "Google Chrome";v="116"
sec-ch-ua-mobile: ?0
sec-ch-ua-platform: "Windows"
Here the response headers
HTTP/1.1 200 OK
Accept-Ranges: bytes
Access-Control-Allow-Origin: *
Age: 3
Cache-Control: max-age=0,must-revalidate,no-cache,private
Content-Encoding: gzip
Content-Language: en
Content-Type: text/html; charset=UTF-8
Date: Tue, 29 Aug 2023 09:29:46 GMT
Expires: Sun, 19 Nov 1978 05:00:00 GMT
Fastly-Drupal-Html: YES
Server: Netlify
Set-Cookie: SSESS2f33794b89ae68ff16816440742b2d43=MGLwEyz8P7KqZiQn5EJtAu39SnmR5BNYiq2Woj58crbcmyrA; expires=Thu, 21-Sep-2023 13:03:06 GMT; Max-Age=2000000; path=/; domain=.knime.com; secure; HttpOnly; SameSite=None
Slb-Altered: true
Strict-Transport-Security: max-age=31557600
Transfer-Encoding: chunked
Vary: Accept-Encoding
X-Content-Type-Options: nosniff
X-Drupal-Dynamic-Cache: UNCACHEABLE
X-Frame-Options: SAMEORIGIN
X-Lagoon: amazeeio-ch4>ingress-nginx>knime-master:nginx>nginx-69f556b9ff-qwk6v
X-Nf-Request-Id: 01H90A18KHNKHCHA0836JG4MQP
X-Ua-Compatible: IE=edge
As described in the following article, it is likely related to a proxy issue when the header Transfer-Encoding: chunked
is present:
thor
August 29, 2023, 12:48pm
14
This page also works for me, in various browser and with cURL. Could it be that you are using a (transparent) proxy that doesn’t understand chunked transfer encoding properly?
I usually use NordVPN but explicitly disabled it.
Using a proxy check it does not, as expected, display the use of a proxy either: Proxy Check
Here are my steps to reproduce the issue. Maybe, amongst or with them, we are able to identify the cause:
Navigate to Downloads | KNIME
Tick the checkbox “I have read …” but do nothing else, just submit
This generates an url with a token similar to this: Downloads | KNIME
Scroll down to " If you are interested in a previous version of KNIME Analytics Platform, please click here ." and click on “here” to navigate to an url such as Previous Versions | KNIME
Select any option, provide an email address such as “info@atmedia-marketing.com ” and submit by clicking on “Access Previous Versions”
Observe the issue of a blank page with the network error net::ERR_INVALID_CHUNKED_ENCODING 200 (OK)
thor
August 29, 2023, 1:09pm
16
Just tried exactly what you described (modulo the email address) and it works without any issues for me.
That is hilarious … hmm. I will reset my network connection to see if there is still anything lurking inside Windows that is interfering. I also just downloaded Brave and can reproduce the issue there too:
So if there’s anything causing it locally, it must be the system and anything related to it. Will post an update once I reset the network settings.
Update about the illusive download issue. It was caused by NordVPNs “Web Protection”.I reset my network and for a brief moment after reboot, another connectivity issue (access to a specific IIS backend) was resolved.
Once NordVPN kicked in, things got worse again. Going through NordVPN Settings one caught my attention … Web Protection. Immediately upon disabling that, I was able to access the download page.
Going through the logs it seems indeed all being blocked are 3rd parties, though. Event the google tag related one hosted on the 1st party domain:
https://www.knime.com/sites/default/files/google_tag/knime_main/google_tag.script.js?rzxx4f
As a conclusion it seems your download has been made dependent on 3rd parties entirely.
Update
About the primary issue, not being able to start Knime, I finally know why. In order to differentiate the various knime versions installed, especially when pinned to the start menu, I renamed the executable to something like “knime-5-2.exe”.
Update 2
I missed the footnote to add https://update.knime.com/analytics-platform/nightly
However, even after adding that distro, the issue prevails.