Project

General

Profile

Bug #7372

openjdk8-jre: Breaking change in 3.6

Added by Andrea Giardini about 1 year ago. Updated 10 months ago.

Status:
New
Priority:
Normal
Assignee:
-
Category:
-
Target version:
Start date:
06/01/2017
Due date:
% Done:

0%

Estimated time:
Affected versions:

Description

Hello

Upgrading our jenkins container from alpine:3.5 to 3.6 causes Jenkins to break with the following error

May 30, 2017 9:32:58 AM hudson.util.BootFailure publish
SEVERE: Failed to initialize Jenkins
hudson.util.AWTProblem: java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: Error relocating /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: AWTFontDefaultChar: symbol not found
at hudson.WebAppMain.contextInitialized(WebAppMain.java:195)
at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:800)
at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:444)
at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:791)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:294)
at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1349)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1342)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:741)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:505)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:132)
at org.eclipse.jetty.server.Server.start(Server.java:387)
at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:114)
at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:61)
at org.eclipse.jetty.server.Server.doStart(Server.java:354)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:68)
at winstone.Launcher.<init>(Launcher.java:152)
at winstone.Launcher.main(Launcher.java:352)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at Main._main(Main.java:264)
at Main.main(Main.java:112)

Caused by: java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: Error relocating /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: AWTFontDefaultChar: symbol not found
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1941)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1845)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at sun.font.FontManagerNativeLibrary$1.run(FontManagerNativeLibrary.java:61)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerNativeLibrary.<clinit>(FontManagerNativeLibrary.java:32)
at sun.font.SunFontManager$1.run(SunFontManager.java:339)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.SunFontManager.<clinit>(SunFontManager.java:335)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82)
at java.security.AccessController.doPrivileged(Native Method)
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.awt.Font.getFont2D(Font.java:491)
at java.awt.Font.getFamily(Font.java:1220)
at java.awt.Font.getFamily_NoClientCode(Font.java:1194)
at java.awt.Font.getFamily(Font.java:1186)
at java.awt.Font.toString(Font.java:1683)
at hudson.util.ChartUtil.<clinit>(ChartUtil.java:260)
at hudson.WebAppMain.contextInitialized(WebAppMain.java:194)
... 23 more

libfontmanager.so is in the correct folder but apparently it does not contains the same symbols that it uses to contain in alpine:3.5

Cheers

Andrea

History

#1 Updated by Natanael Copa about 1 year ago

  • Target version set to 3.6.1

#2 Updated by Natanael Copa about 1 year ago

  • Target version changed from 3.6.1 to 3.6.2

#3 Updated by Natanael Copa about 1 year ago

  • Status changed from New to Resolved
  • % Done changed from 0 to 100

edit: thought it was resolved but i was wrong

#4 Updated by Natanael Copa about 1 year ago

  • Status changed from Resolved to New
  • % Done changed from 100 to 0

#5 Updated by Natanael Copa about 1 year ago

  • Target version changed from 3.6.2 to 3.6.3

#6 Updated by Ilya Naryzhnyy 11 months ago

Any ideas how can it be fixed?
There is a long tail of projects which depends on alpine docker image.
If no fix at this point: please advice how to fix it by additional actions in Dockerfile.

#7 Updated by Roman Gromov 11 months ago

Ilya Naryzhnyy, I'm using Dockerized version of Alpine and rollback to Docker image based on previous version of Alpine works just fine for me as workaround, details here: https://stackoverflow.com/questions/45315251/could-not-initialize-class-sun-awt-x11fontmanager-using-openjdk-8-on-alpine-linu

#8 Updated by Christian Bjørnbak 10 months ago

The issued is solved in openjdk8 8.141.15-r0 from edge and if I install ttf-dejavu fontconfig too the other font issues are fixed too.

Please backport 8.141.15 to 3.6.3.

Also available in: Atom PDF