Skip to content

Conversation

@carlossg
Copy link

Disable assistive technologies since slim installs headless JDK (without assistive technologies).

Disable assistive technologies since slim installs headless JDK (without assistive technologies).
@carlossg
Copy link
Author

Brought to my attention by @MarkEWaite in jenkinsci/docker#657

@yosifkit
Copy link
Member

Wouldn't anyone using openjdk headless from Debian (and derivatives like Ubuntu) have this same issue? So if this is a problem in accessibility.properties, isn't this a bug in Debian's packaging of openjdk headless?

It looks like the cause is that accessibility.properties is provided by openjdk-8-jre-headless but is not overwritten by openjdk-8-jdk-headless, openjdk-8-jre, or openjdk-8-jdk (which all depend on openjdk-8-jre-headless). I guess we could apply a temporary fix, but it should also be reported to the packagers so that it can be fixed in the right place. After some limited poking into the Debian packaging, I think a quick fix could be to add stretch to this line in rules, but that would probably break non-headless.

cc @tianon

@carlossg
Copy link
Author

I'll defer to @MarkEWaite as he has done the research

@MarkEWaite
Copy link

Yes, I believe that @yosifkit is correct that it is a packaging error in Debian. A headless JRE is defined to not include assistive technologies and Debian packaging of a headless JRE is incorrectly enabling assistive technologies.

@MarkEWaite
Copy link

I've submitted Debian bug 896907 to track the problem in upstream.

@tianon
Copy link
Member

tianon commented Jul 25, 2018

Is this still an issue with the latest packages from upstream?

@MarkEWaite
Copy link

MarkEWaite commented Jul 25, 2018

I'm not sure what you precisely mean by "upstream", so I did a few checks:

$ docker run --rm -i -t openjdk:8-jdk-slim cat /etc/java-8-openjdk/accessibility.properties
#
# The following line specifies the assistive technology classes
# that should be loaded into the Java VM when the AWT is initailized.
# Specify multiple classes by separating them with commas.
# Note: the line below cannot end the file (there must be at
# a minimum a blank line following it).
#
assistive_technologies=org.GNOME.Accessibility.AtkWrapper

If "upstream" means the docker image "openjdk:8-jdk-slim", then the answer is "yes, this is still an issue".

If "upstream" means Debian slim, then the answer is "yes, this is still an issue" based on the state of the Debian bug report. I also double checked Debian stretch-slim with the following commands:

$ docker run --rm -i -t debian:stretch-slim bash
# apt-get update
# apt-get install openjdk-8-jre-headless
# cat /etc/java-8-openjdk/accessibility.properties
#
# The following line specifies the assistive technology classes
# that should be loaded into the Java VM when the AWT is initialized.
# Specify multiple classes by separating them with commas.
# Note: the line below cannot end the file (there must be at
# a minimum a blank line following it).
#
assistive_technologies=org.GNOME.Accessibility.AtkWrapper

@tianon
Copy link
Member

tianon commented Oct 31, 2018

"upstream" in this context is Debian's packages -- we consume those as-is, so if they're affected, we're affected.

See openjdk:11-oracle (#235) for the first foray into changing/fixing that relationship for 11+ (becoming the default variant in 12+).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants