https://bz.apache.org/bugzilla/show_bug.cgi?id=69571
Bug ID: 69571 Summary: InvocationTargetException error when trying to create 100th row in SXSSFSheet with trackAllColumnsForAutoSizing. Product: POI Version: unspecified Hardware: Other OS: other Status: NEW Severity: critical Priority: P2 Component: SXSSF Assignee: dev@poi.apache.org Reporter: oct...@gmail.com Target Milestone: --- I have an InvocationTargetException happening under a quite specific situation. It happens when trying to create the 100th row on an SXSSFSheet with trackAllColumnsForAutoSizing() applied and running in the IBM iSeries (OS version 7.4) running java 11 64 bits. I tried it running it in Windows and it works fine. I tried removing the trackAllColumnsForAutoSizing() call and it works fine too. Also, it works fine in java 8 32 bits. I'm using POI version 5.4.0, but the drop down version selection doesn't have that option yet so I chose unspecified. Here's my code and respective error. The iSeries is a bit limited in java error reporting so apologies in advance. ================ package test; import java.io.FileOutputStream; import java.io.IOException; import org.apache.poi.xssf.streaming.SXSSFCell; import org.apache.poi.xssf.streaming.SXSSFRow; import org.apache.poi.xssf.streaming.SXSSFSheet; import org.apache.poi.xssf.streaming.SXSSFWorkbook; public class TestExcel { private static final String filepath = "test/TestExcel.xlsx"; public static void main(String[] args) { try { SXSSFWorkbook wb = new SXSSFWorkbook(); SXSSFSheet sheet1 = wb.createSheet("Sheet1"); sheet1.trackAllColumnsForAutoSizing(); for (int i = 0; i < 200; i++) { System.out.println(i); SXSSFRow row = sheet1.createRow(i); SXSSFCell cell = row.createCell(0); cell.setCellValue("Test!"); } wb.write(new FileOutputStream(filepath)); wb.close(); } catch (IOException e) { e.printStackTrace(); } } } ================ Exception in thread "main" 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(AccessController.java:690) at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) at java.desktop/java.awt.Font.getFont2D(Font.java:497) at java.desktop/java.awt.Font.canDisplayUpTo(Font.java:2250) 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.getCellWidth(SheetUtil.java:262) at org.apache.poi.ss.util.SheetUtil.getCellWidth(SheetUtil.java:223) at org.apache.poi.ss.util.SheetUtil.getCellWidth(SheetUtil.java:140) at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.updateColumnWidth(AutoSizeColumnTracker.java:395) at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.updateColumnWidths(AutoSizeColumnTracker.java:360) at org.apache.poi.xssf.streaming.SXSSFSheet.flushOneRow(SXSSFSheet.java:1959) at org.apache.poi.xssf.streaming.SXSSFSheet.flushRows(SXSSFSheet.java:1927) at org.apache.poi.xssf.streaming.SXSSFSheet.createRow(SXSSFSheet.java:182) at test.TestExcel.main(TestExcel.java:23) 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:490) at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84) ... 15 more Caused by: java.lang.NoClassDefFoundError: java.awt.GraphicsEnvironment$LocalGE (initialization failure) at java.base/java.lang.J9VMInternals.initializationAlreadyFailed(J9VMInternals.java:156) at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129) at java.desktop/sun.awt.X11FontManager.isHeadless(X11FontManager.java:464) at java.desktop/sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:177) at java.desktop/sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3389) at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:508) at java.base/java.security.AccessController.doPrivileged(AccessController.java:690) at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:324) at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35) at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56) ... 20 more Caused by: java.awt.AWTError: Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable. at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:102) at java.base/java.security.AccessController.doPrivileged(AccessController.java:690) at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61) at java.base/java.lang.Class.forNameImpl(Native Method) at java.base/java.lang.Class.forName(Class.java:347) at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101) at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83) at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129) at java.desktop/sun.awt.X11FontManager.isHeadless(X11FontManager.java:464) at java.desktop/sun.awt.X11FontManager.getFileNameFromPlatformName(X11FontManager.java:177) at java.desktop/sun.font.SunFontManager.initCompositeFonts(SunFontManager.java:3389) at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:508) at java.base/java.security.AccessController.doPrivileged(AccessController.java:690) at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:324) at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35) at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56) 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:490) at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:84) at java.base/java.security.AccessController.doPrivileged(AccessController.java:690) at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) at java.desktop/java.awt.Font.getFont2D(Font.java:497) at java.desktop/java.awt.Font.canDisplayUpTo(Font.java:2250) 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.getDefaultCharWidthAsFloat(SheetUtil.java:353) at org.apache.poi.xssf.streaming.AutoSizeColumnTracker.<init>(AutoSizeColumnTracker.java:119) at org.apache.poi.xssf.streaming.SXSSFSheet.<init>(SXSSFSheet.java:106) at org.apache.poi.xssf.streaming.SXSSFWorkbook.createAndRegisterSXSSFSheet(SXSSFWorkbook.java:697) at org.apache.poi.xssf.streaming.SXSSFWorkbook.createSheet(SXSSFWorkbook.java:715) at test.TestExcel.main(TestExcel.java:19) -- You are receiving this mail because: You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org