icedtea-web compatible with OpenJDK11

Jiri Vanek jvanek at redhat.com
Thu Sep 6 13:57:13 UTC 2018


On 09/05/2018 09:35 PM, Laurent Bourgès wrote:
> Jiri,
> One more question:
> 
> Do you agree if I publishes my changes on github (under GPL v2) as another ITW 1.7 mirror (my fork) ?
Sure.
> It helps me keeping history...

Jsut please see license file in bleeding edge of ITW[1]. And keep the license as stated. One just 
wish licenses were straightforward. I would avoid the single field github is restricting license to, 
but I doubt there is workaround.
Please mention in readme.md that it is  mirror for personal purposes and delegate to our mercurial 
repos on classapth and to  distro-pkg-dev at openjdk.java.net


Thanx!
  J.


[1]icedtea.classpath.org/hg/icedtea-web/file/61cfcf1170a5/LICENSE  was added after actually rebuked 
by law.

> 
> Laurent
> 
> Le mer. 5 sept. 2018 à 20:45, Laurent Bourgès <bourges.laurent at gmail.com 
> <mailto:bourges.laurent at gmail.com>> a écrit :
> 
>     Dear Jiri,
> 
>     Sorry for my late response, I was working hard on fixing IcedTea-Web 1.7 hanging problem (EDT)
>     on OpenJDK11.
>     I reported this problem to awt-dev list and wrote a simple reproducer:
>     http://mail.openjdk.java.net/pipermail/awt-dev/2018-September/014264.html
>     http://mail.openjdk.java.net/pipermail/awt-dev/2018-September/014269.html
> 
>     Today I managed fixing the AWT deadlock by using a workaround:
>     use a specific thread pool within the Main thread group (not JNLP's AppContext) to relay the EDT
>     invocations (invokeLater / invokeAndWait) as I figured out that SplashScreen & DownloadIndicator
>     dialogs were using the JNLP AppContext
>     => 2 concurrent AppContexts were used and 2 event dispatcher threads led to deadlocks in AWT
>     SequencedEvent processing (Window Gain / Lost focus).
>     With that workaround, all EDT actions from ITW are delivered to the Main AppContext and it works
>     well !
>     Of course, the application is still launched using its own separate AppContext, so the bug is
>     still critical if any ITW dialog (permission, file check ?) can happen while the application is
>     running.
>     My apps use allPermissions so I can not test. Do you have any example app ?
> 
>     Moreover, I added the well known ThreadCheckingRepaintManager & TracingEventQueue to detect and
>     fix any EDT violation: it is OK, so I can remove these classes.
> 
>     Now it is time to clean up the code and submit patches !
> 
>     Please see my comments in the text:
> 
>     Le mer. 29 août 2018 à 16:37, Jiri Vanek <jvanek at redhat.com <mailto:jvanek at redhat.com>> a écrit :
> 
>         On 08/29/2018 03:37 PM, Laurent Bourgès wrote:
>          > Hi,
>          >
>          > I am performing tests with icedtea-web-1.7 (cloned) + OpenJDK 11 EA 28 (oracle build) to
>         evaluate if
>          > it can provide a suitable alternative to Oracle JDK on major platforms (win/mac/linux).
> 
> 
>         Thank you *very* much for doing this!
> 
> 
>     Thank you all for all the good work on ITW. It made huge progresses in 10 years (fedora 11).
>     By the way, the control panel is great and it would be wonderful to open it via 'javaws -viewer'
>     (like O... jdk) or any other option.
> 
>     Another issue I could do: JNLPClassLoader does many useless class/resouce download queries if
>     many child loaders are in action... let's see later.
> 
> 
>          >
>          > FYI I compiled icedtea-web-1.7 without plugin and modified the generated shell scripts
>         (sh / bat) to
>         Have you disabled both native and java parts of plugin, or only native?
> 
>          > successfully run my javaws applications on jdk11 (win/linux).
>          > For example: http://jmmc.fr/~bourgesl/Aspro2/ <http://jmmc.fr/%7Ebourgesl/Aspro2/>
>         <http://jmmc.fr/%7Ebourgesl/Aspro2/>
>         Great! I'm really glad to hear this. when I was improving ITW launcher to survive jigsaw,
>         usually
>         ITW itself run well, but nearly all client applications were broken because of illegal access.
> 
> 
>     Yes our apps work almost on jdk11 (few third-party libs are causing issues).
>     I am very happy ITW works so well on jdk11 (linux), but jigsaw args are missing in windows
>     scripts, so I will rewrite them.
> 
>     PS: how to set jigsaw CLI args in JNLP ? Did you try ? Does it change the java command line ?
> 
> 
>         Thank you very much for improving and verifying the sh/bats.
> 
> 
>     I tested linux shell scripts and only windows command line (derived from linux CLI). It works
>     also on mac (latest update) with ojdk11-28.
> 
> 
>         I'm looking forward to see changes you mad!
> 
>         For future (1.8) ITW sh/bat launchers are being rewritten to rust, to avoid duplicated
>         bat/sh code.
>         The rust launchers are based 100% on current sh/bat, with improve in prebuild, downloadable
>         packages
>         for both windows and linux (currently linux is distribution only, but windows is downloadable)
> 
>          >
>          > I had many times security dialogs hanging (XAWT lock issue), so I started diagnosing
>         deadlocks
>          > (jvisualvm) and fixed several EDT violations.
> 
>         This is exceptional. I'm aware of those locks, but never had solid reproducer nor time to
>         debug it
>         properly.
> 
> 
>     Thanks. It is definitely 'done' for javaws, maybe some issue remains in control panel ...
> 
> 
>         This patch will be heavily appreciated, and will be backported to 1.7 and will make
>         candidate for
>         another 1.7 release.
> 
> 
>     As I only worked on 1.7 code base, I could use webrev or just patches.
>     Do you prefer me to rebase on the bleeding edge repo ?
> 
>          >
>          > If I use -headless, -Xnofork or -Xtrustall, I have no hanging issue.
>          > - Do you have any idea why separate AppContext are absolutely needed that maybe cause
>         XAWT lock
>          > deadlocks ?
> 
>         ITW and sandboxed application should be as separate as possible. Isnt Aseparate appcontext
>         part of
>         it? Maybe not. When I inherrited ITW, this was already there, so I keel in the habit.
> 
>          > - Running jdeps -jdkinternals (from jdk10) on the netx library reports lots of internal
>         jdk usages,
>          > do you plan fixing them ? I could help
> 
>         This should be fixed for future ITW. Any patch is welcomed. This is currently moreover one
>         (busy)
>         man show. So only small steps forward with development, a bit bigger with bugfixes,  but much
>         smaller in cleanups.
> 
> 
>     As it is not blocking, I agree it can stay as it is. However some future class removals in jdk
>     could hurt.
> 
> 
>          >
>          > 1. Are you interested by some patch in netx code ?
> 
>         Definitely.
> 
>     What form ? As webrev on cr.ojdk... ?
> 
> 
>          > what is your contribution process (I am an openjdk commiter) ?
> 
>         ITW have different contribution process, as it is not hg.openjdk.net
>         <http://hg.openjdk.net>, but classpath.org <http://classpath.org>.
>         Looking to the quality of your research and fact that you are OpenJDK commiter, mean that
>         you will
>         post patch or two, I review them and will commit them on your behalf, and then I will
>         nominate you
>         for "classpath hacker" (poetic name:). Doing so, you will get push access to classpath repos.
> 
> 
>          >
>          > 2. In latest icedtea-web repo, the shell scripts were removed. So what is your plan for
>         windows /
>          > mac compatibility ?
> 
>         As written above - they are replaced by rust launchers. They are not removed, jsut moved,
>         and marekd
>         as deprecated if you built only them (configure switches). Still I intend to maintain them
>         at least
>         for itw 1.8 and maybe more further, as on Linux they are exceptionally useful. But in some
>         time,
>         they are likely to die, yes:(
> 
>         I have never run ITW on mac, nor have any feedback on its usage. Likely with oracle removing
>         javaws,
>         it can change. I have some machines rented from redhat to test ITW deeply on linux, and
>         well, alsoa
>         biton windows, but I'm far from being  expereinced window one. Still some effort is done to
>         stabilise it. (many silently known issues for ITW on windows, but no more show stoppers).
>         Main kudos
>         for win port goes to Jacob, Alex and Michal and few students I had misused for it.
> 
> 
>     Great. I confirm my tests worked on mac too. Having an openjdk with installer on mac would be
>     awesome. My scientific users are mainly linux/mac addicts.
> 
> 
>          >
>          > Finally IcedTea-Web seems a promising alternative on windows for OpenJDK 11, so I think
>         openjdk
>          > distributions should adopt it when OpenJDK 11 will be released.
>          >
> 
>         Thank you for kind words, and an exceptional work you did on launchers, jdk11 testing and EDT
>         violations.  I'm looking forward to see the patches, and I hope I will make theirs
>         upstreaming as
>         simple comfortable as possible to return the value.
> 
> 
>     Thank you for your very positive feedback, I will propose asap patches on:
>     1. Netx code (EDT)
>     2. shell scripts (linux then win)
> 
>     Kindly regards from France (Grenoble),
>     Laurent
> 


-- 
Jiri Vanek
Senior QE engineer, OpenJDK QE lead, Mgr.
Red Hat Czech
jvanek at redhat.com    M: +420775390109


More information about the distro-pkg-dev mailing list