Code: File f = /* ... */ try (POITextExtractor extractor = ExtractorFactory.createExtractor(file);) { return extractor.getText(); } Which can result in: Caused by: org.apache.poi.openxml4j.exceptions.OpenXML4JRuntimeException: Fail to save: an error occurs while saving the package : null at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:500) at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1417) at org.apache.poi.openxml4j.opc.OPCPackage.save(OPCPackage.java:1404) at org.apache.poi.openxml4j.opc.ZipPackage.closeImpl(ZipPackage.java:349) at org.apache.poi.openxml4j.opc.OPCPackage.close(OPCPackage.java:420) at org.apache.poi.POIXMLTextExtractor.close(POIXMLTextExtractor.java:87) at com.gaggle.message.index.poi.PoiIndexer$1.call(PoiIndexer.java:94) at com.gaggle.message.index.poi.PoiIndexer$1.call(PoiIndexer.java:1) at java.util.concurrent.FutureTask.run(FutureTask.java:262) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.NullPointerException at org.apache.poi.openxml4j.opc.internal.marshallers.ZipPackagePropertiesMarshaller.marshall(ZipPackagePropertiesMarshaller.java:46) at org.apache.poi.openxml4j.opc.ZipPackage.saveImpl(ZipPackage.java:444) The file being processed was a word document and extractor.getText() DID return data. Unfortunately, due to privacy concerns with a client I can't release the actual document. Thanks.
Please try with the latest version 3.12 as there have been a few fixes in that area and thus the problem might be already fixed there now. Especially r1662971 looks like it should be able to fix your issue.
No update on this one so I assume it was fixed in 3.12. Please reopen with more information if this is still an issue for you.