JDK-6709972 : runThese failed with assert(false,"bad AD file")
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: hs13
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: solaris
  • CPU: sparc
  • Submitted: 2008-06-03
  • Updated: 2012-02-01
  • 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
6u14Fixed 7Fixed hs13Fixed
Description
runThese failed on test gnu.testlet.java.text.StringCharacterIterator.constructor with an assertion using fast debug java

# To suppress the following error report, specify this argument
# after -XX: or in .hotspotrc:  SuppressErrorAt=/matcher.cpp:1359
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  Internal Error (/tmp/jprt-jprtadm/temp/P1/B/073938.et151817/source/src/share/vm/opto/matcher.cpp:1359), pid=15480, tid=10
#  Error: assert(false,"bad AD file")
#
# Java VM: Java HotSpot(TM) Server VM (13.0-b02-2008-06-01-073938.et151817.hs13_b02-jvmg mixed mode solaris-sparc )
# An error report file with more information is saved as:
# /export/local/5845.JDK7.NIGHTLY.VM+solaris-sparc_server_mixed_RT_QUICK/results/hs_err_pid15480.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp
#

Stack trace
 ff1416e8 _lwp_kill (6, 0, ff124d28, ffffffff, ff168298, 6) + 8
 ff0c0158 abort    (d66fdbb8, 1, fe1476a8, a8244, ff16b298, 0) + 110
 fe5e7b04 void os::abort(bool) (1, 14cc00, fd8a1c00, fee48428, 3c78, 0) + e4
 fe805460 void VMError::report_and_die() (d66fdd98, 14cc00, febac8a9, febac858, 54f, 199dbd) + d48
 fe19fb00 void report_assertion_failure(const char*,int,const char*) (febac858, 54f, febac8a9, 27be40, 1, 1990b5) + b8
 fe55288c Node*Matcher::Label_Root(const Node*,State*,Node*,const Node*) (d66fe708, 3b5790, 198c58, 27be40, 1, b20099) + 6d4
 fe551c04 MachNode*Matcher::match_tree(const Node*) (d66fe708, 3b5790, 4ce318, 4ce318, 0, 198a61) + 1e4
 fe5501a8 Node*Matcher::xform(Node*,int) (d66fe708, b44fe0, 69f, 0, d66fe0a0, 0) + 200
 fe54d704 void Matcher::match() (d66fe708, fea1cb40, fee31e08, 1, 4d7d08, 4d7dc0) + c94
 fe130d00 void Compile::Code_Gen() (d66ff1b8, 1, d66ff0bc, 1, 0, 0) + d0
 fe12b300 Compile::Compile #Nvariant 1(ciEnv*,C2Compiler*,ciMethod*,int,bool,bool) (d66ff1b8, d66ff7bc, 141cc8, 4c36b0, ffffffff, 1) + 1420
 fe03b8b8 void C2Compiler::compile_method(ciEnv*,ciMethod*,int) (141cc8, d66ff7bc, 4c36b0, ffffffff, d66ff7bc, 4c36b0) + e0
 fe1400b0 void CompileBroker::invoke_compiler_on_method(CompileTask*) (1cd118, 0, d70eb580, d66ff970, 0, d66ff9c4) + 6ec
 fe13eff8 void CompileBroker::compiler_thread_loop() (1, 14cc00, ffffffff, fffffff8, 0, 14d6c5) + 6ec
 fe78adbc void compiler_thread_entry(JavaThread*,Thread*) (14cc00, 14cc00, 1, 1, ff16fb20, 0) + 84
 fe784d44 void JavaThread::thread_main_inner() (14cc00, 14e6c8, 6, a, 1, 80808080) + 144
 fe784bdc void JavaThread::run() (14cc00, a, 0, 0, 0, 1) + 254
 fe5e5520 java_start (14cc00, d6700000, 0, 0, fe5e5260, 1) + 2c0
 ff1404f4 _lwp_start (0, 0, 0, 0, 0, 0)

Test log:
http://sqeweb.sfbay.sun.com/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2008-06-01/Main_Baseline/vm/solaris-sparc/server/mixed/vm-solaris-sparc_server_mixed_RT_QUICK2008-06-01-09-35-19/log
Additional information about test run can be found here
http://sqeweb.sfbay.sun.com/nfs/results/vm/gtee/JDK7/NIGHTLY/VM/2008-06-01/Main_Baseline/vm/solaris-sparc/server/mixed/vm-solaris-sparc_server_mixed_RT_QUICK2008-06-01-09-35-19/analysis_new.html

The failure looks very similar to CR 6483694.
The following command is used to run runthese
> ssh nanonano.sfbay
> ksh /net/sqenfs-1.sfbay/export1/comp/vm/testbase/runThese/doit -vm /net/sqenfs-1.sfbay/export1/comp/vm/jdk/7/nightly/fastdebug/main_baseline/solaris-sparc/bin/java -vmopts "" -quick

but the crash is very intermittent so it's not easy to reproduce it.
Some extra data related to the crash such as hs_err, pstack, pmap etc are available here
/net/sqenfs-2.sfbay/export2/results/vm/gtee/JDK7/NIGHTLY/VM/2008-06-01/Main_Baseline/vm/solaris-sparc/server/mixed/vm-solaris-sparc_server_mixed_RT_QUICK2008-06-01-09-35-19

Comments
EVALUATION There should be a test of Matcher::has_match_rule(Op_AryEq) guarding the generation of AryEqNode.
03-06-2008