Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
pulkitarunccc
Contributor
Contributor

tFileOutputExcel_1 : Gives error when enabling the checkbox " Write excel 2007 file format(xlsx)" on job server with java version 17

My job is running fine with tFileOutputExcel_1 with  checkbox " Write excel 2007 file format(xlsx)" enabled and running on job server with java version 1.8. Now on upgrade the job server to java 17. My tFileOutputExcel_1 with checkbox " Write excel 2007 file format(xlsx)" enabled start throwing the error. If I disable this checkbox then it stop throwing the error. Any solution to this.

 

Exception in thread "main" java.lang.InternalError: java.lang.reflect.InvocationTargetException
at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:87)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:75)
at java.desktop/java.awt.Font.getFont2D(Font.java:526)
at java.desktop/java.awt.Font.canDisplayUpTo(Font.java:2282)
at java.desktop/java.awt.font.TextLayout.singleFont(TextLayout.java:469)
at java.desktop/java.awt.font.TextLayout.<init>(TextLayout.java:530)
at org.apache.poi.ss.util.SheetUtil.getDefaultCharWidth(SheetUtil.java:273)
at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.<init>(AutoSizeColumnTracker.java:117)
at org.apache.poi.xssf.streaming.SXSSFSheet.<init>(SXSSFSheet.java:82)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:684)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:705)
at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:88)
at org.talend.ExcelTool.prepareXlsxFile(ExcelTool.java:139)
at crosscountryconsulting.copy_of_sf_testjob_0_1.Copy_of_SF_TESTJOB.tRowGenerator_1Process(Copy_of_SF_TESTJOB.java:1229)
at crosscountryconsulting.copy_of_sf_testjob_0_1.Copy_of_SF_TESTJOB.runJobInTOS(Copy_of_SF_TESTJOB.java:2774)
at crosscountryconsulting.copy_of_sf_testjob_0_1.Copy_of_SF_TESTJOB.main(Copy_of_SF_TESTJOB.java:2366)
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:77)
at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:85)
... 16 more
Caused by: java.lang.RuntimeException: Fontconfig head is null, check your fonts or fonts configuration
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1269)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:224)
at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:106)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:706)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:358)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:315)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:318)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:315)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
... 22 more

Labels (4)
1 Solution

Accepted Solutions
Juli-DR
Support
Support

Hi

This document although related to application servers for Data-Catalogue it calls out requirements on Linux servers that would also be applicable if your jobserver is running on a a headless linux, this is due to the lighter packaging of the headless JRE for Java11 and above.

 

About Headless Linux:
‎Recent versions Java Runtime Environment (JRE) such as 11 no longer bundle any fonts, and therefore rely on the underlying operating system fonts. Most bare Linux configurations bundle a minimum set of fonts, including all bare Linux VM offered on most cloud companies. However, when using an extremely bare minimum true headless Linux configuration, fontconfig and libfontconfig1 must be installed and configured on the system. Otherwise, the JRE cannot access the fonts needed.

Please accept the answer if this helps you resolve the issue.

 

Thanks

Juli

View solution in original post

1 Reply
Juli-DR
Support
Support

Hi

This document although related to application servers for Data-Catalogue it calls out requirements on Linux servers that would also be applicable if your jobserver is running on a a headless linux, this is due to the lighter packaging of the headless JRE for Java11 and above.

 

About Headless Linux:
‎Recent versions Java Runtime Environment (JRE) such as 11 no longer bundle any fonts, and therefore rely on the underlying operating system fonts. Most bare Linux configurations bundle a minimum set of fonts, including all bare Linux VM offered on most cloud companies. However, when using an extremely bare minimum true headless Linux configuration, fontconfig and libfontconfig1 must be installed and configured on the system. Otherwise, the JRE cannot access the fonts needed.

Please accept the answer if this helps you resolve the issue.

 

Thanks

Juli