See <https://ci-builds.apache.org/job/POI/job/POI-DSL-Windows-1.23/28/display/redirect?page=changes>
Changes: [PJ Fanning] add chinese hssf test [PJ Fanning] remove 22742.xls [Dominik Stadler] Apply some IDE suggestions, improve JavaDoc and simplify reporting log messages [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Processing formats uses regular expressions. Very complex formats can recurse very deeply and thus can cause StackOVerflows depending on the used stack-size. In order to handle this a bit more gracefully, we now catch this and report a better exception with details about the parsed format and potential mitigation. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66137 [PJ Fanning] update security notes [PJ Fanning] commons-codec 1.17.1 - no need to note Saxon upgrade (only used in tests) [PJ Fanning] commons-codec 1.17.1 - no need to note Saxon upgrade (only used in tests) [PJ Fanning] update doc footer [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Avoid a possible OutOfMemoryException with incorrect uniqueCount The ReadOnlySharedStringsTable pre-allocates whatever is stated in uniqueCount. As the uniqueCount may be an incorrect large number, we should cap it at some point to avoid OOMs if corrupt files are processed. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66137 [PJ Fanning] POI tm [PJ Fanning] gradle 8.9 [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Avoid a possible OutOfMemoryException with many child-records This avoids having too many children in EscherRecords, the limit of 100_000 is arbitrarily chosen and can be adjusted if needed Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=62924 and maybe others [PJ Fanning] update bytebuddy [PJ Fanning] update gradle plugins [Dominik Stadler] Remove exclusions that are not necessary/useful [Dominik Stadler] Apply some IDE suggestions [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Avoid a possible StackOverflowException This adds support of counting of the "nesting level" into the base EscherRecord and thus makes this existing limitation much more effective as it kicks in for more types of nested records. Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66374 [Dominik Stadler] Add some changelog and describe support for reproducible builds and output files [Dominik Stadler] Optimize generating numbers for bullets in Word Using char[] instead of String improves performance of this operation considerably, especially in JDK 11+ where StringBuilder was switched to work on bytes instead of chars. This is likely only relevant for very large documents, it was visible in a synthetic test-file from fuzzing. [Dominik Stadler] Reformat and add more tests [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Prevent too much memory usage Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=67413 [Dominik Stadler] Add initial support for SOURCE_DATE_EPOCH This allows to create reproducible binary files without creation/modification-timestamp being set when environment variable SOURCE_DATE_EPOCH is set. See https://reproducible-builds.org/docs/source-date-epoch/ for the related specification. For now, we ensure that Zip-file entries set the modification time to 1970-01-01, which seems to be enough to make simple OOXML files reproducible. There are likely some other places where resulting files are not reproducible, some more testing will be necessary to identify other areas that should take this into account as well. [Dominik Stadler] Patch forrest to expect all links to be "https" instead of "http" Otherwise generating documentation leads to incorrect links with "../https://..." Unfortunately Forrest is archived at Apache so we cannot get this fixed in Forrest anymore. [Dominik Stadler] Adjust the name of the distribution-file in one more place. [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Prevent a NullPointerException Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66400 [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Prevent a NullPointerException Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=68104 [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Prevent a ClassCastException Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=66089 [Dominik Stadler] Bug 66425: Avoid exceptions found via poi-fuzz Prevent a NullPointerException Fixes https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=70273 [Dominik Stadler] List expected failures in stress.xls instead of fully excluding them We list expected failures in stress.xls to verify that the error message is correct and no unexpected exception is introduced ------------------------------------------ [...truncated 3.71 KB...] U poi\src\main\java\org\apache\poi\util\IOUtils.java U poi\src\main\java\org\apache\poi\util\DefaultTempFileCreationStrategy.java U poi\src\main\java\org\apache\poi\util\BitFieldFactory.java U poi\src\main\java\org\apache\poi\util\HexDump.java U poi\src\main\java\org\apache\poi\util\HexRead.java U poi\src\main\java\org\apache\poi\hssf\record\RecordInputStream.java U poi\src\main\java\org\apache\poi\hssf\record\aggregates\CFRecordsAggregate.java U poi\src\main\java\org\apache\poi\hssf\usermodel\HSSFWorkbook.java U poi\src\main\java\org\apache\poi\hssf\model\InternalWorkbook.java U poi\src\main\java\org\apache\poi\poifs\crypt\standard\StandardDecryptor.java U poi\src\main\java\org\apache\poi\poifs\crypt\cryptoapi\CryptoAPIDecryptor.java U poi\src\main\java\org\apache\poi\poifs\crypt\cryptoapi\CryptoAPIDocumentOutputStream.java U poi\src\main\java\org\apache\poi\poifs\filesystem\TempFilePOIFSFileSystem.java U poi\src\main\java\org\apache\poi\hpsf\DocumentSummaryInformation.java U poi\src\main\java\org\apache\poi\common\usermodel\PictureType.java D test-data\spreadsheet\22742.xls AU test-data\spreadsheet\chinese-provinces.xls AU test-data\spreadsheet\clusterfuzz-testcase-minimized-POIHSSFFuzzer-4657005060816896.xls U test-data\spreadsheet\stress.xls A test-data\spreadsheet\clusterfuzz-testcase-minimized-POIHSSFFuzzer-4651309315719168.xls AU test-data\spreadsheet\duplicate-filename-case-insensitive.xlsx AU test-data\spreadsheet\decimal-format.xlsx AU test-data\spreadsheet\duplicate-filename.xlsx A test-data\spreadsheet\123233_charts.xlsx AU test-data\spreadsheet\bug69021.xls AU test-data\spreadsheet\clusterfuzz-testcase-minimized-POIHSSFFuzzer-5816431116615680.xls A test-data\spreadsheet\bug63189.xlsx A test-data\spreadsheet\clusterfuzz-testcase-minimized-POIHSSFFuzzer-6483562584932352.xls A test-data\spreadsheet\clusterfuzz-testcase-minimized-POIXSSFFuzzer-4828727001088000.xlsx A test-data\spreadsheet\clusterfuzz-testcase-minimized-POIXSSFFuzzer-5089447305609216.xlsx AU test-data\slideshow\clusterfuzz-testcase-minimized-POIHSLFFuzzer-6614960949821440.ppt AU test-data\slideshow\clusterfuzz-testcase-minimized-POIHSLFFuzzer-6192650357112832.ppt AU test-data\slideshow\bug68703.pptx A test-data\document\clusterfuzz-testcase-POIHWPFFuzzer-5696094627495936.doc AU test-data\document\unicode-path.docx A test-data\document\clusterfuzz-testcase-minimized-POIXWPFFuzzer-5166796835258368.docx A test-data\diagram\clusterfuzz-testcase-minimized-POIVisioFuzzer-5492358185353216.vsdx A test-data\diagram\clusterfuzz-testcase-minimized-POIVisioFuzzer-5026516754628608.vsdx A test-data\diagram\clusterfuzz-testcase-minimized-POIVisioFuzzer-4513310052515840.vsdx U poi-ooxml\src\main\java\org\apache\poi\openxml4j\util\ZipArchiveFakeEntry.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\util\ZipInputStreamZipEntrySource.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\util\ZipSecureFile.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\util\ZipFileZipEntrySource.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\internal\ZipContentTypeManager.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\internal\ZipHelper.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\internal\marshallers\ZipPackagePropertiesMarshaller.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\internal\marshallers\ZipPartMarshaller.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\internal\marshallers\PackagePropertiesMarshaller.java AU poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\internal\InvalidZipException.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\OPCPackage.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\ZipPackage.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\PackageRelationship.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\PackagePartName.java U poi-ooxml\src\main\java\org\apache\poi\openxml4j\opc\PackagingURIHelper.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\XmlVisioDocument.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\XDGFMasters.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\XDGFSheet.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\section\geometry\NURBSTo.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\section\geometry\PolyLineTo.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\section\geometry\EllipticalArcTo.java U poi-ooxml\src\main\java\org\apache\poi\xdgf\usermodel\shape\ShapeRenderer.java U poi-ooxml\src\main\java\org\apache\poi\xssf\eventusermodel\ReadOnlySharedStringsTable.java U poi-ooxml\src\main\java\org\apache\poi\xssf\streaming\SXSSFWorkbook.java U poi-ooxml\src\main\java\org\apache\poi\xssf\streaming\Zip64Impl.java U poi-ooxml\src\main\java\org\apache\poi\xssf\usermodel\XSSFVMLDrawing.java U poi-ooxml\src\main\java\org\apache\poi\xssf\usermodel\XSSFWorkbook.java U poi-ooxml\src\main\java\org\apache\poi\xssf\usermodel\XSSFGraphicFrame.java U poi-ooxml\src\main\java\org\apache\poi\xssf\usermodel\XSSFCell.java U poi-ooxml\src\main\java\org\apache\poi\xssf\usermodel\XSSFCellStyle.java U poi-ooxml\src\main\java\org\apache\poi\xwpf\usermodel\XWPFParagraph.java U poi-ooxml\src\main\java\org\apache\poi\xwpf\usermodel\Document.java U poi-ooxml\src\main\java\org\apache\poi\xwpf\usermodel\XWPFFootnotes.java U poi-ooxml\src\main\java\org\apache\poi\xwpf\usermodel\XWPFRelation.java U poi-ooxml\src\main\java\org\apache\poi\xwpf\usermodel\XWPFPictureData.java U poi-ooxml\src\main\java\org\apache\poi\xwpf\usermodel\XWPFRun.java U poi-ooxml\src\main\java\org\apache\poi\ooxml\util\PackageHelper.java A poi-ooxml\src\main\java\org\apache\poi\ooxml\HyperlinkRelationship.java U poi-ooxml\src\main\java\org\apache\poi\ooxml\POIXMLDocumentPart.java A poi-ooxml\src\main\java\org\apache\poi\ooxml\ReferenceRelationship.java U poi-ooxml\src\main\java\org\apache\poi\poifs\crypt\temp\AesZipFileZipEntrySource.java U poi-ooxml\src\main\java\org\apache\poi\poifs\crypt\dsig\SignatureInfo.java U poi-ooxml\src\main\java\org\apache\poi\xslf\usermodel\XSLFRelation.java U poi-ooxml\src\main\java\org\apache\poi\xslf\usermodel\XSLFTableCell.java U poi-ooxml\src\main\java\org\apache\poi\xslf\usermodel\XSLFTextParagraph.java U poi-ooxml\src\main\java\org\apache\poi\xddf\usermodel\chart\Grouping.java U poi-ooxml\src\main\java\org\apache\poi\xddf\usermodel\chart\XDDFChartData.java U poi-ooxml\src\test\java\org\apache\poi\xssf\eventusermodel\TestReadOnlySharedStringsTable.java U poi-ooxml\src\test\java\org\apache\poi\xssf\usermodel\TestXSSFBugs.java U poi-ooxml\src\test\java\org\apache\poi\xssf\usermodel\TestXSSFVMLDrawing.java U poi-ooxml\src\test\java\org\apache\poi\xssf\usermodel\TestXSSFWorkbook.java U poi-ooxml\src\test\java\org\apache\poi\xssf\usermodel\TestXSSFSheetShiftRows.java U poi-ooxml\src\test\java\org\apache\poi\xssf\usermodel\TestXSSFSheetShiftColumns.java U poi-ooxml\src\test\java\org\apache\poi\xssf\usermodel\TestXSSFDataFormat.java U poi-ooxml\src\test\java\org\apache\poi\xssf\streaming\TestSXSSFWorkbook.java U poi-ooxml\src\test\java\org\apache\poi\xssf\streaming\TestSXSSFWorkbookWithCustomZipEntrySource.java U poi-ooxml\src\test\java\org\apache\poi\xssf\TestXSSFCloneSheet.java U poi-ooxml\src\test\java\org\apache\poi\xwpf\usermodel\TestXWPFDocument.java U poi-ooxml\src\test\java\org\apache\poi\xwpf\usermodel\TestXWPFParagraph.java U poi-ooxml\src\test\java\org\apache\poi\openxml4j\util\TestZipSecureFile.java U poi-ooxml\src\test\java\org\apache\poi\openxml4j\opc\TestRelationships.java U poi-ooxml\src\test\java\org\apache\poi\openxml4j\opc\TestPackage.java U poi-ooxml\src\test\java\org\apache\poi\poifs\crypt\tests\TestDecryptor.java U poi-ooxml\src\test\java\org\apache\poi\extractor\ooxml\TestExtractorFactory.java U poi-ooxml\src\test\java\org\apache\poi\xslf\TestXSLFBugs.java U poi-ooxml\src\test\java\org\apache\poi\xslf\usermodel\TestPPTX2PNG.java U poi-ooxml\src\test\java\org\apache\poi\xslf\usermodel\TestXSLFTableCell.java A poi-ooxml\src\test\java\org\apache\poi\xdgf\usermodel\section\geometry\GeometryTestUtils.java A poi-ooxml\src\test\java\org\apache\poi\xdgf\usermodel\section\geometry\TestPolylineTo.java U poi-ooxml\src\test\java\org\apache\poi\xdgf\usermodel\section\geometry\TestArcTo.java A poi-ooxml\src\test\java\org\apache\poi\xdgf\usermodel\section\geometry\TestEllipticalArcTo.java U poi-ooxml\src\test\java\org\apache\poi\ss\tests\usermodel\TestConditionalFormattingEval.java U poi-ooxml\build.gradle U poi-integration\src\test\java\org\apache\poi\stress\TestAllFiles.java U poi-integration\src\test\java\org\apache\poi\stress\XSSFFileHandler.java U poi-integration\src\test\java\org\apache\poi\stress\XWPFFileHandler.java U poi-integration\src\test\resources\log4j2-test.xml U poi-integration\build.xml U poi-integration\build.gradle U poi-scratchpad\src\test\java\org\apache\poi\hssf\converter\TestExcelConverterSuite.java U poi-scratchpad\src\test\java\org\apache\poi\hslf\dev\BaseTestPPTIterating.java U poi-scratchpad\src\test\java\org\apache\poi\hslf\dev\TestPPTXMLDump.java U poi-scratchpad\src\test\java\org\apache\poi\hslf\dev\TestSlideShowDumper.java U poi-scratchpad\src\test\java\org\apache\poi\hwpf\converter\TestNumberFormatter.java U poi-scratchpad\src\test\java\org\apache\poi\hwpf\converter\TestWordToConverterSuite.java U poi-scratchpad\src\test\java\org\apache\poi\hwpf\converter\TestWordToTextConverter.java U poi-scratchpad\src\test\java\org\apache\poi\hdgf\dev\TestVSDDumper.java U poi-scratchpad\src\test\java\org\apache\poi\hmef\dev\TestHMEFDumper.java U poi-scratchpad\src\main\java\org\apache\poi\hwpf\converter\NumberFormatter.java U poi-scratchpad\src\main\java\org\apache\poi\hwpf\converter\AbstractWordUtils.java U poi-scratchpad\src\main\java\org\apache\poi\hwpf\model\PICFAndOfficeArtData.java U poi-scratchpad\src\main\java\org\apache\poi\hwpf\model\OfficeArtContent.java U poi-scratchpad\src\main\java\org\apache\poi\hwpf\model\StyleSheet.java U poi-scratchpad\src\main\java\org\apache\poi\hslf\record\ExOleObjStg.java U poi-scratchpad\src\main\java\org\apache\poi\hslf\record\Record.java U poi-scratchpad\src\main\java\org\apache\poi\hslf\record\EscherPlaceholder.java U poi-scratchpad\src\main\java\org\apache\poi\hslf\record\SSSlideInfoAtom.java U poi-scratchpad\src\main\java\org\apache\poi\hslf\usermodel\HSLFSlideShow.java U build.gradle U build.xml U README.rst U gradle\wrapper\gradle-wrapper.properties U gradle\wrapper\gradle-wrapper.jar U poi-ooxml-lite-agent\build.gradle U doap_POI.rdf U osgi\pom.xml U osgi\README.md U poi-excelant\build.gradle A poi-examples\src\test\java\org\apache\poi\examples A poi-examples\src\test\java\org\apache\poi\examples\hssf A poi-examples\src\test\java\org\apache\poi\examples\hssf\eventusermodel A poi-examples\src\test\java\org\apache\poi\examples\hssf\eventusermodel\TestXLS2CSVmra.java U poi-examples\src\main\java\org\apache\poi\examples\hssf\eventusermodel\XLS2CSVmra.java U poi-examples\src\main\java\org\apache\poi\examples\xssf\eventusermodel\FromHowTo.java U KEYS U gradlew U gradle.properties <-- Got one external: forrest.properties, svn url: https://svn.apache.org/repos/asf/poi/site/forrest.properties --> Fetching 'https://svn.apache.org/repos/asf/poi/site/forrest.properties' at -1 into 'F:\jenkins\jenkins-home\712657a4\workspace\POI\POI-DSL-Windows-1.23\forrest.properties' At revision 1919427 <-- Got one external: documentation, svn url: https://svn.apache.org/repos/asf/poi/site/src/documentation --> Fetching 'https://svn.apache.org/repos/asf/poi/site/src/documentation' at -1 into 'F:\jenkins\jenkins-home\712657a4\workspace\POI\POI-DSL-Windows-1.23\src\documentation' U src\documentation\content\xdocs\security.xml U src\documentation\content\xdocs\changes.xml U src\documentation\content\xdocs\components\index.xml U src\documentation\content\xdocs\components\configuration.xml U src\documentation\content\xdocs\components\diagram\index.xml U src\documentation\content\xdocs\components\document\docoverview.xml U src\documentation\content\xdocs\components\document\index.xml U src\documentation\content\xdocs\components\document\projectplan.xml U src\documentation\content\xdocs\components\hpsf\index.xml U src\documentation\content\xdocs\components\hpsf\internals.xml U src\documentation\content\xdocs\components\logging.xml U src\documentation\content\xdocs\components\poifs\design.xml U src\documentation\content\xdocs\components\poifs\embeded.xml U src\documentation\content\xdocs\components\poifs\index.xml U src\documentation\content\xdocs\components\spreadsheet\limitations.xml U src\documentation\content\xdocs\components\hmef\index.xml U src\documentation\content\xdocs\components\poi-jvm-languages.xml U src\documentation\content\xdocs\components\slideshow\ppt-wmf-emf-renderer.xml U src\documentation\content\xdocs\apidocs\index.xml U src\documentation\content\xdocs\casestudies.xml U src\documentation\content\xdocs\devel\guidelines.xml U src\documentation\content\xdocs\devel\history\index.xml U src\documentation\content\xdocs\devel\index.xml U src\documentation\content\xdocs\devel\nightly.xml U src\documentation\content\xdocs\devel\subversion.xml U src\documentation\content\xdocs\devel\who.xml U src\documentation\content\xdocs\download.xml U src\documentation\content\xdocs\encryption.xml U src\documentation\content\xdocs\index.xml U src\documentation\content\xdocs\legal.xml U src\documentation\content\xdocs\news.xml U src\documentation\content\xdocs\related-projects.xml U src\documentation\content\xdocs\text-extraction.xml U src\documentation\content\xdocs\help\faq.xml U src\documentation\skinconf.xml U src\documentation\release-guide.txt U src\documentation\RELEASE-NOTES.txt At revision 1919427 At revision 1919427 No changes for https://svn.apache.org/repos/asf/poi/site/forrest.properties since the previous build [POI-DSL-Windows-1.23] $ cmd /c call C:\Users\jenkins\AppData\Local\Temp\jenkins7356238877613175199.bat X forrest.properties X src\documentation Performing status on external item at 'src\documentation': svn: E155010: The node 'F:\jenkins\jenkins-home\712657a4\workspace\POI\POI-DSL-Windows-1.23\poi*\src\*' was not found. Skipped 'poi\src\main\java9\module-info.class' Skipped 'poi\src\test\java9\module-info.class' Skipped 'poi-examples\src\main\java9\module-info.class' Skipped 'poi-excelant\src\main\java9\module-info.class' Skipped 'poi-excelant\src\test\java9\module-info.class' Skipped 'poi-integration\src\test\java9\module-info.class' Skipped 'poi-ooxml\src\main\java9\module-info.class' Skipped 'poi-ooxml\src\test\java9\module-info.class' Skipped 'poi-ooxml-full\src\main\java9\module-info.class' Skipped 'poi-ooxml-lite\src\main\java9\module-info.class' Skipped 'poi-ooxml-lite-agent\src\main\java9\module-info.class' Skipped 'poi-scratchpad\src\main\java9\module-info.class' Skipped 'poi-scratchpad\src\test\java9\module-info.class' Java-Home: /home/jenkins/tools/java/latest23 Volume in drive F is Data Volume Serial Number is BE2C-B98F Directory of f:\home\jenkins\tools\java File Not Found The system cannot find the path specified. [POI-DSL-Windows-1.23] $ cmd.exe /C "F:\jenkins\tools\ant\latest1.10\bin\ant.bat ******** ******** -Dcoverage.enabled=true clean jenkins && exit %%ERRORLEVEL%%" Buildfile: <https://ci-builds.apache.org/job/POI/job/POI-DSL-Windows-1.23/ws/build.xml> BUILD FAILED <https://ci-builds.apache.org/job/POI/job/POI-DSL-Windows-1.23/ws/build.xml>:108: The following error occurred while executing this line: <https://ci-builds.apache.org/job/POI/job/POI-DSL-Windows-1.23/ws/build.xml>:93: Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK. It is currently set to "C:\Program Files\Java\jre1.8.0_152" Total time: 0 seconds Build step 'Invoke Ant' marked build as failure [SpotBugs] Skipping execution of recorder since overall result is 'FAILURE' Archiving artifacts Recording test results ERROR: Step ‘Publish JUnit test result report’ failed: No test report files were found. Configuration error? --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@poi.apache.org For additional commands, e-mail: dev-h...@poi.apache.org