RFR: 8240567: MethodTooLargeException thrown while creating a jlink image

Jaikiran Pai jpai at openjdk.org
Fri Oct 14 06:14:02 UTC 2022


On Thu, 13 Oct 2022 21:15:16 GMT, Oliver Kopp <duke at openjdk.org> wrote:

> Fix for [JDK-8240567](https://bugs.openjdk.org/browse/JDK-8240567): "MethodTooLargeException thrown while creating a jlink image".
> 
> Java still has a 64kb limit: A method may not be longer than 64kb. The idea of the fix is to split up the generated methods in several smaller methods

Hello Oliver, the GitHub actions job failures appear related to this change. For example:


Error occurred during initialization of boot layer
java.lang.VerifyError: Method does not expect a return value
Exception Details:
  Location:
    jdk/internal/module/SystemModules$default.moduleDescriptorsSub0([Ljava/lang/module/ModuleDescriptor;)V @18441: areturn
  Reason:
    Type 'jdk/internal/module/Builder' (current frame, stack[309]) is not assignable to top (from method signature)
  Current Frame:
    bci: @18441
    flags: { }
    locals: { 'jdk/internal/module/Builder', '[Ljava/lang/module/ModuleDescriptor;', 'java/util/Set', top, 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set', 'java/util/Set' }
    stack: { 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Bui
 lder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder'
 , 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jd
 k/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/int
 ernal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal
 /module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/modu
 le/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Bu
 ilder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder
 ', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'j
 dk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder', 'jdk/internal/module/Builder' }
  Bytecode:

-------------

PR: https://git.openjdk.org/jdk/pull/10704


More information about the core-libs-dev mailing list