JDK-6885609 : java -client -XX:-JavaMonitorsInStackTrace cause
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs17
  • Priority: P4
  • Status: Closed
  • Resolution: Cannot Reproduce
  • OS: generic
  • CPU: x86
  • Submitted: 2009-09-25
  • Updated: 2011-01-19
  • Resolved: 2010-12-14
Related Reports
Relates :  
Description
The JavaMonitorsInStackTrace is internal option however we should not get SIGSEV here.

Here is the example:
-->java -client  -XX:-JavaMonitorsInStackTrace
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0xfe77464c, pid=12876, tid=7
#
# JRE version: 7.0-b72
# Java VM: Java HotSpot(TM) Client VM (17.0-b01 mixed mode, sharing solaris-x86 )
# Problematic frame:
# V  [libjvm.so+0x17464c]
#
# An error report file with more information is saved as:
# /tmp/hs_err_pid12876.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

Comments
EVALUATION The _needs_debug_information has gone away as part of 6943485 so it no longer crashes.
14-12-2010

EVALUATION There's a clue in: src/share/vm/c1/c1_Compilation.cpp 411 Compilation::Compilation(AbstractCompiler* compiler, ciEnv* env, ciMethod* method, int osr_bci) <snip> 438 _needs_debug_information = _env->jvmti_can_examine_or_deopt_anywhere() || 439 JavaMonitorsInStackTrace || AlwaysEmitDebugInfo || DeoptimizeALot; JavaMonitorsInStackTrace has a default value of true. I'm guessing that a code path has crept into the Client compiler where we assume we always have debug info.
25-09-2009