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.
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.
Comments
Got it. We will add 2 flags to the test and filter only THIS particular warning.
09-02-2013
If this test will always tickle this performance warning then we at least need to exclude this warning from consideration.
09-02-2013
Note, I agree with adding -XX:+IgnoreUnrecognizedVMOptions -XX:-PrintVMOptions. But I am concern about -XX:-PrintWarnings.
09-02-2013
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?
09-02-2013
Better to have the script filter out warning messages I think.
06-02-2013
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).
02-08-2012
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