Closed the-suspect2 closed 3 years ago
If this would be true, then ITW would be swarmed by bugs. There must be something wrong in your config. Please share what ITW are yo using (msi, distribution, zip) and what jdk are you using (8, 11, 12, open, oracle). Waht ITW 1.7 you were using? Win, linux? Do you mind to attach verbose log? Do you mind to share jnlp files which were not working so we may try?
ITW 1.7.1: icedtea-web-1.7.1.win.bin.zip
ITW 1.8: icedtea-web-1.8.win.bin.zip, also tried icedtea-web-1.8.portable.bin.zip
In the javaws.bat file I defined paths for Java by adding at the beginning:
set "INST_ITW_HOME=C:\icedtea-web-image"
set "INST_JAVA_HOME=C:\Zulu\zulu8.36.0.1-ca-fx-jdk8.0.202-win_x64\jre"
set "JAVA_HOME=C:\Zulu\zulu8.36.0.1-ca-fx-jdk8.0.202-win_x64\jre"
For Java, I tried ZuluFX, AdoptOpenJDK and Amazon Corretto.
I'm on Windows 7 x64.
The .jnlp file is licensed/proprietary and I'd rather not share it. Are there any test .jnlp files that I could try and run? Maybe one of them would have the same issue.
Feeling the same about the full log, do you mind if I share you the log via PM? Not sure if the log would be of same use if I cut out any data that I don't want to go public.
Hi,
Are there any test .jnlp files that I could try and run?
https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/index.html
https://docs.oracle.com/javase/tutorial/uiswing/examples/misc/index.html
Thank you. I tested a random app (picked ShapedWindowDemo) and it results in the same error. Log below. Since the system account's name is my real name, I replaced it with "John Doe", "John%20Doe" or "JOHNDO~1", depending on how it was written. Hopefully it's not an issue.
https://gist.github.com/the-suspect2/8fc9d2204d9fd3bb126ddf00eaae9cba
Maybe this ? :
java.net.URISyntaxException: Illegal character in path at index 21: file://C:/Users/John Doe/.config/icedtea-web/security/java.policy at java.net.URI$Parser.fail(URI.java:2848) at java.net.URI$Parser.checkChars(URI.java:3021) at java.net.URI$Parser.parseHierarchical(URI.java:3105) at java.net.URI$Parser.parse(URI.java:3053) at java.net.URI.
If I were to put the real name back into "file://C:/Users/John Doe/.config/icedtea-web/security/java.policy" and count the characters starting from 0, it would point to " " (space). Problem with spaces in usernames? I can try creating an account with no spaces and see if that fixes it, but since the PC is connected to the domain, I'd love to see it fixed.
Yes, space are not allowed in java.net.URI so this is the bug (to use path as URI).. but already present in 1.7.2. Can you confirm that you have changed username when switching from 1.7.2 to 1.8.
I have tested and both 1.7 and 1.8 don't work when username contain space. Can you confirm please ? If confirmed, this is not a regression in 1.8
No, I haven't changed my username when coming to 1.8 - it also had a space when I was using 1.7.1, which worked.
@the-suspect2 you are right, I have missed my test yesterday. I confirm the bug is not present un 1.7.1 and 1.7.2. The "java.net.URISyntaxException: Illegal character in path at index" is already present in 1.7.1 and 1.7.2 but it is a non-blocking exception and jnlp start well. I have added a new bug for this : https://github.com/AdoptOpenJDK/icedtea-web/issues/197
For you bug, it is maybe a classpath problem wich dont handle space well because jar are downloaded into cache folder wich is by default in user home : C:\Users\
I have tried a workaroud ( setting a folder without space for cache folder) with success in 1.8
I was just about to post a log of me launching a .jnlp app on 1.7.1 successfully :) Thank you for the help with researching this.
Workaround: set Cache path without space with itweb-settings.exe "Cache" -> "Change..." variable : deployment.user.cachedir in deployment.properties
@the-suspect2 The bug affect you because your username has space but the bug is for any folder with space in the cache path
After changing the cache path, a different error is shown:
java.net.URISyntaxException: Illegal character in path at index 21: file://C:/Users/John Doe/.config/icedtea-web/security/java.policy
at java.net.URI$Parser.fail(URI.java:2848)
at java.net.URI$Parser.checkChars(URI.java:3021)
at java.net.URI$Parser.parseHierarchical(URI.java:3105)
at java.net.URI$Parser.parse(URI.java:3053)
at java.net.URI.<init>(URI.java:588)
at net.sourceforge.jnlp.runtime.JNLPPolicy.getPolicyFromUrl(JNLPPolicy.java:188)
at net.sourceforge.jnlp.runtime.JNLPPolicy.<init>(JNLPPolicy.java:64)
at net.sourceforge.jnlp.runtime.JNLPRuntime.initialize(JNLPRuntime.java:260)
at net.sourceforge.jnlp.runtime.Boot.init(Boot.java:349)
at net.sourceforge.jnlp.runtime.JnlpBoot.run(JnlpBoot.java:58)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:270)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:63)
at java.security.AccessController.doPrivileged(Native Method)
at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:210)
netx: Błąd odczytu: Nie można odczytać lub przeprowadzić analizy składni pliku JNLP. (java.io.FileNotFoundException: D:\ictw_cache\37\https\docs.oracle.com\javase\tutorialJWS\samples\uiswing\ShapedWindowDemoProject\ShapedWindowDemo.jnlp (Nie można odnaleźć określonego pliku) (D:\ictw_cache\37\https\docs.oracle.com\javase\tutorialJWS\samples\uiswing\ShapedWindowDemoProject\ShapedWindowDemo.jnlp (Nie można odnaleźć określonego pliku)))
In that directory, the only file present is "ShapedWindowDemo.jnlp.info.temp", which is 0 B in size.
@the-suspect2 as filled here : https://github.com/AdoptOpenJDK/icedtea-web/issues/197 this is not a blocking issue
be carefull with the acl/right in the new cache folder ( rw ) needed
I granted full access to the cache folder for the group "Everyone" and I still experience the error.
and no previous message before this one ? :
netx: Błąd odczytu: Nie można odczytać lub przeprowadzić analizy składni pliku JNLP. (java.io.FileNotFoundException: D:\ictw_cache\37\https\docs.oracle.com\javase\tutorialJWS\samples\uiswing\ShapedWindowDemoProject\ShapedWindowDemo.jnlp (Nie można odnaleźć określonego pliku) (D:\ictw_cache\37\https\docs.oracle.com\javase\tutorialJWS\samples\uiswing\ShapedWindowDemoProject\ShapedWindowDemo.jnlp (Nie można odnaleźć określonego pliku)))
The error message I posted above is what I've taken from the log that was in .config\log. That was its full content. There's also this, taken from the "Error" window shown by ICW when trying to launch something:
net.sourceforge.jnlp.LaunchException: Fatalny: Błąd odczytu: Nie można odczytać lub przeprowadzić analizy składni pliku JNLP. Możesz spróbować ręcznie pobrać ten plik i wysłać go razem ze zgłoszeniem błędu do zespołu IcedTea-Web.
at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:489)
at net.sourceforge.jnlp.Launcher.launch(Launcher.java:289)
at net.sourceforge.jnlp.runtime.JnlpBoot.run(JnlpBoot.java:67)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:270)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:63)
at java.security.AccessController.doPrivileged(Native Method)
at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:210)
Caused by: java.io.IOException: java.io.FileNotFoundException: D:\ictw_cache\64\https\docs.oracle.com\javase\tutorialJWS\samples\uiswing\ShapedWindowDemoProject\ShapedWindowDemo.jnlp (Nie można odnaleźć określonego pliku)
at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:318)
at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:240)
at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:215)
at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:200)
at net.sourceforge.jnlp.JNLPFile.<init>(JNLPFile.java:186)
at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:453)
... 6 more
Caused by: java.io.FileNotFoundException: D:\ictw_cache\64\https\docs.oracle.com\javase\tutorialJWS\samples\uiswing\ShapedWindowDemoProject\ShapedWindowDemo.jnlp (Nie można odnaleźć określonego pliku)
at java.io.FileInputStream.open0(Native Method)
at java.io.FileInputStream.open(FileInputStream.java:195)
at java.io.FileInputStream.<init>(FileInputStream.java:138)
at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:316)
... 11 more
The Java console shows up when I'm launching an app, but when the "Error" window spawns, I cannot copy its contents (I cannot activate the window, it's blocked), and clicking "OK" closes the console as well.
I am able to launch most of the .jnlps on ITW1.8 without issues. I ran my own SVT tests and also tested on ShapedWindowDemo.jnlp, both from local system as well as from web directly and still couldn’t recreate the Error above. All I see after the jnlp is launched is : Denying permission: (“java.awt.AWTPermission” “accessClipboard”) which is nothing harmful. Note: My caches all are named without spaces. I used Adopopenjdk builds
How have you been trying to launch the jnlp? javaws.exe {location}.jnlp ?
Yes, either by the command you said, or drag and dropping the jnlp file onto javaws.
czw., 2 maj 2019, 10:41 użytkownik Jayashree S Kumar < notifications@github.com> napisał:
I am able to launch most of the .jnlps on ITW1.8 without issues. I ran my own SVT tests and also tested on ShapedWindowDemo.jnlp, both from local system as well as from web directly and still couldn’t recreate the Error above. All I see after the jnlp is launched is : Denying permission: (“java.awt.AWTPermission” “accessClipboard”) which is nothing harmful. Note: My caches all are named without spaces. I used Adopopenjdk builds
How have you been trying to launch the jnlp? javaws.exe {location}.jnlp ?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/AdoptOpenJDK/icedtea-web/issues/184#issuecomment-488593197, or mute the thread https://github.com/notifications/unsubscribe-auth/AL3IMQXRNNH2CWJ5ZWMR2ITPTKSKHANCNFSM4HG3HBYA .
I reproduce actually a bug when settings the cache path to a folder != from the default one. This is the workaround I have proposed to @the-suspect2 because of bug for handling username with space.
But now each time I try to set a cache folder I have the same kind of error : FileNotFoundException and java.io.IOException: Cant rename D:\ncache\recently_used.temp to D:\ncache\recently_used
I run javaws with an account name without space with all privilege in the cache folder D:\ncache
The file wich can't by rename as all acl removed ( not readble ) .. but it was just created by iced-tea ...
`C:\Users\adminup>javaws d:\java\version.jnlp
C:\Users\adminup>selected jre: C:\Program Files (x86)\AdoptOpenJDK\jre-8.0.202.08-hotspot
Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type.
java.io.IOException: Cant rename D:\ncache\recently_used.temp to D:\ncache\recently_used
at net.sourceforge.jnlp.util.FileUtils.createRestrictedFile(FileUtils.java:329)
at net.sourceforge.jnlp.util.FileUtils.createRestrictedFile(FileUtils.java:172)
at net.sourceforge.jnlp.cache.CacheLRUWrapper.
java.io.FileNotFoundException: D:\ncache\1\https\apoweb-preprod-integration.phmd.net\preprod_integration\Version.jar (Le fichier spécifié est introuvable)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.
java.io.FileNotFoundException: D:\ncache\1\https\apoweb-preprod-integration.phmd.net\preprod_integration\Version.jar (Le fichier spécifié est introuvable)
at java.util.zip.ZipFile.open(Native Method)
at java.util.zip.ZipFile.
netx: Initialization Error: Could not initialize application. (Fatal: Initialization Error: A fatal error occurred while trying to verify jars. An exception has been thrown in class JarCertVerifier. Being unable to read the cacerts or trusted.certs files could be a possible cause for this exception.: D:\ncache\1\https\apoweb-preprod-integration.phmd.net\preprod_integration\Version.jar (Le fichier spécifié est introuvable))
net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: Could not initialize application. The application has not been initialized, for more information execute javaws from the command line.
at net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:822)
at net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:531)
at net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:945)
Caused by: net.sourceforge.jnlp.LaunchException: Fatal: Initialization Error: A fatal error occurred while trying to verify jars. An exception has been thrown in class JarCertVerifier. Being unable to read the cacerts or trusted.certs files could be a possible cause for this exception.: D:\ncache\1\https\apoweb-preprod-integration.phmd.net\preprod_integration\Version.jar (Le fichier spécifié est introuvable)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:739)
at net.sourceforge.jnlp.runtime.JNLPClassLoader.
@judovana this is with the latest internal build from adopt (WIP) 1.8 branch commit f3fa6f4eb13618c1f5b0ea641d33b31d8b6b8c53
I think there is problem with createRestrictedFile
like if
if (JNLPRuntime.isWindows()) {
is false and we go into
else { // remove all permissions
or setAcl don't work ..
ok, it works if I add myself (the user) full access to the cache folder but not if I have full access to the cache folder by a group I belong to.
And it so I understand this is linked to UAC.
@judovana maybe what is intended to do in createRestrictedFile is to duplicate acl for the owner ? // filter ACL's leaving only root and owner
I think it doesn't work for account who are in administrators group
I will try with a non-administrator user to see
I granted full access to the cache folder for the group "Everyone" and I still experience the error.
You must give full access to the user ( not a group ) I have the same behaviour with an admin or a standard user ( giving full access to a group belonging to is doesn't work )
@judovana do you think it is a expected behaviour ?
Thank you @douph1 , adding permissions for the exact user worked. Hopefully that's not expected behaviour, that would mean repeating the procedure of adding permissions to the cache folder every time a new user starts using the computer.
STR:
deployment.properties:
deployment.log.headers=true deployment.log.file.legacylog=true deployment.jre.dir=C\:\Program Files\ojdkbuild\java-1.8.0-openjdk-1.8.0.212-1\jre\ deployment.log=true deployment.console.startup.mode=SHOW deployment.security.level=ASK_UNSIGNED
Download jnlp to disk: ShapedWindowDemo [Launch] https://docs.oracle.com/javase/tutorialJWS/samples/uiswing/ShapedWindowDemoProject/ShapedWindowDemo.jnlp
And" run it" using ~\icedteaweb\bin\javaws through windows context menu on jnlp:
Result:
net.sourceforge.jnlp.LaunchException: Fatal: Read Error: Could not read or parse the JNLP file. You can try to download this file manually and send it as bug report to IcedTea-Web team.
at net.sourceforge.jnlp.Launcher.fromUrl(Launcher.java:489)
at net.sourceforge.jnlp.Launcher.launch(Launcher.java:289)
at net.sourceforge.jnlp.runtime.JnlpBoot.run(JnlpBoot.java:67)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:270)
at net.sourceforge.jnlp.runtime.Boot.run(Boot.java:63)
at java.security.AccessController.doPrivileged(Native Method)
at net.sourceforge.jnlp.runtime.Boot.main(Boot.java:210)
Caused by: java.io.IOException: java.lang.NullPointerException: name can't be null
at net.sourceforge.jnlp.JNLPFile.openURL(JNLPFile.java:318)
at net.sourceforge.jnlp.JNLPFile.
Java console stalls out at:
[cdecker][ITW-APPLET][MESSAGE_DEBUG][Tue Jul 16 10:19:58 PDT 2019][net.sourceforge.jnlp.config.DeploymentConfiguration.
Hi @VanDecker, why do you think you previous comment is linked to the same bug ? You show us : java.lang.NullPointerException: name can't be null wich was never mentionned in this bug report. If it is a mistake, please confirm, and if necessary open a new bug please
hey @the-suspect2, what is the current state of this issue?
Current state is highlighted in my previous comment: https://github.com/AdoptOpenJDK/IcedTea-Web/issues/184#issuecomment-495090229
Works when the specific user is given full rights to the cache directory, but setting permissions like this in a domain environment sounds like a pain. IMO that's an issue to fix.
Unless that may have changed, please give me time until the end of this week and I'll test this again on the newest version of ITW
pon., 21 wrz 2020, 13:53 użytkownik Jamila891 notifications@github.com napisał:
hey @the-suspect2 https://github.com/the-suspect2, what is the current state of this issue?
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/AdoptOpenJDK/IcedTea-Web/issues/184#issuecomment-696065739, or unsubscribe https://github.com/notifications/unsubscribe-auth/AL3IMQWGJY22VA4VY73S543SG45FJANCNFSM4HG3HBYA .
The createRestrictedFile()
has not changed.
So most likely this still persists
App launches properly with icedtea-web 1.7.1 and mostly works except for some JavaFX stuff, which was apparently fixed in 1.8, so I wanted to try and launch the app with the latest version. This fails, as the console shows a localized error message that after translating says something like:
net.sourceforge.jnlp.LaunchException: Fatal: Startup error: Could not start the JNLP file. Application was not initalized.
Tested with several free Java distributions, yielding the same result.This is a blocking issue for 1.8.1 release