JDK-7102300 : compiler/5091921/Test6890943.java is incorrect
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs24,8
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-10-18
  • Updated: 2013-09-12
  • Resolved: 2013-02-19
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 7 JDK 8 Other
7u40Fixed 8Fixed hs24Fixed
This test invokes java program via script and then compares the output with gold result, if different, it fails. However, if a VM issues a warning, the test will report failure even actually there was no failure.

Got it. We will add 2 flags to the test and filter only THIS particular warning.

If this test will always tickle this performance warning then we at least need to exclude this warning from consideration.

Note, I agree with adding -XX:+IgnoreUnrecognizedVMOptions -XX:-PrintVMOptions. But I am concern about -XX:-PrintWarnings.

So next warning is expected behavior? Java HotSpot(TM) Server VM warning: Performance bug: SystemDictionary lookup_count=19343 lookup_length=20430 average=1.056196 load=0.500496 We will not catch such cases if we filter such warnings. Should we instead fix VM to avoid these warnings?

Better to have the script filter out warning messages I think.

EVALUATION This test passes now. I think we want it to start failing again if there are warnings from the VM. I'm going to close this as a not a bug (anymore).

EVALUATION The code generating the warning: src/share/vm/utilities/hashtable.cpp: 225 void BasicHashtable::verify_lookup_length(double load) { 226 if ((double)_lookup_length / (double)_lookup_count > load * 2.0) { 227 warning("Performance bug: SystemDictionary lookup_count=%d " 228 "lookup_length=%d average=%lf load=%f", 229 _lookup_count, _lookup_length, 230 (double) _lookup_length / _lookup_count, load); 231 } 232 } Tests that do golden file comparisons need to be run with the following options: -XX:+IgnoreUnrecognizedVMOptions -XX:-PrintVMOptions -XX:-PrintWarnings