JDK-7116216 : StackOverflow GC crash
  • Type: Bug
  • Component: hotspot
  • Sub-Component: runtime
  • Affected Version: 7
  • Priority: P2
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-11-28
  • Updated: 2013-04-24
  • Resolved: 2012-03-29
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
7u4Fixed 8Fixed hs23Fixed
1. Compile the two attached java files
   2. Invoke Java with arguments : -Xcomp -Xbatch StackOverflow
   3. (optional) To make sure garbage collection happens, a debug build is needed, and invoke Java with arguments : -XX:+FullGCALot -Xcomp -Xbatch StackOverflow

EVALUATION http://hg.openjdk.java.net/lambda/lambda/hotspot/rev/dca455dea3a7

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-gc/hotspot/rev/dca455dea3a7

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-main/hotspot/rev/dca455dea3a7

EVALUATION http://hg.openjdk.java.net/hsx/hotspot-emb/hotspot/rev/dca455dea3a7

EVALUATION There are indeed two generic issues already identified: - we cannot safely call TemplateInterpreter::_throw_StackOverflowError_entry since the caller may not be interpreted - if SP is modified in gen_c2i_adapter, it must be restored to allow the stack walker to correctly parse the caller frame This leads to different issues depending on the platform and on the JIT compiler used (failure to clean up the interpreter state, stack walking issues, oop parsing issues...). In addition, for platforms which do not modify SP in gen_c2i_adapter, it might be safer to restore it anyway in case it has been modified by JSR292 adapters.

SUGGESTED FIX SAP would like to make contribution to fix this issue. The webrev is here: http://www.sapjvm.com/yw/webrevs/StackOverflow_GC_Crash/ *** (#1 of 1): [ UNSAVED ] ###@###.###