JDK-6902036 : WorldWind asserts on escape.cpp:1153: assert(addr->is_AddP(),"AddP required")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs17
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-11-17
  • Updated: 2010-07-29
  • Resolved: 2010-01-14
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
Description
Running worldwind-0.6.277.12749 and moving the mouse inside the window asserts with:

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/escape.cpp:1153
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/export/home/twisti/hotspot-comp/hotspot/src/share/vm/opto/escape.cpp:1153), pid=18417, tid=9
#  Error: assert(addr->is_AddP(),"AddP required")
#
# JRE version: 7.0-b59
# Java VM: OpenJDK Server VM (17.0-b05-internal-jvmg mixed mode solaris-x86 )
# An error report file with more information is saved as:
# /export/home/twisti/projects/worldwind/worldwind-0.6.277.12749/hs_err_pid18417.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

A product build does not crash.

Comments
PUBLIC COMMENTS Problem: AddPNode::Ideal() may replace AddP node with CastX2P node for a raw memory reference. EA code does not check such case. Solution: Remove the assert.
20-11-2009

EVALUATION http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/7ef1d2e14917
20-11-2009

EVALUATION EA should ignore raw memory operations.
18-11-2009

EVALUATION Just a backtrace and a dump of addr: (dbx) where current thread: t@9 [1] __waitid(0x0, 0x47f9, 0x80b02430, 0x3), at 0xc8563d35 [2] waitid(0x0, 0x47f9, 0x80b02430, 0x3), at 0xc85507ad [3] waitpid(0x47f9, 0x80b024d8, 0x0), at 0xc8513305 =>[4] os::fork_and_exec(cmd = 0xc99b2b48 "dbx - 18424"), line 5956 in "os_solaris.cpp" [5] VMError::show_message_box(this = 0x80b02668, buf = 0xc99b2b48 "dbx - 18424", buflen = 2000), line 53 in "vmError_solaris.cpp" [6] VMError::report_and_die(this = 0x80b02668), line 700 in "vmError.cpp" [7] report_assertion_failure(file_name = 0xc95b536e "/export/home/twisti/hotspot-comp/hotspot/src/share/vm/opto/escape.cpp", line_no = 1153, message = 0xc95b53b4 "assert(addr->is_AddP(),"AddP required")"), line 173 in "debug.cpp" [8] ConnectionGraph::split_unique_types(this = 0x8d4ca00, alloc_worklist = CLASS), line 1153 in "escape.cpp" [9] ConnectionGraph::compute_escape(this = 0x8d4ca00), line 1623 in "escape.cpp" [10] Compile::Compile(this = 0x80b033a0, ci_env = 0x80b03948, compiler = 0x80667b8, target = 0x886d530, osr_bci = -1, subsume_loads = true, do_escape_analysis = true), line 600 in "compile.cpp" [11] C2Compiler::compile_method(this = 0x80667b8, env = 0x80b03948, target = 0x886d530, entry_bci = -1), line 112 in "c2compiler.cpp" [12] CompileBroker::invoke_compiler_on_method(task = 0x8588bd8), line 1543 in "compileBroker.cpp" [13] CompileBroker::compiler_thread_loop(), line 1389 in "compileBroker.cpp" [14] compiler_thread_entry(thread = 0x8193800, __the_thread__ = 0x8193800), line 2746 in "thread.cpp" [15] JavaThread::thread_main_inner(this = 0x8193800), line 1382 in "thread.cpp" [16] JavaThread::run(this = 0x8193800), line 1366 in "thread.cpp" [17] java_start(thread_addr = 0x8193800), line 1019 in "os_solaris.cpp" [18] _thrp_setup(0xc8043a00), at 0xc855e3c3 [19] _lwp_start(0x0, 0x47f9, 0x80b02430, 0x3, 0x7ef909a8, 0xc84b94e0), at 0xc855e650 (dbx) fr 8 Current function is ConnectionGraph::split_unique_types 1153 assert(addr->is_AddP(), "AddP required"); (dbx) p addr->dump() 1461 CastX2P === _ 1460 [[ 1462 ]] !jvms: DirectIntBufferU::get @ bci:12 RectangularTessellator::renderTrianglesWithUniqueColors @ bci:312 addr->dump() = (void)
17-11-2009

WORK AROUND -XX:-DoEscapeAnalysis
17-11-2009