Skip to content

IndexOutOfBoundsException when running a Zip64 jar file larger than 4,294,967,295 bytes #27822

@jfarjona

Description

@jfarjona

When assembling a big jar file, SpringBoot breaks with a IndexOutOfBoundsException.

I have put the example that creates this bug at:

https://github.com/jfarjona/bugs-spring-boot-1

It breaks with different versions.

Exception details:

Exception in thread "main" java.lang.IllegalStateException: java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
        at org.springframework.boot.loader.PropertiesLauncher.<init>(PropertiesLauncher.java:158)
        at org.springframework.boot.loader.PropertiesLauncher.main(PropertiesLauncher.java:465)
Caused by: java.lang.IllegalStateException: java.lang.IndexOutOfBoundsException
        at org.springframework.boot.loader.PropertiesLauncher.getHomeDirectory(PropertiesLauncher.java:167)
        at org.springframework.boot.loader.PropertiesLauncher.<init>(PropertiesLauncher.java:152)
        ... 1 more
Caused by: java.lang.IndexOutOfBoundsException
        at org.springframework.boot.loader.jar.AsciiBytes.<init>(AsciiBytes.java:73)
        at org.springframework.boot.loader.jar.CentralDirectoryFileHeader.load(CentralDirectoryFileHeader.java:96)
        at org.springframework.boot.loader.jar.CentralDirectoryParser.parseEntries(CentralDirectoryParser.java:68)
        at org.springframework.boot.loader.jar.CentralDirectoryParser.parse(CentralDirectoryParser.java:57)
        at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:137)
        at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:123)
        at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:109)
        at org.springframework.boot.loader.jar.JarFile.<init>(JarFile.java:100)
        at org.springframework.boot.loader.archive.JarFileArchive.<init>(JarFileArchive.java:73)
        at org.springframework.boot.loader.archive.JarFileArchive.<init>(JarFileArchive.java:69)
        at org.springframework.boot.loader.Launcher.createArchive(Launcher.java:163)
        at org.springframework.boot.loader.PropertiesLauncher.getProperty(PropertiesLauncher.java:442)
        at org.springframework.boot.loader.PropertiesLauncher.getPropertyWithDefault(PropertiesLauncher.java:403)
        at org.springframework.boot.loader.PropertiesLauncher.getHomeDirectory(PropertiesLauncher.java:164)
        ... 2 more

Juan

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions