[JIRA] (JENKINS-59396) AWT initialized event with -Djava.awt.headless=true

1 view
Skip to first unread message

julien.breda74@gmail.com (JIRA)

unread,
Sep 16, 2019, 11:27:03 AM9/16/19
to jenkinsc...@googlegroups.com
Julien Bréda created an issue
 
Jenkins / Bug JENKINS-59396
AWT initialized event with -Djava.awt.headless=true
Issue Type: Bug Bug
Assignee: Unassigned
Components: core
Created: 2019-09-16 15:26
Environment: Jenkins v2.176.1, RedHat 7, AdoptOpenJDK jdk8u222-b10
Priority: Major Major
Reporter: Julien Bréda

I tried to use AdoptOpenJDK jdk8u222-b10 instead of Oracle JDK 8.

I need to change my JDK, that's not my choice, and I couldn't launch Jenkins because of this issue :

hudson.util.AWTProblem: java.lang.NullPointerException
 at hudson.WebAppMain.contextInitialized(WebAppMain.java:193)
 at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4776)
 at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5240)
 at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
 at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:754)
 at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:730)
 at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734)
 at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:629)
 at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1838)
 at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
 at java.util.concurrent.FutureTask.run(FutureTask.java:266)
 at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
 at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
 at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.NullPointerException
 at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
 at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
 at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
 at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
 at sun.font.SunFontManager$2.run(SunFontManager.java:431)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.font.SunFontManager.<init>(SunFontManager.java:376)
 at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
 at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at java.lang.Class.newInstance(Class.java:442)
 at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
 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:192)
 ... 13 more

When I rollback to use the Oracle JDK, everything is fine.

The problem seems to be the static initialisation bloc inside hudson.util.ChartUtil :

    static {
        try {
            new Font("SansSerif",Font.BOLD,18).toString();
        } catch (Throwable t) {
            awtProblemCause = t;
            awtProblem = true;
        }
    }
 

With such code, AWT is referenced even with -Djava.awt.headless=true, because it is static.

Add Comment Add Comment
 
This message was sent by Atlassian Jira (v7.13.6#713006-sha1:cc4451f)
Atlassian logo
Reply all
Reply to author
Forward
0 new messages