https://issues.apache.org/bugzilla/show_bug.cgi?id=56447

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |NEW

--- Comment #4 from [email protected] ---
I realize that the numbers that I gave you before were for a file of size
2,066,718,720 bytes. Increasing the heap size (using -Xmx3G) helps when opening
the file as an InputStream, and it also works with the standard heap size when
I use File instead of InputStream. However, when I try opening the file that is
3,365,793,792 bytes, I get this exception when passing a File object to
NPOIFSFileSystem:

Exception in thread "main" java.lang.IllegalArgumentException
    at sun.nio.ch.FileChannelImpl.position(FileChannelImpl.java:275)
    at
org.apache.poi.poifs.nio.FileBackedDataSource.read(FileBackedDataSource.java:57)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.getBlockAt(NPOIFSFileSystem.java:426)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.readBAT(NPOIFSFileSystem.java:402)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.readCoreContents(NPOIFSFileSystem.java:377)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:201)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:162)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:143)

Could this be because of integer overflow? If I use the InputStream and
increase the heap size to 4GB, then maxSize is equal to -926937088 (and
_header.getBATCount() = 803), and I get the following exception:

Exception in thread "main" java.lang.IllegalArgumentException
    at java.nio.ByteBuffer.allocate(ByteBuffer.java:330)
    at
org.apache.poi.poifs.filesystem.NPOIFSFileSystem.<init>(NPOIFSFileSystem.java:273)
    at ReadTXRM.main(ReadTXRM.java:19)

-- 
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]

Reply via email to