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

BCEL corrupts debug data of methods that use generics

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • P2
    • 9
    • None
    • xml
    • b40
    • generic
    • generic

    Backports

      Description

        The copy of BCEL included in jaxp appears to corrupt the LocalVariableTable (LVT) and the LocalVariableTypeTable (LVTT) of methods that use generics. This seems to be in a bug in the original BCEL source I ported over in jdk8003147. I can reproduce the same issue on the last BCEL 6.0 snapshot.

        I did not notice this earlier as the porting work I did in jdk8003147 fixes generic support enough so that the corrupted classes pass HotSpot's bytecode verification. (Un)fortunately JRockit's byte code verification is much stricter and does not allow these classes to be loaded. This means that when JRockit uses BCEL to instrument classes, we end up unable to load the resulting classes. That means that this issue breaks JRockits byte code instrumentation for generic-using code.

        Attachments

          Issue Links

            Activity

              People

                dbuck David Buck
                dbuck David Buck
                Votes:
                0 Vote for this issue
                Watchers:
                4 Start watching this issue

                Dates

                  Created:
                  Updated:
                  Resolved: