https://issues.apache.org/bugzilla/show_bug.cgi?id=57572
Bug ID: 57572
Summary: Extensive comments easily trigger OOM
Product: POI
Version: 3.11-FINAL
Hardware: PC
Status: NEW
Severity: critical
Priority: P2
Component: SXSSF
Assignee: [email protected]
Reporter: [email protected]
Created attachment 32458
--> https://issues.apache.org/bugzilla/attachment.cgi?id=32458&action=edit
Test harness based on your original impl.
Multiple comments easily lead to OOM.
See attached test to reproduce.
It should be run as follows
... -Xmx512M -Dexcel.comments=all SSPerformanceTest SXSSF 10000 6 1
Above, we generate a fairly short comment for every single cell, 60,000
comments total, which isn't a big deal, from the business app perspective.
The OOM stack always points to allocation of XML objects related to comments
and anchors, such as:
Exception in thread "main" java.lang.OutOfMemoryError: GC overhead limit
exceeded
at org.apache.xmlbeans.impl.store.Xobj.ensureParent(Xobj.java:614)
at org.apache.xmlbeans.impl.store.Xobj.getNormal(Xobj.java:661)
at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1958)
at org.apache.xmlbeans.impl.store.Cur.moveNode(Cur.java:1846)
at org.apache.xmlbeans.impl.store.Cursor.insertNode(Cursor.java:189)
at
org.apache.xmlbeans.impl.store.Cursor._insertAttributeWithValue(Cursor.java:1765)
at
org.apache.xmlbeans.impl.store.Cursor._insertAttributeWithValue(Cursor.java:1755)
at
org.apache.xmlbeans.impl.store.Cursor.insertAttributeWithValue(Cursor.java:4271)
at
org.apache.poi.xssf.usermodel.XSSFVMLDrawing.write(XSSFVMLDrawing.java:152)
at
org.apache.poi.xssf.usermodel.XSSFVMLDrawing.commit(XSSFVMLDrawing.java:176)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:323)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:327)
at org.apache.poi.POIXMLDocumentPart.onSave(POIXMLDocumentPart.java:327)
at org.apache.poi.POIXMLDocument.write(POIXMLDocument.java:195)
at
org.apache.poi.xssf.streaming.SXSSFWorkbook.write(SXSSFWorkbook.java:856)
at SSPerformanceTest.main(SSPerformanceTest.java:132)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]