-
Bug
-
Resolution: Fixed
-
P4
-
8, 9, 10, 11
-
b03
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8234295 | 11.0.7-oracle | Vaibhav Choudhary | P4 | Resolved | Fixed | b01 |
JDK-8235231 | 11.0.7 | Alex Menkov | P4 | Resolved | Fixed | b01 |
nsk/jvmti/IterateThroughHeap/filter-* tests use HeapFilter native agent. verify_tag function in HeapFilter.c has the following switch statement:
{code}
switch(filter_type) {
JVMTI_HEAP_FILTER_TAGGED:
return object_tag == 0;
JVMTI_HEAP_FILTER_UNTAGGED:
return object_tag != 0;
JVMTI_HEAP_FILTER_CLASS_TAGGED:
return class_tag == 0;
JVMTI_HEAP_FILTER_CLASS_UNTAGGED:
return class_tag != 0;
default:
return JNI_FALSE;
{code}
since there is no 'case' k/w before any of 'JMVTI_.*', all of them are treated as goto label and not as case values. therefore the switch is equivalent to 'return JNI_FALSE'. w/ the switch fixed by adding 'case' k/w, all these tests fail.
native compilers (at least msvc) report unused goto labels as warnings, so this switch has to be fixed, otherwise we aren't able to convert jvmti tests to jtreg.
{code}
switch(filter_type) {
JVMTI_HEAP_FILTER_TAGGED:
return object_tag == 0;
JVMTI_HEAP_FILTER_UNTAGGED:
return object_tag != 0;
JVMTI_HEAP_FILTER_CLASS_TAGGED:
return class_tag == 0;
JVMTI_HEAP_FILTER_CLASS_UNTAGGED:
return class_tag != 0;
default:
return JNI_FALSE;
{code}
since there is no 'case' k/w before any of 'JMVTI_.*', all of them are treated as goto label and not as case values. therefore the switch is equivalent to 'return JNI_FALSE'. w/ the switch fixed by adding 'case' k/w, all these tests fail.
native compilers (at least msvc) report unused goto labels as warnings, so this switch has to be fixed, otherwise we aren't able to convert jvmti tests to jtreg.
- backported by
-
JDK-8234295 nsk/jvmti/IterateThroughHeap/filter-* are broken
- Resolved
-
JDK-8235231 nsk/jvmti/IterateThroughHeap/filter-* are broken
- Resolved