JDK-8209361 : [AOT] Unexpected number of references for JVMTI_HEAP_REFERENCE_CONSTANT_POOL [111-->111]: 0 (expected at least 1)
  • Type: Bug
  • Component: hotspot
  • Sub-Component: jvmti
  • Affected Version: 10,11,12
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-08-10
  • Updated: 2022-06-01
  • Resolved: 2018-09-07
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 12
11.0.7-oracleFixed 12 b11Fixed
Related Reports
Relates :  
Description
please check comments section for steps to reproduce
Comments
Fix request (11u) I would like to downport this for parity with 11.0.7-oracle. Applies clean.
29-11-2019

The eventual fix was to have JVM TI treat unresolved entries to already loaded classes as if they were resolved. This covered the case where the compilers did not actually mark them as resolved and is allowed in other cases as resolution can be lazy (normal VM operation) or eager, and this acts as-if eager resolution occurred. One slight surprise was that this exposed the self-reference that every class has in the constant pool - see JDK-8210512.
10-09-2018

URL: http://hg.openjdk.java.net/jdk/jdk/rev/cda49f297cb1 User: dlong Date: 2018-09-07 04:08:28 +0000
07-09-2018

The capability that FollowReferences requres is "can_tag_objects". We could disable this capability if AOT code is present, and then the test would pass. Making AOT code resolve constant pool references seems like it would hurt performance. Perhaps we could enter "interpreter only" mode when that capability is added.
28-08-2018

The test is failing because it assumes that constant pool entries will be resolved, but the AOT code is not causing them to be resolved.
24-08-2018

ILW = Incorrect execution of compiled code (unexpected number of references), jvmti test with AOT'ed java.base and test classes, don't use AOT = HLM = P3
13-08-2018