RFR (S) : 8014959 : assert(Compile::live less than (uint)MaxNodeLimit) failed: Live Node limit exceeded limit
David Chase
david.r.chase at oracle.com
Sat Jun 8 21:43:42 PDT 2013
Resending, wonder if the angles in the previous subject had caused problems.
And if so, they might cause problems for other automated posts that key off the bug report title.
webrev: http://cr.openjdk.java.net/~drchase/8014959/webrev.00/
bug:
SQE MethodHandle + breakpoint + step torture test has four outcomes:
1) success;
2) failure, timeout.;
3) failure, does not reach target breakpoint;
4) crash, too many nodes
Failures 2 & 3 are a result of the torture being a little too thorough; the target methodHandle is wrapped in a random number N of various MH transformations, where N varies from 0 to 999. However, the number of steps required to complete is about 22-25 times the wrapping level, and only 9000 steps are allowed (only enough for about 360-410 deep). So it is recommended that the test be random in a smaller range that runs to nearly 9000 steps (i.e., 250-350).
fix: two-part; see also INTJDK-7604173 filed against the test.
This fix hardens the compiler against running out of nodes (failure #4); several missing bailout checks were added, the fudgefactor was doubled, and the node limit was increased to leave about the same number of available nodes net of tripled fudgefactor (which occurs in some tests).
testing:
1) jtreg test/compiler + test/closed on Mac laptop
2) JPRT on compiler
3) 200 runs of tweaked version of SQE test in attempt to provoke crash (with failures ignored): 100 from 900-999, 100 from 400 to 900.
David
More information about the hotspot-compiler-dev
mailing list