United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7036236 VM crashes assert((!inside_attrs()) || is_error_reported()) failed ...
JDK-7036236 : VM crashes assert((!inside_attrs()) || is_error_reported()) failed ...

Details
Type:
Bug
Submit Date:
2011-04-13
Status:
Closed
Updated Date:
2011-07-29
Project Name:
JDK
Resolved Date:
2011-04-24
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
7
Fixed Versions:
hs21 (b09)

Related Reports
Backport:

Sub Tasks

Description
VM crashes in CompilerThread when CodeCache is full:

;; Using jvm: "/export/local/common/jdk/baseline/solaris-sparc/jre/lib/sparc/server/libjvm.so"
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/HUDSON/workspace/jdk7-2-build-solaris-sparc-product/jdk7/hotspot/src/share/vm/utilities/xmlstream.cpp:128), pid=12038, tid=7
#  assert((!inside_attrs()) || is_error_reported()) failed: cannot print tag inside attrs
#
# JRE version: 7.0-b136
# Java VM: Java HotSpot(TM) Server VM (21.0-b06-fastdebug mixed mode solaris-sparc )
# Core dump written. Default location: /export/local/46106.JDK.PROMOTION.BIGAPPS+server_32_SerialGC_sol-sparc_dbg_aggr_Glassfish3+samples/results/as/domains/domain1/config/core or core.12038
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

---------------  T H R E A D  ---------------

Current thread (0x002a2c00):  JavaThread "C2 CompilerThread0" daemon [_thread_in_vm, id=7, stack(0xa4700000,0xa4780000)]

Stack: [0xa4700000,0xa4780000],  sp=0xa477f048,  free space=508k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x1103ecc]  void VMError::report_and_die()+0x7d0;;  void VMError::report_and_die()+0x7d0
V  [libjvm.so+0x692690]  void report_vm_error(const char*,int,const char*,const char*)+0x74;;  void report_vm_error(const char*,int,const char*,const char*)+0x74
V  [libjvm.so+0x11375f8]  void xmlStream::va_tag(bool,const char*,void*)+0x58;;  void xmlStream::va_tag(bool,const char*,void*)+0x58
V  [libjvm.so+0x1137ac0]  void xmlStream::begin_elem(const char*,...)+0x30;;  void xmlStream::begin_elem(const char*,...)+0x30
V  [libjvm.so+0x5fc60c]  void CompileBroker::handle_full_code_cache()+0x90;;  void CompileBroker::handle_full_code_cache()+0x90
V  [libjvm.so+0x5f8de8]  void CompileBroker::compiler_thread_loop()+0x1dc;;  void CompileBroker::compiler_thread_loop()+0x1dc
V  [libjvm.so+0x104dc60]  void JavaThread::thread_main_inner()+0x1b4;;  void JavaThread::thread_main_inner()+0x1b4
V  [libjvm.so+0x104da94]  void JavaThread::run()+0x25c;;  void JavaThread::run()+0x25c
V  [libjvm.so+0xde5524]  java_start+0x184;;  java_start+0x184

                                    

Comments
EVALUATION

This seems like a race: CompileBroker::handle_full_code_cache() can be called in different contexts, so a lock is required when we're printing to xtty, since it's stateful.
                                     
2011-04-13
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/dbccacb79c63
                                     
2011-04-14
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-rt/hotspot/rev/dbccacb79c63
                                     
2011-04-23



Hardware and Software, Engineered to Work Together