karakun / OpenWebStart

Run Web Start based applications after the release of Java 11
https://openwebstart.com
Other
416 stars 48 forks source link

OpenWebStart 1.5.0 slow to open jnlp file and launch multiple JVMs #488

Open frankzha2019 opened 2 years ago

frankzha2019 commented 2 years ago

Hi,

We have a Java GUI application running on Windows 10. The application is launched via a jnlp file. Inside the application, the user is also able to launch multiple other components of the application in separate JVMs using the jnlp file. The application has been running great for years using Java 8 and JavaWebStart (JWS).

Recently, we were migrating from Java 8 to Java 11 and beyond. Because JWS is no longer supported in Java 11, we tried to replace it with OpenWebStart (OWS) 1.5.0.

Initially, I launched the main GUI via the jnlp file and checked all the features and cache content. The features were working fine, and I was able to locate all the jars mentioned in the jnlp file in different numbered folders under C:\Users\UserName.cache\icedtea-web\cache. However, when I opened a saved workspace in the main GUI app and launched multiple components in separate JVMs using the same jnlp file, I noticed that OWS was much slower in launching the JVMs than JWS.

I assumed that after the jnlp and jar files were downloaded and saved in cache, OWS didn't need to download them anymore. However, I noticed that each time the jnlp file was opened/loaded, the "download progress dialogs" of OWS appeared, as if the OWS was downloading the files again.

Under C:\Users\UserName.cache\icedtea-web\cache, there is a file called "recently_used.cache". It's a text file. In the file, there is detailed info regarding when the resources are downloaded and when they are used.

Based on the info in "recently_used.cache", it appeared that the jnlp file and the jars for the application were only downloaded once and used many times later. However, the "download progress" dialog seemed to tell us a different story.

A couple of times out of a few dozen or so of my tests, I also encountered some "ClassNotFound" exceptions, as if the OWS couldn't find the jars. But the cache content was still the same and nothing had been modified. Even with these exceptions, the OWS still seemed to be able to launch the other components in separate JVMs in the end after the long delay, as if it was trying the second time after the first try failed.

I also encountered once a pop-up error message "No Suitable JVM was found to start the application". Again, it didn't seem to prevent the OWS from launching the components in separate JVMs in the end.

Could someone help? Thanks.

sclassen commented 2 years ago

To best understand what is happening you must turn on debug logging to file.

This can be done using the itw-settings.exe located in the install dir.

If you are conserned about sensitive data you can send the files to @.*** (mention the github issue number) Otherwise post them here

Am 20. Januar 2022 22:26:01 MEZ schrieb frankzha2019 @.***>:

Hi,

We have a Java GUI application running on Windows 10. The application is launched via a jnlp file. Inside the application, the user is also able to launch multiple other components of the application in separate JVMs using the jnlp file. The application has been running great for years using Java 8 and JavaWebStart (JWS).

Recently, we were migrating from Java 8 to Java 11 and beyond. Because JWS is no longer supported in Java 11, we tried to replace it with OpenWebStart (OWS) 1.5.0.

Initially, I launched the main GUI via the jnlp file and checked all the features and cache content. The features were working fine, and I was able to locate all the jars mentioned in the jnlp file in different numbered folders under C:\Users\UserName.cache\icedtea-web\cache. However, when I opened a saved workspace in the main GUI app and launched multiple components in separate JVMs using the same jnlp file, I noticed that OWS was much slower in launching the JVMs than JWS.

I assumed that after the jnlp and jar files were downloaded and saved in cache, OWS didn't need to download them anymore. However, I noticed that each time the jnlp file was opened/loaded, the "download progress dialogs" of OWS appeared, as if the OWS was downloading the files again.

Under C:\Users\UserName.cache\icedtea-web\cache, there is a file called "recently_used.cache". It's a text file. In the file, there is detailed info regarding when the resources are downloaded and when they are used.

Based on the info in "recently_used.cache", it appeared that the jnlp file and the jars for the application were only downloaded once and used many times later. However, the "download progress" dialog seemed to tell us a different story.

A couple of times out of a few dozen or so of my tests, I also encountered some "ClassNotFound" exceptions, as if the OWS couldn't find the jars. But the cache content was still the same and nothing had been modified. Even with these exceptions, the OWS still seemed to be able to launch the other components in separate JVMs in the end after the long delay, as if it was trying the second time after the first try failed.

I also encountered once a pop-up error message "No Suitable JVM was found to start the application". Again, it didn't seem to prevent the OWS from launching the components in separate JVMs in the end.

Could someone help? Thanks.

-- Reply to this email directly or view it on GitHub: https://github.com/karakun/OpenWebStart/issues/488 You are receiving this because you are subscribed to this thread.

Message ID: @.***>

sclassen commented 2 years ago

Also check out v1.5.1 it brings minor fixes to the cache

Am 20. Januar 2022 22:26:01 MEZ schrieb frankzha2019 @.***>:

Hi,

We have a Java GUI application running on Windows 10. The application is launched via a jnlp file. Inside the application, the user is also able to launch multiple other components of the application in separate JVMs using the jnlp file. The application has been running great for years using Java 8 and JavaWebStart (JWS).

Recently, we were migrating from Java 8 to Java 11 and beyond. Because JWS is no longer supported in Java 11, we tried to replace it with OpenWebStart (OWS) 1.5.0.

Initially, I launched the main GUI via the jnlp file and checked all the features and cache content. The features were working fine, and I was able to locate all the jars mentioned in the jnlp file in different numbered folders under C:\Users\UserName.cache\icedtea-web\cache. However, when I opened a saved workspace in the main GUI app and launched multiple components in separate JVMs using the same jnlp file, I noticed that OWS was much slower in launching the JVMs than JWS.

I assumed that after the jnlp and jar files were downloaded and saved in cache, OWS didn't need to download them anymore. However, I noticed that each time the jnlp file was opened/loaded, the "download progress dialogs" of OWS appeared, as if the OWS was downloading the files again.

Under C:\Users\UserName.cache\icedtea-web\cache, there is a file called "recently_used.cache". It's a text file. In the file, there is detailed info regarding when the resources are downloaded and when they are used.

Based on the info in "recently_used.cache", it appeared that the jnlp file and the jars for the application were only downloaded once and used many times later. However, the "download progress" dialog seemed to tell us a different story.

A couple of times out of a few dozen or so of my tests, I also encountered some "ClassNotFound" exceptions, as if the OWS couldn't find the jars. But the cache content was still the same and nothing had been modified. Even with these exceptions, the OWS still seemed to be able to launch the other components in separate JVMs in the end after the long delay, as if it was trying the second time after the first try failed.

I also encountered once a pop-up error message "No Suitable JVM was found to start the application". Again, it didn't seem to prevent the OWS from launching the components in separate JVMs in the end.

Could someone help? Thanks.

-- Reply to this email directly or view it on GitHub: https://github.com/karakun/OpenWebStart/issues/488 You are receiving this because you are subscribed to this thread.

Message ID: @.***>

frankzha2019 commented 2 years ago

Without revealing sensitive data, here are what I found in the debug log.

In 2022-01-21_08_46_44.4-ows-stage1.log, interestingly, the timestamps didn't seem to be sequential. 08:50:01 occurred before 08:47:15.

_[ITW-CORE][2022-01-21 08:47:15.513 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Acquired shared lock on C:\Users\UserName\AppData\Local\Temp\UserName\netx\locks\netx_running to indicate javaws is running [ITW-CORE][2022-01-21 08:47:15.513 CST][DEBUG][net.adoptopenjdk.icedteaweb.manifest.ManifestAttributesReader] Jars not ready to provide attribute Application-Name [ITW-CORE][2022-01-21 08:47:15.513 CST][DEBUG][net.adoptopenjdk.icedteaweb.manifest.ManifestAttributesReader] Jars not ready to provide attribute Application-Name [ITW-CORE][2022-01-21 08:47:15.523 CST][D[ITW-CORE][2022-01-21 08:50:01.757 CST][INFO ][net.sourceforge.jnlp.util.logging.OutputController] Increase polling interval for shutdown phase [ITW-CORE][2022-01-21 08:50:01.757 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Releasing shared lock on C:\Users\UserName\AppData\Local\Temp\UserName\netx\locks\netx_running [ITW-CORE][2022-01-21 08:50:01.758 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Closing channel [ITW-CORE][2022-01-21 08:50:01.759 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Releasing done [ITW-CORE][2022-01-21 08:50:01.759 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] preparing to cleanup the cache [ITW-CORE][2022-01-21 08:50:01.761 CST][INFO ][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] Other instances of javaws are running [ITW-CORE][2022-01-21 08:50:01.761 CST][INFO ][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] Cannot clear the cache at this time. Try later. If the problem persists, try closing your browser(s) & JNLP applications. At the end you can try to kill all java applications. You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge ctive: 'true' [ITW-CORE][2022-01-21 08:47:15.769 CST][DEBUG][com.openwebstart.jvm.JavaRuntimeSelector] Local runtime JavaRuntime{version=11.0.13, vendor=Eclipse Adoptium, operationSystem=WIN64} found and will be used [ITW-CORE][2022-01-21 08:47:15.770 CST][DEBUG][com.openwebstart.launcher.OwsJvmLauncher] Found JVM JavaRuntime{version=11.0.13, vendor=Eclipse Adoptium, operationSystem=WIN64} [ITW-CORE][2022-01-21 08:47:15.772 CST][INFO ][com.openwebstart.launcher.OwsJvmLauncher] using java runtime at 'C:\Users\UserName.cache\icedtea-web\jvm-cache\eclipse-temurin11.0.13' for launching managed application

...

_[ITW-CORE][2022-01-21 08:47:15.807 CST][DEBUG][com.openwebstart.jvm.LocalRuntimeManager] Replacing runtime definition with new one [ITW-CORE][2022-01-21 08:47:15.817 CST][DEBUG][com.openwebstart.jvm.LocalRuntimeManager] Saving runtime cache to filesystem [ITW-CORE][2022-01-21 08:47:15.977 CST][INFO ][com.openwebstart.launcher.OwsJvmLauncher] About to launch external with commands: '[C:\Users\UserName.cache\icedtea-web\jvm-cache\eclipse-temurin11.0.13\bin\java.exe, "-Xbootclasspath/a:C:\Program Files\OpenWebStart\openwebstart.jar", -Dicedtea-web.bin.location=C:\Program Files\OpenWebStart\javaws, -Xms512m, -Xmx1024m, - [... ] net.sourceforge.jnlp.runtime.Boot, -Xnofork, http://abc.xyz.com:myport/myLoc/52176/myApp.jnlp]'


In 2022-01-21_08_46_44.4-ows-stage2.log,

[ITW-CORE][2022-01-21 08:47:22.079 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] DownloadServiceListener for [ ... our application ... ] will be created ...

We have about two dozen jar files, for each jar file, I saw

...

_[ITW-CORE][2022-01-21 08:47:23.978 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Trying to create lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:23.990 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Deleting stale lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.031 CST][ERROR][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Failed to delete lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.031 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Trying to create lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.031 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Deleting stale lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.041 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Could not create lock file C:\Users\UserName.cache\icedtea-web\cache\recentlyused.cache.lock

...

In the end, before our application was launched, I saw

...

[ITW-CORE][2022-01-21 08:47:33.606 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.ResourceTracker] Download done. Shutting down executor [ITW-CORE][2022-01-21 08:47:33.606 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] DownloadServiceListener will be disposed

...

[ITW-CORE][2022-01-21 08:47:35.133 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] Closing DownloadServiceListener

So, at 08:47:22.079, the DownloadServiceListener was created, at 08:47:35.133, it was deposed. The duration was 13 seconds.

I will try OpenWebStart 1.15.1 later and see if it's better.

sclassen commented 2 years ago

The interesting thing here is that it fails to delete the .lock file. This would explain why it is taking such a long time. Because the cache must be able to handle multiple processes accessing at the same time we use the lock file to signal that an access is happening. If the file cannot be deleted after the access then everything else waits until the lock file has reached a specified age.

Can you check the time stamps between locking two locking of the file. If this is anything bigger than half a second than we have a possible cause.

Am 21. Januar 2022 16:53:23 MEZ schrieb frankzha2019 @.***>:

Without revealing sensitive data, here are what I found in the debug log.

In 2022-01-21_08_46_44.4-ows-stage1.log, Interestingly, the timestamps didn't seem to be sequential. 08:50:01 occurred before 08:47:15.

_[ITW-CORE][2022-01-21 08:47:15.513 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Acquired shared lock on C:\Users\UserName\AppData\Local\Temp\UserName\netx\locks\netx_running to indicate javaws is running [ITW-CORE][2022-01-21 08:47:15.513 CST][DEBUG][net.adoptopenjdk.icedteaweb.manifest.ManifestAttributesReader] Jars not ready to provide attribute Application-Name [ITW-CORE][2022-01-21 08:47:15.513 CST][DEBUG][net.adoptopenjdk.icedteaweb.manifest.ManifestAttributesReader] Jars not ready to provide attribute Application-Name [ITW-CORE][2022-01-21 08:47:15.523 CST][D[ITW-CORE][2022-01-21 08:50:01.757 CST][INFO ][net.sourceforge.jnlp.util.logging.OutputController] Increase polling interval for shutdown phase [ITW-CORE][2022-01-21 08:50:01.757 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Releasing shared lock on C:\Users\UserName\AppData\Local\Temp\UserName\netx\locks\netx_running [ITW-CORE][2022-01-21 08:50:01.758 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Closing channel [ITW-CORE][2022-01-21 08:50:01.759 CST][DEBUG][net.sourceforge.jnlp.runtime.JNLPRuntime] Releasing done [ITW-CORE][2022-01-21 08:50:01.759 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] preparing to cleanup the cache [ITW-CORE][2022-01-21 08:50:01.761 CST][INFO ][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] Other instances of javaws are running [ITW-CORE][2022-01-21 08:50:01.761 CST][INFO ][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] Cannot clear the cache at this time. Try later. If the problem persists, try closing your browser(s) & JNLP applications. At the end you can try to kill all java applications. You can clear cache by javaws -Xclearcache or via itw-settings Cache -> View files -> Purge ctive: 'true' [ITW-CORE][2022-01-21 08:47:15.769 CST][DEBUG][com.openwebstart.jvm.JavaRuntimeSelector] Local runtime JavaRuntime{version=11.0.13, vendor=Eclipse Adoptium, operationSystem=WIN64} found and will be used [ITW-CORE][2022-01-21 08:47:15.770 CST][DEBUG][com.openwebstart.launcher.OwsJvmLauncher] Found JVM JavaRuntime{version=11.0.13, vendor=Eclipse Adoptium, operationSystem=WIN64} [ITW-CORE][2022-01-21 08:47:15.772 CST][INFO ][com.openwebstart.launcher.OwsJvmLauncher] using java runtime at 'C:\Users\UserName.cache\icedtea-web\jvm-cache\eclipse-temurin_11.0.13' for launching managed application

...

[ITW-CORE][2022-01-21 08:47:15.807 CST][DEBUG][com.openwebstart.jvm.LocalRuntimeManager] Replacing runtime definition with new one [ITW-CORE][2022-01-21 08:47:15.817 CST][DEBUG][com.openwebstart.jvm.LocalRuntimeManager] Saving runtime cache to filesystem [ITW-CORE][2022-01-21 08:47:15.977 CST][INFO ][com.openwebstart.launcher.OwsJvmLauncher] About to launch external with commands: '[C:\Users\fzhang.cache\icedtea-web\jvm-cache\eclipse-temurin11.0.13\bin\java.exe, "-Xbootclasspath/a:C:\Program Files\OpenWebStart\openwebstart.jar", -Dicedtea-web.bin.location=C:\Program Files\OpenWebStart\javaws, -Xms512m, -Xmx1024m, - [... ] net.sourceforge.jnlp.runtime.Boot, -Xnofork, http://***.***.com:*****/webdeploy***/52176/***.jnlp]'


In 2022-01-21_08_46_44.4-ows-stage2.log,

[ITW-CORE][2022-01-21 08:47:22.079 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] DownloadServiceListener for [ ... our application ... ] will be created ...

We have about two dozen jar files, for each jar file, I saw

...

_[ITW-CORE][2022-01-21 08:47:23.978 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Trying to create lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:23.990 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Deleting stale lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.031 CST][ERROR][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Failed to delete lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.031 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Trying to create lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.031 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Deleting stale lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 08:47:24.041 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Could not create lock file C:\Users\UserName.cache\icedtea-web\cache\recentlyused.cache.lock

...

In the end, before our application was launched, I saw

...

_[ITW-CORE][2022-01-21 08:47:33.606 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.ResourceTracker] Download done. Shutting down executor [ITW-CORE][2022-01-21 08:47:33.606 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] DownloadServiceListener will be disposed

...

[ITW-CORE][2022-01-21 08:47:35.133 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] Closing DownloadServiceListener

So, at 08:47:22.079, the DownloadServiceListener was created, at 08:47:35.133, it was deposed. The duration was 13 seconds.

I will try OpenWebStart 1.15.1 later and see if it's better.

-- Reply to this email directly or view it on GitHub: https://github.com/karakun/OpenWebStart/issues/488#issuecomment-1018632669 You are receiving this because you commented.

Message ID: @.***>

frankzha2019 commented 2 years ago

Yes, I think so.

In 2022-01-21_08_46_44.4-ows-stage2.log, I saw the following...

_[ITW-CORE][2022-01-21 10:54:01.975 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Trying to create lock file C:\Users\UserName.cache\icedtea-web\cache\recentlyused.cache.lock [ITW-CORE][2022-01-21 10:54:01.975 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.initializer.BaseResourceInitializer] Use cached version of resource [l=http://abc.xyz.com:myport/myLoc/52176/slf4j-api-1.7.21.jar v=null s=D] at C:\Users\UserName.cache\icedtea-web\cache\0\81\slf4j-api-1.7.21.jar ... [ITW-CORE][2022-01-21 10:54:01.975 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.ResourceTracker] Download done. Shutting down executor [ITW-CORE][2022-01-21 10:54:01.975 CST][DEBUG][com.openwebstart.download.ApplicationDownloadIndicator] DownloadServiceListener will be disposed ... [ITW-CORE][2022-01-21 10:55:18.088 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.ResourceTracker] Create resource for 'http://abc.xyz.com:myport/myLoc/52176/mysql-connector-java-5.1.6-bin.jar' [ITW-CORE][2022-01-21 10:55:18.088 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.ResourceTracker] Prefetching resource mysql-connector-java-5.1.6-bin.jar [ITW-CORE][2022-01-21 10:55:18.088 CST][DEBUG][net.adoptopenjdk.icedteaweb.resources.ResourceHandler] Start processing resource: mysql-connector-java-5.1.6-bin.jar [ITW-CORE][2022-01-21 10:55:18.088 CST][DEBUG][net.adoptopenjdk.icedteaweb.lockingfile.LockableFile] Trying to create lock file C:\Users\UserName.cache\icedtea-web\cache\recently_used.cache.lock [ITW-CORE][2022-01-21 10:55:18.088 CST][INFO ][net.adoptopenjdk.icedteaweb.resources.cache.CacheImpl] isCached: CacheKey{location=http://abc.xyz.com:myport/myLoc/52176/mysql-connector-java-5.1.6-bin.jar, version=null} = false

[ITW-CORE][2022-01-21 10:55:18.088 CST][DEBUG][com.openwebstart.proxy.direct.DirectProxyProvider] Using NOPROXY [ITW-CORE][2022-01-21 10:55:18.088 CST][DEBUG][net.adoptopenjdk.icedteaweb.http.HttpUtils] Following exception should be harmless, but may help in finding root cause. java.io.FileNotFoundException: http://abc.xyz.com:myport/myLoc/52176/mysql-connector-java-5.1.6-bin.jar at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1920) at java.base/sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1512) at java.base/sun.net.www.protocol.http.HttpURLConnection$9.run(HttpURLConnection.java:1510) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.base/java.security.AccessController.doPrivilegedWithCombiner(AccessController.java:795) at java.base/sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1509) at net.adoptopenjdk.icedteaweb.http.CloseableConnection.getInputStream(CloseableConnection.java:58) at net.adoptopenjdk.icedteaweb.http.HttpUtils.consumeAndCloseConnection(HttpUtils.java:75) at net.adoptopenjdk.icedteaweb.http.HttpUtils.consumeAndCloseConnectionSilently(HttpUtils.java:62) at net.adoptopenjdk.icedteaweb.resources.initializer.UrlProber.getUrlResponseCodeWithRedirectionResult(UrlProber.java:67) at net.adoptopenjdk.icedteaweb.resources.initializer.BaseResourceInitializer.testUrl(BaseResourceInitializer.java:103) at net.adoptopenjdk.icedteaweb.resources.initializer.BaseResourceInitializer.lambda$null$0(BaseResourceInitializer.java:83) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829)__

I don't know if this is the timestamp gap you were talking about. The gap was more than 1 second. Also, immediately after this, there was an exception.

Thank you.

frankzha2019 commented 2 years ago

Also, by the way, it was not my first time running the application in the last few days. I didn't perform "clean cache" before launching the application either. So, I would guess that all the jars should be cached already.

It's interesting that the OWS seemed to have figured out that "slf4j-api-1.7.21.jar" was in the cache while "mysql-connector-java-5.1.6-bin.jar" wasn't.

sclassen commented 2 years ago

I think we reached a point of complexity where it is almost impossible to help without the full log.

E.g. there are different reasons why OWS may decide to re-download an already cached resource. And the problem with the lock file needs further investigation.

You can send logs to @.*** if you do not want to post them in public.

Am 22. Januar 2022 05:39:41 MEZ schrieb frankzha2019 @.***>:

Also, by the way, it was not my first time running the application in the last few days. I didn't perform "clean cache" before launching the application either. So, I would guess that all the jars should be cached already.

It's interesting that the OWS seemed to have figured out that "slf4j-api-1.7.21.jar" was in the cache while "mysql-connector-java-5.1.6-bin.jar" wasn't.

-- Reply to this email directly or view it on GitHub: https://github.com/karakun/OpenWebStart/issues/488#issuecomment-1019048123 You are receiving this because you commented.

Message ID: @.***>

sclassen commented 2 years ago

Sorry did not realize that Github is obfuscating the email. You can send logs to openwebstart@karakun.com

frankzha2019 commented 2 years ago

Thank you.

The logs include a lot of proprietary data though. It took me quite some time to replace them in the logs, like changing the website to "http://abc.xyz.com:myport/myLoc/", etc., as well as other info.

frankzha2019 commented 2 years ago

BTW, OpenWebStart 1.5.1 does seem to be a little better than 1.5.0. I didn't see the exceptions as often as before. But it still seemed to "download" the resources files that were already cached. The "download progress dialogs" still appeared quite often and were very annoying to the users.

Because our logs contain a lot of proprietary data, I am afraid I wouldn't able to upload them. Is there anything other than the full logs that might be helpful to you?

sclassen commented 2 years ago

The full log is what we need.

You can delete any line which starts with [ITW-APP ] in the stage2 log. There should only be the username and the content of the JNLP file which remain in the log. So by replacing the user name and the server url you hide most of the data. What would be left is the name of the jar files. Most often there are only a few jar files which are application specific and the rest are generic libraries such as guava, apache-commons and similar.

Also you can send logs to the above mail and we will not disclose the content to anyone outside the webstart developer team.

frankzha2019 commented 2 years ago

I have sent the full log to openwebstart@karakun.com. The subject of the email is "log for https://github.com/karakun/OpenWebStart/issues/488".

Thx.