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

TypeVersionMapper doesn't handle MonitorInfo correctly

    XMLWordPrintable

Details

    • Bug
    • Resolution: Not an Issue
    • P3
    • None
    • 9
    • core-svc
    • None

    Description

      TypeVersionMapper::getVersionnedCompositeType will first look whether a filter exists for the composite type given as argument, and if no filter is found, then it will assume that no further processing is needed and simply return the given composite type.

      This doesn't take into account the fact that a composite type that hasn't changed between two versions can reference a composite type that has changed.

      This is the case for MonitorInfo. MonitorInfo itself has not changed, but it includes a field (lockedStackFrame) whose composite data has changed in JDK 9.

      As a result, if TypeVersionMapper is asked to retrieved the composite type of MonitorInfo for version 6, then that composite type will still reference types that are new in JDK 9 (it will contain the JDK 9 version of StackTraceElement which has module name and module version).
      This will impair the ability of a JDK 9 jvisualvm (or jconsole) to interoperate properly with a JDK 8 (or earlier) process.

      Attachments

        Issue Links

          Activity

            People

              hb Harsha Wardhana B (Inactive)
              dfuchs Daniel Fuchs
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: