icedtea-web: FTBFS with OpenJDK 21: jdk.internal.util.jar.JarIndex not found

Bug #2053208 reported by Vladimir Petko
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
icedtea-web (Debian)
New
Unknown
icedtea-web (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

icedtea-web fails to build with OpenJDK 21 during the configure phase:

  checking for a JDK home directory... /usr/lib/jvm/default-java (link to /usr/lib/jvm/java-21-openjdk-amd64)
  checking for javac... /usr/lib/jvm/default-java/bin/javac
  checking for ecj... no
  checking for ecj-3.1... no
  checking for ecj-3.2... no
  checking for ecj-3.3... no
  checking if we are using ecj as javac... no
  checking for jar... /usr/lib/jvm/default-java/bin/jar
  checking whether jar supports @<file> argument... yes
  checking whether jar supports stdin file arguments... no
  checking whether jar supports -J options at the end... yes
  checking for an ecj JAR file... no
  checking for a JRE home directory... /usr/lib/jvm/default-java (link to /usr/lib/jvm/java-21-openjdk-amd64)
  checking for a Java virtual machine... /usr/bin/java
  checking JDK version... 21
  checking for javadoc... /usr/lib/jvm/default-java/bin/javadoc
  checking whether javadoc supports -J options... yes
  checking for keytool... /usr/lib/jvm/default-java/bin/keytool
  checking for jarsigner... /usr/lib/jvm/default-java/bin/jarsigner
  checking for hg... no
  checking for distribution package version... 1.8.8
  checking what version string to use... 1.8.8 (1.8.8)
  checking whether to build the browser plugin... no
  checking whether make supports the include directive... yes (GNU style)
  checking for pkg-config... /usr/bin/pkg-config
  checking pkg-config is at least version 0.9.0... yes
  checking whether to build plugin jar for javaws -html... no
  checking if java.net.CookieManager is available from some.pkg (module "")... yes
  checking if java.net.HttpCookie is available from some.pkg (module "")... yes
  checking if java.net.CookieHandler is available from some.pkg (module "")... yes
  checking if sun.security.util.SecurityConstants is available from some.pkg (module "java.base")... yes
  checking if sun.security.util.HostnameChecker is available from some.pkg (module "java.base")... yes
  checking if sun.security.x509.X500Name is available from some.pkg (module "java.base")... yes
  checking if sun.security.action.GetPropertyAction is available from some.pkg (module "java.base")... yes
  checking if sun.security.util.HexDumpEncoder is available from some.pkg (module "java.base")... yes
  checking if jdk.internal.util.jar.JarIndex is available from some.pkg (module "java.base")... no
  configure: error: jdk.internal.util.jar.JarIndex not found.
  make[1]: *** [debian/rules:12: override_dh_auto_configure] Error 1
  make[1]: Leaving directory '/<<PKGBUILDDIR>>'
  make: *** [debian/rules:8: build] Error 2
  dpkg-buildpackage: error: debian/rules build subprocess returned exit status 2

After fixing configure issue, the following occurs in default Java 21 vm:

$wget https://docs.oracle.com/javase/tutorialJWS/samples/deployment/dynamictree_webstartJWSProject/dynamictree_webstart.jnlp

$/usr/share/icedtea-web/bin/javaws.sh dynamictree_webstart.jnlp
WARNING: package sun.applet not in java.desktop
WARNING: package com.sun.net.ssl.internal.ssl not in java.base
WARNING: package jdk.internal.util.jar not in java.base
WARNING: A command line option has enabled the Security Manager
WARNING: The Security Manager is deprecated and will be removed in a future release
Gtk-Message: 04:11:03.826: Failed to load module "canberra-gtk-module"
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by net.sourceforge.jnlp.runtime.JNLPRuntime
WARNING: Please consider reporting this to the maintainers of net.sourceforge.jnlp.runtime.JNLPRuntime
WARNING: System::setSecurityManager will be removed in a future release
Unable to use Firefox's proxy settings. Using "DIRECT" as proxy type.
Codebase matches codebase manifest attribute, but application is unsigned. Continuing. See: http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/security/no_redeploy.html for details.
The 'permissions' attribute is 'sandbox' and the applet is signed. Forcing sandbox.
The 'permissions' attribute is 'sandbox' and the applet is signed. Forcing sandbox.
java.lang.ExceptionInInitializerError
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader$2.run(JNLPClassLoader.java:1422)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader$2.run(JNLPClassLoader.java:1310)
 at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.activateJars(JNLPClassLoader.java:1444)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:858)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:337)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:420)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:494)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:467)
 at java.desktop/net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:815)
 at java.desktop/net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:531)
 at java.desktop/net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:946)
Caused by: java.lang.RuntimeException: JarIndex not found!
 at java.desktop/net.sourceforge.jnlp.jdk89acesses.JarIndexAccess.<clinit>(JarIndexAccess.java:31)
 ... 12 more

Exception in thread "Dynamic Tree Demo" java.lang.RuntimeException: java.lang.ExceptionInInitializerError
 at java.desktop/net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:969)
Caused by: java.lang.ExceptionInInitializerError
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader$2.run(JNLPClassLoader.java:1422)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader$2.run(JNLPClassLoader.java:1310)
 at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.activateJars(JNLPClassLoader.java:1444)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.initializeResources(JNLPClassLoader.java:858)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.<init>(JNLPClassLoader.java:337)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.createInstance(JNLPClassLoader.java:420)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:494)
 at java.desktop/net.sourceforge.jnlp.runtime.JNLPClassLoader.getInstance(JNLPClassLoader.java:467)
 at java.desktop/net.sourceforge.jnlp.Launcher.createApplication(Launcher.java:815)
 at java.desktop/net.sourceforge.jnlp.Launcher.launchApplication(Launcher.java:531)
 at java.desktop/net.sourceforge.jnlp.Launcher$TgThread.run(Launcher.java:946)
Caused by: java.lang.RuntimeException: JarIndex not found!
 at java.desktop/net.sourceforge.jnlp.jdk89acesses.JarIndexAccess.<clinit>(JarIndexAccess.java:31)
 ... 12 more

Related branches

Vladimir Petko (vpa1977)
description: updated
Changed in icedtea-web (Debian):
status: Unknown → New
Revision history for this message
Vladimir Petko (vpa1977) wrote :
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package icedtea-web - 1.8.8-2ubuntu1

---------------
icedtea-web (1.8.8-2ubuntu1) noble; urgency=medium

  * d/p/jdk-21-*: add Java 21 compatibility patches (LP: #2053208).

 -- Vladimir Petko <email address hidden> Thu, 15 Feb 2024 20:50:42 +1300

Changed in icedtea-web (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.