You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@poi.apache.org by bu...@apache.org on 2009/11/17 06:12:43 UTC
DO NOT REPLY [Bug 48206] New: Another HSSF OOM Problem - Small XLS
File
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
Summary: Another HSSF OOM Problem - Small XLS File
Product: POI
Version: 3.5-FINAL
Platform: PC
OS/Version: Windows Server 2003
Status: NEW
Severity: normal
Priority: P2
Component: HSSF
AssignedTo: dev@poi.apache.org
ReportedBy: jsteijn@csc.com
Created an attachment (id=24545)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=24545)
this zip has a sheet that kills hssf, and the larger file is a spreadsheet with
VBA that generates the killer sheet.
I have a spreadsheet generated by Excel 2003 that reliably triggers POI HSSF to
ask for all the memory my JVM has to give and then asks for more, causing a
heap dump etc. I have not seen this in bugtrack or on the user lists - for
small sheets - and wonder if perhaps this is a unique error.
My spreadsheet is only 22 records, and about 11 columns. All data is general or
text format. My application is running under Java 1.4, a 2GB JVM on a quad
processor server with 8 GB of physical memory. No other applications on the
server. The application is IBM Maximo Asset Manager 6.2 on a Websphere 6.0.2_27
application server.
Attached are: the XLS that kills HSSF, the XLS workbook with the VBA script
that creates that file, sample log data with stack trace.
This was originally noted on a system using POI 2.5 FINAL. Subsequently tested
on the same system with the POI 3.5 final library in place, no change in
behavior.
Note, there are twenty to thirty PCs which produce Excel sheets that we access
with the POI API, only two machines are definitely associated with creating
sheets with this pathological condition. For all I know they are running
defective versions of DAO or some other MS toolkit. The cause is irrelevant. I
would not expect HSSF to be able to read any file we cook up, but I would like
to have a method to protect my application from what is in effect a denial of
service.
Thanks to anyone who can provide a patch, a workaround or any other trick we
can use to protect our system while preserving the functionality.
Stack trace:
[11/11/09 6:50:04:243 EST] 00000038 O UOW= source=SystemOut org=IBM
prod=WebSphere component=Application Server
thread=[maximo-LaborEntry.labentry_1]
2009-11-11 06:50:04,227 ERROR maximo.crontaskmanager -
java.lang.OutOfMemoryError
at java.util.ArrayList.add(ArrayList.java(Compiled Code))
at
org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java(Compiled
Code))
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:210)
at org.apache.poi.hssf.usermodel.HSSFWorkbook.<init>(HSSFWorkbook.java:191)
at
com.csc.dupont.interfaces.inbound.labor.beans.ExcelDocToLaborEntry.readExcel(ExcelDocToLaborEntry.java:45)
at
com.csc.dupont.interfaces.inbound.labor.LaborEntryMaximo.processLaborEntry(LaborEntryMaximo.java:335)
at
com.csc.dupont.interfaces.inbound.labor.LaborEntryMaximo.processLaborEntryXlsDir(LaborEntryMaximo.java:291)
at
com.csc.dupont.interfaces.inbound.labor.LaborEntryMaximo.cronAction(LaborEntryMaximo.java:143)
at psdi.server.CronTaskManager$CronThread.run(CronTaskManager.java:1297)
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
DO NOT REPLY [Bug 48206] Another HSSF OOM Problem - Small XLS File
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
--- Comment #2 from David Fisher <df...@jmlafferty.com> 2009-11-17 12:57:06 UTC ---
Could have been fixed with this one -
https://issues.apache.org/bugzilla/show_bug.cgi?id=48085
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
DO NOT REPLY [Bug 48206] Another HSSF OOM Problem - Small XLS File
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
Josh Micich <jo...@gildedtree.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution| |FIXED
--- Comment #1 from Josh Micich <jo...@gildedtree.com> 2009-11-17 12:47:18 UTC ---
I experimented a little with the smaller the XLS file from your zip
(name: "Stine Nov. 9 lk.xls", md5sum: bba472f37e3df4a8fb9a83459b54bec6).
It appears that this file is definitely broken. Excel 2003 and 2007 both
report data loss (several times) while opening this file. So while it is
probably OK for POI to throw some sort of exception, I agree that
OutOfMemoryError is not the right one.
Having said that, it appears that the latest POI (svn trunk) does *not* throw
OOME. The line numbers in the stack trace you supplied don't correspond to any
recent version of POI. This leads me to believe that the bug has been fixed
since whatever version of POI you are running. I have marked this bug as
'fixed', but please re-open if you can show the OOME on a more recent version
of POI.
For the record, here is the exception I get:
java.lang.RuntimeException: Buffer underrun - requested 2 bytes but 1 was
available
at
org.apache.poi.poifs.filesystem.DocumentInputStream.checkAvaliable(DocumentInputStream.java:202)
at
org.apache.poi.poifs.filesystem.DocumentInputStream.readUShort(DocumentInputStream.java:300)
at
org.apache.poi.poifs.filesystem.DocumentInputStream.readShort(DocumentInputStream.java:220)
at
org.apache.poi.hssf.record.RecordInputStream.readShort(RecordInputStream.java:234)
at
org.apache.poi.hssf.record.PrintSetupRecord.<init>(PrintSetupRecord.java:81)
... 10 more
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
DO NOT REPLY [Bug 48206] Another HSSF OOM Problem - Small XLS File
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
--- Comment #4 from Jacob Steijn <js...@csc.com> 2009-11-17 16:45:31 EST ---
Just re-reviewed the stack trace I just referenced and compared to the original
stack trace. The line numbers are the same. That throws me, because I
absolutely positively removed the POI 2.5 jar and replaced it with the POI 3.5
jar, both in my Eclipse installation (and referenced external jars) and in the
target system library.
At this time on the east coast I am mentally running on empty, but I've got
another local resource who can give me a second set of eyes on the setup to see
if he can spot something I've missed. I would think that rebuilding with the
newer jar would at least give us new line numbers, if not a better result.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
DO NOT REPLY [Bug 48206] Another HSSF OOM Problem - Small XLS File
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
--- Comment #3 from Jacob Steijn <js...@csc.com> 2009-11-17 16:36:01 EST ---
Created an attachment (id=24555)
--> (https://issues.apache.org/bugzilla/attachment.cgi?id=24555)
Java module that calls hssf, to set context of failure.
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
DO NOT REPLY [Bug 48206] Another HSSF OOM Problem - Small XLS File
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
Jacob Steijn <js...@csc.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|FIXED |
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org
DO NOT REPLY [Bug 48206] Another HSSF OOM Problem - Small XLS File
Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=48206
Jacob Steijn <js...@csc.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|REOPENED |RESOLVED
Resolution| |INVALID
--- Comment #5 from Jacob Steijn <js...@csc.com> 2009-11-18 13:54:43 EST ---
Issue occurs in POIN 2.5, the functions used are not present in 3.5. Time to
update the code and test again
--
Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@poi.apache.org
For additional commands, e-mail: dev-help@poi.apache.org