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

ciReplay loads wrong data when MethodData size changes

    XMLWordPrintable

    Details

    • Subcomponent:
    • Introduced In Version:
      13
    • Resolved In Build:
      b12

      Description

      I stumbled upon this problem when trying to reproduce https://bugs.openjdk.java.net/browse/JDK-8219448 on JDK 13. The crash was recorded on a late 12 build, but the issue doesn't reproduce on 13. A bisection revealed that JDK-8210832 "Remove sneaky locking in class Monitor" caused the problem, at it doesn't even touch the compilers.

      The problem is that when ciReplay serializes a ciMethodData it will serialize a MethodData as an array precceded by the size.
      But a MethodData contains an inlined Mutex, and its size changed with the removal of sneaky locking.

      This fix adds code for detecting a size change of MethodData, and tries to recover by adding padding or dropping data. Since all non significant serialization data are in the beginning, the padding or dropping of data is done from the start.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              neliasso Nils Eliasson
              Reporter:
              neliasso Nils Eliasson
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: