Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8068776

invalid missing stackframe verify error message

    XMLWordPrintable

Details

    • x86_64
    • linux_ubuntu

    Description

      FULL PRODUCT VERSION :
      java version "1.8.0_25"
      Java(TM) SE Runtime Environment (build 1.8.0_25-b17)
      Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)


      FULL OS VERSION :
      3.13.0-29-generic #53~precise1-Ubuntu SMP Wed Jun 4 22:06:25 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux


      A DESCRIPTION OF THE PROBLEM :
      When experimenting with bytecode generation we often stumble about reports verify errors like this one:

        Expecting a stackmap frame at branch target 9
        Exception Details:
          Location:
            org/codehaus/groovy/transform/tailrec/TailRecursiveASTTransformation.getMetaClass()Lgroovy/lang/MetaClass; @5: ifnull
          Reason:
            Expected stackmap frame at this location.
          Bytecode:
            0x0000000: 2ab4 0030 59c6 0004 b057 2a59 b600 2eb5
            0x0000010: 0030 2ab4 0030 b0

      While a bytecode error is correctly recognized, the error report is wrong. The class has the version 50, which means stackmap frames are optional, still the verifier seems to expect them being used. But not only is the reason wrong, the location is wrong as well. In this case the error was about trying to pop an operand of an empty stack in a different method instead.

      THE PROBLEM WAS REPRODUCIBLE WITH -Xint FLAG: Did not try

      THE PROBLEM WAS REPRODUCIBLE WITH -server FLAG: Did not try

      REPRODUCIBILITY :
      This bug can be reproduced always.

      CUSTOMER SUBMITTED WORKAROUND :
      ignore the error report and use the asm lib to find the bytecode error

      Attachments

        Activity

          People

            Unassigned Unassigned
            webbuggrp Webbug Group
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: