← Back to team overview

openjdk team mailing list archive

[Bug 1780151] [NEW] Missing libfontconfig1 dependency for openjdk-11-jre-headless (compared to openjdk-8)

 

Public bug reported:

Using openjdk-11-jdk-headless (with -Djava.awt.headless=true)

To render a jasperreport to a pdf fails while trying to find font files.

Installing libfontconfig1 (which is not pulled in via dependency or
listed in recommends) fixes the problem.

Comparing dependency for the -jre-headless packages shows that it was
present until and including openjdk-8-jre-headless but no longer for
9,10,11

We could probably create a standalone reproducer if that is required.

Same topic seems to have been found by different person in March here but apparently not reported to ubuntu nor debian:
https://stackoverflow.com/questions/49196022/nullpointerexception-when-running-in-gitlab-ci-cd

2018-07-04 18:59:03,404 [ajp-nio-127.0.0.1-8009-exec-8] ERROR org.openbravo.dal.core.ThreadHandler - Exception thrown java.lang.reflect.InvocationTargetEx
org.openbravo.base.exception.OBException: Exception thrown java.lang.reflect.InvocationTargetException
        at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:63)
        at org.openbravo.client.kernel.KernelFilter.doFilter(KernelFilter.java:71)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.openbravo.dal.core.DalRequestFilter$1.doAction(DalRequestFilter.java:83)
        at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
        at org.openbravo.dal.core.DalRequestFilter.doFilter(DalRequestFilter.java:105)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
        at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:487)
        at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
        at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
        at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1460)
        at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.base/java.lang.Thread.run(Thread.java:844)
Caused by: java.lang.InternalError: java.lang.reflect.InvocationTargetException
        at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
        at java.desktop/sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:203)
        at java.desktop/sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:237)
        at java.desktop/sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:265)
        at java.desktop/sun.java2d.HeadlessGraphicsEnvironment.getAvailableFontFamilyNames(HeadlessGraphicsEnvironment.java:75)
        at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:57)
        at net.sf.jasperreports.engine.fill.BaseReportFiller.<init>(BaseReportFiller.java:122)
        at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:229)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
        at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:62)
        at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:187)
        at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:202)
        at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:83)
        at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:457)
        at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:864)
        at org.openbravo.client.application.report.ReportFiller.fill(ReportFiller.java:130)
        at org.openbravo.client.application.report.ReportFiller.fill(ReportFiller.java:104)
        at org.openbravo.client.application.report.ReportFiller.fillReport(ReportFiller.java:93)
        at org.openbravo.client.application.report.ReportingUtils.generateJasperPrint(ReportingUtils.java:991)
        at org.openbravo.erpCommon.utility.reporting.ReportManager.processReport(ReportManager.java:113)
        at org.openbravo.erpCommon.utility.reporting.printing.PrintController.post(PrintController.java:222)
        at org.openbravo.erpCommon.utility.reporting.printing.PrintOrders.doPost(PrintOrders.java:54)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
        at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:221)
        at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:457)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.openbravo.utils.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:66)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.openbravo.utils.CharsetFilter.doFilter(CharsetFilter.java:35)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
        at org.openbravo.client.kernel.KernelFilter$1.doAction(KernelFilter.java:62)
        at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
        ... 24 more
Caused by: java.lang.reflect.InvocationTargetException
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
        at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
        at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84)
        ... 64 more
Caused by: java.lang.NullPointerException
        at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1288)
        at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
        at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
        at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:765)
        at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:440)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:385)
        at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
        at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
        ... 69 more

** Affects: openjdk-lts (Ubuntu)
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of OpenJDK,
which is subscribed to openjdk-lts in Ubuntu.
https://bugs.launchpad.net/bugs/1780151

Title:
  Missing libfontconfig1 dependency for openjdk-11-jre-headless
  (compared to openjdk-8)

Status in openjdk-lts package in Ubuntu:
  New

Bug description:
  Using openjdk-11-jdk-headless (with -Djava.awt.headless=true)

  To render a jasperreport to a pdf fails while trying to find font
  files.

  Installing libfontconfig1 (which is not pulled in via dependency or
  listed in recommends) fixes the problem.

  Comparing dependency for the -jre-headless packages shows that it was
  present until and including openjdk-8-jre-headless but no longer for
  9,10,11

  We could probably create a standalone reproducer if that is required.

  Same topic seems to have been found by different person in March here but apparently not reported to ubuntu nor debian:
  https://stackoverflow.com/questions/49196022/nullpointerexception-when-running-in-gitlab-ci-cd

  2018-07-04 18:59:03,404 [ajp-nio-127.0.0.1-8009-exec-8] ERROR org.openbravo.dal.core.ThreadHandler - Exception thrown java.lang.reflect.InvocationTargetEx
  org.openbravo.base.exception.OBException: Exception thrown java.lang.reflect.InvocationTargetException
          at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:63)
          at org.openbravo.client.kernel.KernelFilter.doFilter(KernelFilter.java:71)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.openbravo.dal.core.DalRequestFilter$1.doAction(DalRequestFilter.java:83)
          at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
          at org.openbravo.dal.core.DalRequestFilter.doFilter(DalRequestFilter.java:105)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
          at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
          at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:496)
          at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140)
          at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81)
          at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
          at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
          at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:487)
          at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
          at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790)
          at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1460)
          at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
          at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1135)
          at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
          at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
          at java.base/java.lang.Thread.run(Thread.java:844)
  Caused by: java.lang.InternalError: java.lang.reflect.InvocationTargetException
          at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86)
          at java.base/java.security.AccessController.doPrivileged(Native Method)
          at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
          at java.desktop/sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:203)
          at java.desktop/sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:237)
          at java.desktop/sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:265)
          at java.desktop/sun.java2d.HeadlessGraphicsEnvironment.getAvailableFontFamilyNames(HeadlessGraphicsEnvironment.java:75)
          at net.sf.jasperreports.engine.util.JRGraphEnvInitializer.initializeGraphEnv(JRGraphEnvInitializer.java:57)
          at net.sf.jasperreports.engine.fill.BaseReportFiller.<init>(BaseReportFiller.java:122)
          at net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:229)
          at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:74)
          at net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:62)
          at net.sf.jasperreports.engine.fill.JRFiller.createBandReportFiller(JRFiller.java:187)
          at net.sf.jasperreports.engine.fill.JRFiller.createReportFiller(JRFiller.java:202)
          at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:83)
          at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:457)
          at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:864)
          at org.openbravo.client.application.report.ReportFiller.fill(ReportFiller.java:130)
          at org.openbravo.client.application.report.ReportFiller.fill(ReportFiller.java:104)
          at org.openbravo.client.application.report.ReportFiller.fillReport(ReportFiller.java:93)
          at org.openbravo.client.application.report.ReportingUtils.generateJasperPrint(ReportingUtils.java:991)
          at org.openbravo.erpCommon.utility.reporting.ReportManager.processReport(ReportManager.java:113)
          at org.openbravo.erpCommon.utility.reporting.printing.PrintController.post(PrintController.java:222)
          at org.openbravo.erpCommon.utility.reporting.printing.PrintOrders.doPost(PrintOrders.java:54)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)
          at org.openbravo.base.HttpBaseServlet.serviceInitialized(HttpBaseServlet.java:221)
          at org.openbravo.base.secureApp.HttpSecureAppServlet.service(HttpSecureAppServlet.java:457)
          at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.openbravo.utils.SessionExpirationFilter.doFilter(SessionExpirationFilter.java:66)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.openbravo.utils.CharsetFilter.doFilter(CharsetFilter.java:35)
          at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
          at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
          at org.openbravo.client.kernel.KernelFilter$1.doAction(KernelFilter.java:62)
          at org.openbravo.dal.core.ThreadHandler.run(ThreadHandler.java:46)
          ... 24 more
  Caused by: java.lang.reflect.InvocationTargetException
          at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
          at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
          at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
          at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:488)
          at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84)
          ... 64 more
  Caused by: java.lang.NullPointerException
          at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1288)
          at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
          at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
          at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:765)
          at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:440)
          at java.base/java.security.AccessController.doPrivileged(Native Method)
          at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:385)
          at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
          at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
          ... 69 more

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/openjdk-lts/+bug/1780151/+subscriptions


Follow ups