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

ResolutionErrorTable's key is wrong

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P4 P4
    • 20
    • 20
    • hotspot
    • b26

      The ResourceHashtable key for the resolution error table is the value of the address of constant pool + index. This assumes that the index is for the constant pool so that this would point to a unique value within a given constant pool.

      Invokedynamic bootstrap method errors also save entries in the resolution error table, but use an offset from the cpCache index. So cpool + cpCache_index + offset will not be guaranteed to point within the constant pool and might be ambiguous with another constant pool and index. It's not likely, but it's possible.

      The ResolutionErrorTable needs to have a key that compares the constant pool and index, and not the sum of the two.

      The address arithmetic is wrong for any constant pool entries too.

            coleenp Coleen Phillimore
            coleenp Coleen Phillimore
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: