Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
On 06.04.19 15:13, Paul Gevers wrote: > Hi > > On 06-04-2019 08:55, Samuel Thibault wrote: >>> please don't NMU. In the past the atk patches broke the non-atk use case >>> way too >>> often. Maybe you want to upload to a PPA or to experimental to give this a >>> little bit more testing. >> >> Can we then at least upload all changes except enabling atk, i.e. >> the attached patch which just fixes loading atk without enabling it >> by default? So that there is even no need for any external PPA or >> experimental (which would be quite involved for people to configure), >> instead people can just enable from the configuration file, as expected >> and documented. > > With my release team member hat on: we want accessibility enabled by > default. We're late already, I would want this rather sooner than latter > in buster, such that there is some real live testing before we release. > Sure, there are chances for bugs, but if that's the case, let's find > them and fix them. I disagree. I'll do the next upload with Samuel's proposed patches, not enabling that by default, together with the planned security update. Then people can start testing if the wrapper works. Enabling features during the freeze which were broken most of the time during the development cycle sounds risky. We don't have release goals anymore. Matthias
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
Hi On 06-04-2019 08:55, Samuel Thibault wrote: >> please don't NMU. In the past the atk patches broke the non-atk use case way >> too >> often. Maybe you want to upload to a PPA or to experimental to give this a >> little bit more testing. > > Can we then at least upload all changes except enabling atk, i.e. > the attached patch which just fixes loading atk without enabling it > by default? So that there is even no need for any external PPA or > experimental (which would be quite involved for people to configure), > instead people can just enable from the configuration file, as expected > and documented. With my release team member hat on: we want accessibility enabled by default. We're late already, I would want this rather sooner than latter in buster, such that there is some real live testing before we release. Sure, there are chances for bugs, but if that's the case, let's find them and fix them. Paul signature.asc Description: OpenPGP digital signature
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
Matthias Klose, le sam. 06 avril 2019 03:04:54 +0200, a ecrit: > On 01.04.19 17:24, Samuel Thibault wrote: > > Samuel Thibault, le lun. 01 avril 2019 15:54:17 +0200, a ecrit: > >> Vincent Privat, le ven. 24 août 2018 18:33:56 +0200, a ecrit: > >>> Patching openjdk with your try/catch proposal and making the ATK wrapper a > >>> Recommends sounds a good idea. > >>> > >>> Don't wait for openjdk guys for an answer: they simply don't care anymore > >>> with > >>> desktop technologies. > >> > >> FI, I plan to upload the attached NMU, which does it: > > > > But currently the 11.0.3+4-3 version is blocked in unstable, and notably > > due to a regression on libreoffice, so I'm not sure what to do for now. > > please don't NMU. In the past the atk patches broke the non-atk use case way > too > often. Maybe you want to upload to a PPA or to experimental to give this a > little bit more testing. Can we then at least upload all changes except enabling atk, i.e. the attached patch which just fixes loading atk without enabling it by default? So that there is even no need for any external PPA or experimental (which would be quite involved for people to configure), instead people can just enable from the configuration file, as expected and documented. Samuel diff -Nru openjdk-11-11.0.3+4/debian/changelog openjdk-11-11.0.3+4/debian/changelog --- openjdk-11-11.0.3+4/debian/changelog2019-03-29 09:06:03.0 +0100 +++ openjdk-11-11.0.3+4/debian/changelog2019-03-31 17:49:09.0 +0200 @@ -1,3 +1,12 @@ +openjdk-11 (11.0.3+4-3.1) unstable; urgency=medium + + * Non-maintainer upload. + * patches/jaw-classpath.diff: Fix finding the Java ATK wrapper. + * patches/jaw-optional.diff: Make failing to load the Java ATK wrapper +non-fatal. Closes: #900912. + + -- Samuel Thibault Sun, 31 Mar 2019 17:49:09 +0200 + openjdk-11 (11.0.3+4-3) unstable; urgency=medium [ Matthias Klose ] diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff --- openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff 1970-01-01 01:00:00.0 +0100 +++ openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff 2019-03-31 17:49:09.0 +0200 @@ -0,0 +1,14 @@ +Fix finding the Java ATK wrapper, see #900912 + +Index: openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp +=== +--- openjdk-10-10.0.1+10.orig/src/hotspot/os/linux/os_linux.cpp openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp +@@ -369,6 +369,7 @@ void os::init_system_properties_values() + } + Arguments::set_java_home(buf); + set_boot_path('/', ':'); ++Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar"); + } + + // Where to look for native libraries. diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff --- openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff1970-01-01 01:00:00.0 +0100 +++ openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff2019-03-31 17:49:09.0 +0200 @@ -0,0 +1,20 @@ +Make failing to load the Java ATK wrapper non-fatal + +--- + src/java.desktop/share/classes/java/awt/Toolkit.java |4 + 1 file changed, 4 insertions(+) + +--- a/src/java.desktop/share/classes/java/awt/Toolkit.java b/src/java.desktop/share/classes/java/awt/Toolkit.java +@@ -610,7 +610,11 @@ public abstract class Toolkit { + } + }); + if (!GraphicsEnvironment.isHeadless()) { ++ try { + loadAssistiveTechnologies(); ++ } catch (java.awt.AWTError e) { ++// too bad ++ } + } + } + return toolkit; diff -Nru openjdk-11-11.0.3+4/debian/patches/series openjdk-11-11.0.3+4/debian/patches/series --- openjdk-11-11.0.3+4/debian/patches/series 2019-03-28 09:32:28.0 +0100 +++ openjdk-11-11.0.3+4/debian/patches/series 2019-03-31 17:49:09.0 +0200 @@ -38,3 +38,5 @@ jdk-improve-gtk3-compatibility.patch keep-gtk2-as-default.patch 8221083.diff +jaw-classpath.diff +jaw-optional.diff diff -Nru openjdk-11-11.0.3+4/debian/rules openjdk-11-11.0.3+4/debian/rules --- openjdk-11-11.0.3+4/debian/rules2019-03-28 20:44:54.0 +0100 +++ openjdk-11-11.0.3+4/debian/rules2019-03-31 17:49:09.0 +0200 @@ -1427,23 +1427,26 @@ endif endif -ifeq (0,1) -# FIXME: ext not longer supported ifeq ($(with_bridge),atk) : # create links for the atk wrapper + ifeq (0,1) + # FIXME: ext no longer supported echo "usr/share/java/java-atk-wrapper.jar $(basedir)/lib/ext/java-atk-wrapper.jar" \ >> $(d_jre).links - echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/ext/libatk-wrapper.so" \ + endif + echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/libatk-wrapper.so" \
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
On 01.04.19 17:24, Samuel Thibault wrote: > Samuel Thibault, le lun. 01 avril 2019 15:54:17 +0200, a ecrit: >> Vincent Privat, le ven. 24 août 2018 18:33:56 +0200, a ecrit: >>> Patching openjdk with your try/catch proposal and making the ATK wrapper a >>> Recommends sounds a good idea. >>> >>> Don't wait for openjdk guys for an answer: they simply don't care anymore >>> with >>> desktop technologies. >> >> FI, I plan to upload the attached NMU, which does it: > > But currently the 11.0.3+4-3 version is blocked in unstable, and notably > due to a regression on libreoffice, so I'm not sure what to do for now. please don't NMU. In the past the atk patches broke the non-atk use case way too often. Maybe you want to upload to a PPA or to experimental to give this a little bit more testing. Matthias
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
Samuel Thibault, le lun. 01 avril 2019 15:54:17 +0200, a ecrit: > Vincent Privat, le ven. 24 août 2018 18:33:56 +0200, a ecrit: > > Patching openjdk with your try/catch proposal and making the ATK wrapper a > > Recommends sounds a good idea. > > > > Don't wait for openjdk guys for an answer: they simply don't care anymore > > with > > desktop technologies. > > FI, I plan to upload the attached NMU, which does it: But currently the 11.0.3+4-3 version is blocked in unstable, and notably due to a regression on libreoffice, so I'm not sure what to do for now. Samuel > adding the ATK wrapper classpath, catching ATK wrapper load failure, > so we can enable it again. > > Samuel > diff -Nru openjdk-11-11.0.3+4/debian/changelog > openjdk-11-11.0.3+4/debian/changelog > --- openjdk-11-11.0.3+4/debian/changelog 2019-03-29 09:06:03.0 > +0100 > +++ openjdk-11-11.0.3+4/debian/changelog 2019-03-31 17:49:09.0 > +0200 > @@ -1,3 +1,13 @@ > +openjdk-11 (11.0.3+4-3.1) unstable; urgency=medium > + > + * Non-maintainer upload. > + * patches/jaw-classpath.diff: Fix finding the Java ATK wrapper. > + * patches/jaw-optional.diff: Make failing to load the Java ATK wrapper > + non-fatal. > + * rules: Enable Java ATK wrapper for Buster. Closes: #900912. > + > + -- Samuel Thibault Sun, 31 Mar 2019 17:49:09 +0200 > + > openjdk-11 (11.0.3+4-3) unstable; urgency=medium > >[ Matthias Klose ] > diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff > openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff > --- openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff 1970-01-01 > 01:00:00.0 +0100 > +++ openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff 2019-03-31 > 17:49:09.0 +0200 > @@ -0,0 +1,14 @@ > +Fix finding the Java ATK wrapper, see #900912 > + > +Index: openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp > +=== > +--- openjdk-10-10.0.1+10.orig/src/hotspot/os/linux/os_linux.cpp > openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp > +@@ -369,6 +369,7 @@ void os::init_system_properties_values() > + } > + Arguments::set_java_home(buf); > + set_boot_path('/', ':'); > ++Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar"); > + } > + > + // Where to look for native libraries. > diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff > openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff > --- openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff 1970-01-01 > 01:00:00.0 +0100 > +++ openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff 2019-03-31 > 17:49:09.0 +0200 > @@ -0,0 +1,20 @@ > +Make failing to load the Java ATK wrapper non-fatal > + > +--- > + src/java.desktop/share/classes/java/awt/Toolkit.java |4 > + 1 file changed, 4 insertions(+) > + > +--- a/src/java.desktop/share/classes/java/awt/Toolkit.java > b/src/java.desktop/share/classes/java/awt/Toolkit.java > +@@ -610,7 +610,11 @@ public abstract class Toolkit { > + } > + }); > + if (!GraphicsEnvironment.isHeadless()) { > ++ try { > + loadAssistiveTechnologies(); > ++ } catch (java.awt.AWTError e) { > ++// too bad > ++ } > + } > + } > + return toolkit; > diff -Nru openjdk-11-11.0.3+4/debian/patches/series > openjdk-11-11.0.3+4/debian/patches/series > --- openjdk-11-11.0.3+4/debian/patches/series 2019-03-28 09:32:28.0 > +0100 > +++ openjdk-11-11.0.3+4/debian/patches/series 2019-03-31 17:49:09.0 > +0200 > @@ -38,3 +38,5 @@ > jdk-improve-gtk3-compatibility.patch > keep-gtk2-as-default.patch > 8221083.diff > +jaw-classpath.diff > +jaw-optional.diff > diff -Nru openjdk-11-11.0.3+4/debian/rules openjdk-11-11.0.3+4/debian/rules > --- openjdk-11-11.0.3+4/debian/rules 2019-03-28 20:44:54.0 +0100 > +++ openjdk-11-11.0.3+4/debian/rules 2019-03-31 17:49:09.0 +0200 > @@ -1081,13 +1081,13 @@ > ifeq ($(with_bridge),atk) > # only add releases that are known to work with atk > # by default leave atk disabled > -# ifneq (,$(filter $(distrel),)) > -#cp -p debian/accessibility-atk.properties.enabled \ > + ifneq (,$(filter $(distrel),buster)) > + cp -p debian/accessibility-atk.properties.enabled \ > $(d)/$(basedir)/conf/accessibility.properties > -# else > + else > cp -p debian/accessibility-atk.properties.disabled \ > $(d)/$(basedir)/conf/accessibility.properties > -# endif > + endif > else > cp -p debian/accessibility.properties $(d)/$(basedir)/conf/ > endif > @@ -1427,23 +1427,26 @@ >endif > endif > > -ifeq (0,1) > -# FIXME: ext not longer supported > ifeq ($(with_bridge),atk) > : # create links for the atk wrapper > + ifeq (0,1) > + # FIXME: ext no longer supported > echo "usr/share/java/java-atk-wrapp
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
Hello, Vincent Privat, le ven. 24 août 2018 18:33:56 +0200, a ecrit: > Patching openjdk with your try/catch proposal and making the ATK wrapper a > Recommends sounds a good idea. > > Don't wait for openjdk guys for an answer: they simply don't care anymore with > desktop technologies. FI, I plan to upload the attached NMU, which does it: adding the ATK wrapper classpath, catching ATK wrapper load failure, so we can enable it again. Samuel diff -Nru openjdk-11-11.0.3+4/debian/changelog openjdk-11-11.0.3+4/debian/changelog --- openjdk-11-11.0.3+4/debian/changelog2019-03-29 09:06:03.0 +0100 +++ openjdk-11-11.0.3+4/debian/changelog2019-03-31 17:49:09.0 +0200 @@ -1,3 +1,13 @@ +openjdk-11 (11.0.3+4-3.1) unstable; urgency=medium + + * Non-maintainer upload. + * patches/jaw-classpath.diff: Fix finding the Java ATK wrapper. + * patches/jaw-optional.diff: Make failing to load the Java ATK wrapper + non-fatal. + * rules: Enable Java ATK wrapper for Buster. Closes: #900912. + + -- Samuel Thibault Sun, 31 Mar 2019 17:49:09 +0200 + openjdk-11 (11.0.3+4-3) unstable; urgency=medium [ Matthias Klose ] diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff --- openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff 1970-01-01 01:00:00.0 +0100 +++ openjdk-11-11.0.3+4/debian/patches/jaw-classpath.diff 2019-03-31 17:49:09.0 +0200 @@ -0,0 +1,14 @@ +Fix finding the Java ATK wrapper, see #900912 + +Index: openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp +=== +--- openjdk-10-10.0.1+10.orig/src/hotspot/os/linux/os_linux.cpp openjdk-10-10.0.1+10/src/hotspot/os/linux/os_linux.cpp +@@ -369,6 +369,7 @@ void os::init_system_properties_values() + } + Arguments::set_java_home(buf); + set_boot_path('/', ':'); ++Arguments::append_sysclasspath("/usr/share/java/java-atk-wrapper.jar"); + } + + // Where to look for native libraries. diff -Nru openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff --- openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff1970-01-01 01:00:00.0 +0100 +++ openjdk-11-11.0.3+4/debian/patches/jaw-optional.diff2019-03-31 17:49:09.0 +0200 @@ -0,0 +1,20 @@ +Make failing to load the Java ATK wrapper non-fatal + +--- + src/java.desktop/share/classes/java/awt/Toolkit.java |4 + 1 file changed, 4 insertions(+) + +--- a/src/java.desktop/share/classes/java/awt/Toolkit.java b/src/java.desktop/share/classes/java/awt/Toolkit.java +@@ -610,7 +610,11 @@ public abstract class Toolkit { + } + }); + if (!GraphicsEnvironment.isHeadless()) { ++ try { + loadAssistiveTechnologies(); ++ } catch (java.awt.AWTError e) { ++// too bad ++ } + } + } + return toolkit; diff -Nru openjdk-11-11.0.3+4/debian/patches/series openjdk-11-11.0.3+4/debian/patches/series --- openjdk-11-11.0.3+4/debian/patches/series 2019-03-28 09:32:28.0 +0100 +++ openjdk-11-11.0.3+4/debian/patches/series 2019-03-31 17:49:09.0 +0200 @@ -38,3 +38,5 @@ jdk-improve-gtk3-compatibility.patch keep-gtk2-as-default.patch 8221083.diff +jaw-classpath.diff +jaw-optional.diff diff -Nru openjdk-11-11.0.3+4/debian/rules openjdk-11-11.0.3+4/debian/rules --- openjdk-11-11.0.3+4/debian/rules2019-03-28 20:44:54.0 +0100 +++ openjdk-11-11.0.3+4/debian/rules2019-03-31 17:49:09.0 +0200 @@ -1081,13 +1081,13 @@ ifeq ($(with_bridge),atk) # only add releases that are known to work with atk # by default leave atk disabled -# ifneq (,$(filter $(distrel),)) -# cp -p debian/accessibility-atk.properties.enabled \ + ifneq (,$(filter $(distrel),buster)) + cp -p debian/accessibility-atk.properties.enabled \ $(d)/$(basedir)/conf/accessibility.properties -# else + else cp -p debian/accessibility-atk.properties.disabled \ $(d)/$(basedir)/conf/accessibility.properties -# endif + endif else cp -p debian/accessibility.properties $(d)/$(basedir)/conf/ endif @@ -1427,23 +1427,26 @@ endif endif -ifeq (0,1) -# FIXME: ext not longer supported ifeq ($(with_bridge),atk) : # create links for the atk wrapper + ifeq (0,1) + # FIXME: ext no longer supported echo "usr/share/java/java-atk-wrapper.jar $(basedir)/lib/ext/java-atk-wrapper.jar" \ >> $(d_jre).links - echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/ext/libatk-wrapper.so" \ + endif + echo "usr/lib$(multiarch_dir)/jni/libatk-wrapper.so $(basedir)/lib/libatk-wrapper.so" \ >> $(d_jre).links else ifeq ($(with_bridge),yes) + ifeq (0,1) +# FIXME: ext no longer supported : # create links for the
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
Hello, The bug is closed so there is nothing to expect from OpenJDK. The solution must come from Debian or a new bug created. The Java version which introduced the regression is 10.0.2+13-Ubuntu-1ubuntu0.18.04.1 because it contains the fix to move accessibility.properties in the "conf" folder. The issue did not occur before because the configuration file enabling ATK wrapper was not found by openjdk. A few hours after this version was delivered by Ubuntu we started to receive a dozen of bug reports, until I delivered a JOSM hotfix mitigating the issue. Patching openjdk with your try/catch proposal and making the ATK wrapper a Recommends sounds a good idea. Don't wait for openjdk guys for an answer: they simply don't care anymore with desktop technologies. Cheers, Vincent Le ven. 24 août 2018 à 11:47, Samuel Thibault a écrit : > Hello, > > Vincent Privat, le mer. 22 août 2018 21:01:16 +0200, a ecrit: > > Samuel, do you know when the root issue will be fixed in Java ATK > wrapper? > > The root issue is in openjdk, not the wrapper. Openjdk has apparently > removed the way that was used to load the wrapper, without apparently > making sure that another way was implemented. I have forwarded the issue > upstream > > http://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8204862 > > but apparently they don't have the issue (I guess they don't actually > manage to enable the wrapper in the configuration file). > > > > > Since today we are spammed by bug reports from Linux Mint and Ubuntu > when > > > > people try to launch JOSM with the latest Java update > > > > (10.0.2+13-Ubuntu-1ubuntu0.18.04.1): > > Which version is introducing the issue exactly? AFAIK it's the whole > openjdk >= 9 which poses the problem. > > > Has it ever been considered that this package is made optional rather > than a > > strict dependency of openjdk--jre? > > The problem is not the dependency, but what openjdk itself is doing. ATM > it seems to be insisting on loading the wrapper even when it's not > available. I guess catching exceptions around > src/java.desktop/share/classes/java/awt/Toolkit.java's getDefaultToolkit > call to loadAssistiveTechnologies, to just print the exception but not > abort, would allow to make the dependency a Recommends only. > > Concerning actually managing to load the wrapper, see the backlog of > #900912. I have commited to the git repo of java-atk-wrapper what is > said to be needed for making it loadable with openjdk 9 and later, but > as I said there, we still seem to be lacking in openjdk a path where the > wrapper can be put for openjdk to find it. And it's been a month without > anybody answering. > > Samuel >
Bug#900912: "AtkWrapper not found" error impacting JOSM on Ubuntu/Mint
Hello, Vincent Privat, le mer. 22 août 2018 21:01:16 +0200, a ecrit: > Samuel, do you know when the root issue will be fixed in Java ATK wrapper? The root issue is in openjdk, not the wrapper. Openjdk has apparently removed the way that was used to load the wrapper, without apparently making sure that another way was implemented. I have forwarded the issue upstream http://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8204862 but apparently they don't have the issue (I guess they don't actually manage to enable the wrapper in the configuration file). > > > Since today we are spammed by bug reports from Linux Mint and Ubuntu when > > > people try to launch JOSM with the latest Java update > > > (10.0.2+13-Ubuntu-1ubuntu0.18.04.1): Which version is introducing the issue exactly? AFAIK it's the whole openjdk >= 9 which poses the problem. > Has it ever been considered that this package is made optional rather than a > strict dependency of openjdk--jre? The problem is not the dependency, but what openjdk itself is doing. ATM it seems to be insisting on loading the wrapper even when it's not available. I guess catching exceptions around src/java.desktop/share/classes/java/awt/Toolkit.java's getDefaultToolkit call to loadAssistiveTechnologies, to just print the exception but not abort, would allow to make the dependency a Recommends only. Concerning actually managing to load the wrapper, see the backlog of #900912. I have commited to the git repo of java-atk-wrapper what is said to be needed for making it loadable with openjdk 9 and later, but as I said there, we still seem to be lacking in openjdk a path where the wrapper can be put for openjdk to find it. And it's been a month without anybody answering. Samuel