-
Bug
-
Resolution: External
-
P3
-
10.0.1, 11
-
x86_64
-
linux_ubuntu
ADDITIONAL SYSTEM INFORMATION :
Linux Debian, the issue starts with openjdk 9, and happens with 10 and 11 too.
A DESCRIPTION OF THE PROBLEM :
Hello,
On Debian-based systems (ubuntu notably), the java atk wrapper can not be loaded any more, and thus applications are completely inaccessible.
Things used to work in openjdk8 this way:
- conf/accessibility.properties contains
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
- $JVM/jre/lib/ext contains links to java-atk-wrapper.jar and libatk-wrapper.so
But apparently the ext mechanism was removed in openjdk9, thus breaking this completely. Apparently it is replaced by the platform loader, but how can we make the platform loader load java-atk-wrapper.jar?
Samuel
REGRESSION : Last worked in version 8u172
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Have conf/accessibility.properties contain
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Java applications should start fine.
ACTUAL -
Whatever the application, we get the following stack trace:
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.desktop/java.awt.Toolkit.newAWTError(Toolkit.java:472)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:488)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1608)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:532)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:613)
at java.desktop/java.awt.Window.getToolkit(Window.java:1375)
at java.desktop/java.awt.Window.init(Window.java:518)
at java.desktop/java.awt.Window.<init>(Window.java:549)
at java.desktop/java.awt.Frame.<init>(Frame.java:423)
at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
at show_java.<init>(show_java.java:5)
at show_java.main(show_java.java:9)
Caused by: java.lang.ClassNotFoundException: org.GNOME.Accessibility.AtkWrapper
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:374)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:485)
... 18 more
While there is java-atk-wrapper.jar in /usr/share/java.
---------- BEGIN SOURCE ----------
Any java application has the issue.
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Setting
export CLASSPATH=/usr/share/java/java-atk-wrapper.jar
makes the atk wrapper loadable, but that's not something we can do on the whole distribution :)
FREQUENCY : always
Linux Debian, the issue starts with openjdk 9, and happens with 10 and 11 too.
A DESCRIPTION OF THE PROBLEM :
Hello,
On Debian-based systems (ubuntu notably), the java atk wrapper can not be loaded any more, and thus applications are completely inaccessible.
Things used to work in openjdk8 this way:
- conf/accessibility.properties contains
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
- $JVM/jre/lib/ext contains links to java-atk-wrapper.jar and libatk-wrapper.so
But apparently the ext mechanism was removed in openjdk9, thus breaking this completely. Apparently it is replaced by the platform loader, but how can we make the platform loader load java-atk-wrapper.jar?
Samuel
REGRESSION : Last worked in version 8u172
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
Have conf/accessibility.properties contain
assistive_technologies=org.GNOME.Accessibility.AtkWrapper
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Java applications should start fine.
ACTUAL -
Whatever the application, we get the following stack trace:
Exception in thread "main" java.awt.AWTError: Assistive Technology not found: org.GNOME.Accessibility.AtkWrapper
at java.desktop/java.awt.Toolkit.newAWTError(Toolkit.java:472)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:488)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183)
at java.base/java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:177)
at java.base/java.util.HashMap$KeySpliterator.forEachRemaining(HashMap.java:1608)
at java.base/java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:484)
at java.base/java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:474)
at java.base/java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150)
at java.base/java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173)
at java.base/java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234)
at java.base/java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:497)
at java.desktop/java.awt.Toolkit.loadAssistiveTechnologies(Toolkit.java:532)
at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:613)
at java.desktop/java.awt.Window.getToolkit(Window.java:1375)
at java.desktop/java.awt.Window.init(Window.java:518)
at java.desktop/java.awt.Window.<init>(Window.java:549)
at java.desktop/java.awt.Frame.<init>(Frame.java:423)
at java.desktop/javax.swing.JFrame.<init>(JFrame.java:224)
at show_java.<init>(show_java.java:5)
at show_java.main(show_java.java:9)
Caused by: java.lang.ClassNotFoundException: org.GNOME.Accessibility.AtkWrapper
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:374)
at java.desktop/java.awt.Toolkit.fallbackToLoadClassForAT(Toolkit.java:485)
... 18 more
While there is java-atk-wrapper.jar in /usr/share/java.
---------- BEGIN SOURCE ----------
Any java application has the issue.
---------- END SOURCE ----------
CUSTOMER SUBMITTED WORKAROUND :
Setting
export CLASSPATH=/usr/share/java/java-atk-wrapper.jar
makes the atk wrapper loadable, but that's not something we can do on the whole distribution :)
FREQUENCY : always