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

BCEL corrupts debug data of methods that use generics

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P2
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 9
    • Component/s: xml
    • Labels:
    • Subcomponent:
    • Resolved In Build:
      b40
    • CPU:
      generic
    • OS:
      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

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

                  Dates

                  • Created:
                    Updated:
                    Resolved: