JDK-6880574 : C2 assert in escape.cpp:445 on linux-amd64
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs17
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: linux
  • CPU: x86
  • Submitted: 2009-09-10
  • Updated: 2011-03-08
  • Resolved: 2011-03-08
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 6 JDK 7 Other
6u21Fixed 7Fixed hs17Fixed
The next Nightly tests failed with this assert:


All failed during compilation of the next method:

sun.awt.X11.XDecoratedPeer.handleWmTakeFocus(Lsun/awt/X11/XClientMessageEvent;)V (32 bytes)

To reproduce:

java -cp /java/sqe/comp/vm/testbase/sqe/vm/6/build/latest/vm/bin/classes -XX:CompileThreshold=100 -XX:-UseCompressedOops -Xcomp nsk.stress.thread.thread003.thread003 500 2m 5s

# A fatal error has been detected by the Java Runtime Environment:
#  Internal Error (/tmp/jprt/P1/B/201417.kvn/source/src/share/vm/opto/escape.cpp:445), pid=9220, tid=139921204959568
#  Error: assert(base->Opcode() == Op_ConP || base->Opcode() == Op_ThreadLocal || base->Opcode() == Op_CastX2P || base->is_DecodeN() || (base->is_Mem() && base->bottom_type() == TypeRawPtr::NOTNULL) || (base->is_Proj() && base->in(0)->is_Allocate()),"sanity")
# JRE version: 7.0-b70
# Java VM: Java HotSpot(TM) 64-Bit Server VM (17.0-b01-2009-08-25-201417.kvn.comp_to_main-fastdebug compiled mode linux-amd64 )
# 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 (0x00007f41ec0aa000):  JavaThread "CompilerThread1" daemon [_thread_in_native, id=9234, stack(0x00007f41f1a7d000,0x00007f41f1b7e000)]

Stack: [0x00007f41f1a7d000,0x00007f41f1b7e000],  sp=0x00007f41f1b7aad0,  free space=3f60000000000000018k
Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code)
V  [libjvm.so+0x9ce2df];;  _ZN7VMError6reportEP12outputStream+0x11df
V  [libjvm.so+0x9ce67a];;  _ZN7VMError14report_and_dieEv+0x2da
V  [libjvm.so+0x44cbce];;  _Z24report_assertion_failurePKciS0_+0x6e
V  [libjvm.so+0x4b1e28];;  _ZL13get_addp_baseP4Node+0x1c8
V  [libjvm.so+0x4b5f9b];;  _ZN15ConnectionGraph22build_connection_graphEP4NodeP14PhaseTransform+0x5eb
V  [libjvm.so+0x4ba69c];;  _ZN15ConnectionGraph14compute_escapeEv+0x57c
V  [libjvm.so+0x3e2e0d];;  _ZN7CompileC1EP5ciEnvP10C2CompilerP8ciMethodibb+0x127d
V  [libjvm.so+0x316532];;  _ZN10C2Compiler14compile_methodEP5ciEnvP8ciMethodi+0x162
V  [libjvm.so+0x3eabb1];;  _ZN13CompileBroker25invoke_compiler_on_methodEP11CompileTask+0x471
V  [libjvm.so+0x3eb619];;  _ZN13CompileBroker20compiler_thread_loopEv+0x309
V  [libjvm.so+0x97b79e];;  _ZN10JavaThread17thread_main_innerEv+0xde
V  [libjvm.so+0x810fe0];;  _ZL10java_startP6Thread+0xf0

Current CompileTask:
C2:3983   b  sun.awt.X11.XDecoratedPeer.handleWmTakeFocus(Lsun/awt/X11/XClientMessageEvent;)V (32 bytes)

PUBLIC COMMENTS Problem: Unsafe access may have several chained AddP nodes but get_addp_base() method expects incorrectly only one. Solution: Look through chained AddP nodes in get_addp_base().

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/159d56b94894