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 2014/04/28 09:03:58 UTC

[Bug 56465] New: Error message: "does your POIFS have circular or duplicate block references"

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

            Bug ID: 56465
           Summary: Error message: "does your POIFS have circular or
                    duplicate block references"
           Product: POI
           Version: 3.9
          Hardware: PC
            Status: NEW
          Severity: normal
          Priority: P2
         Component: POIFS
          Assignee: dev@poi.apache.org
          Reporter: peter.fetzer@nuix.com

Created attachment 31565
  --> https://issues.apache.org/bugzilla/attachment.cgi?id=31565&action=edit
zip file containing 3 sample word documents

We processed some client documents where this exception was raised.  I can
recreate the exception if I take a 'good' Word document, and zero out the last
100 or so bytes, samples attached.  I'm guessing the problem documents had an
error when writing to disk.  The zeroed bytes 

Microsoft Word opens these documents okay, and saving them in Word will fix
them.

Attached are
1. original document
2. corrupted version, I've zeroed out a bunch of bytes at the end, and slightly
reduced the file size (matching the original client documents)
3. fixed version, after opened and saved in Word 2013

The full exception is


java.io.IOException: block[ 0 ] already removed - does your POIFS have circular
or duplicate block references? 
        at
org.apache.poi.poifs.storage.BlockListImpl.remove(BlockListImpl.java:89) 
        at
org.apache.poi.poifs.storage.SmallDocumentBlockList.remove(SmallDocumentBlockList.java:30) 
        at
org.apache.poi.poifs.storage.BlockAllocationTableReader.fetchBlocks(BlockAllocationTableReader.java:221) 
        at
org.apache.poi.poifs.storage.BlockListImpl.fetchBlocks(BlockListImpl.java:123) 
        at
org.apache.poi.poifs.storage.SmallDocumentBlockList.fetchBlocks(SmallDocumentBlockList.java:30) 
        at
org.apache.poi.poifs.filesystem.POIFSFileSystem.processProperties(POIFSFileSystem.java:535) 
        at
org.apache.poi.poifs.filesystem.POIFSFileSystem.<init>(POIFSFileSystem.java:164)

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


[Bug 56465] Error message: "does your POIFS have circular or duplicate block references"

Posted by bu...@apache.org.
https://issues.apache.org/bugzilla/show_bug.cgi?id=56465

Nick Burch <ap...@gagravarr.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |RESOLVED
         Resolution|---                         |WONTFIX
                 OS|                            |All

--- Comment #1 from Nick Burch <ap...@gagravarr.org> ---
Use NPOIFSFileSystem instead - it has a lower memory footprint AND fixes some
deep seated issues POIFSFileSystem had with certain files where it got confused
about circular references that didn't actually exist

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