JDK-5015564 : share/vm/oops/methodDataOop.cpp, 547 -- Error: ShouldNotReachHere
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2004-03-18
  • Updated: 2004-05-06
  • Resolved: 2004-04-13
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.
Other
5.0 b45Fixed
Related Reports
Duplicate :  
Relates :  
Description
###@###.### 2004-03-17

The following tests are failure in Serviceability Nightly
starting from 03/16/2004:
  nsk/jvmti/PopFrame/popframe003
  nsk/jvmti/PopFrame/popframe005


The failure is reproducible on Linux IA32, Solaris SPARC, Solaris SPARC-64,
and Solaris X86 Server fastdebug VMs.

Please, see also in attachment:
  hs_err_pid1265.log.hs_err  - hs_err log
  core.pstk                  - pstack core dump
  popframe003.tar            - test working directory with the *.tlog file

#!/usr/bin/sh

LD_LIBRARY_PATH=/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/lib/sparc/nsk/jvmti/PopFrame:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/JVMTI_QUICKLOOK/testbase/src/nsk/share/lib/sparc:/net/vmsqe.sfbay/export/nightly/mantis/JDK/service_hs_baseline/jdk1.5/solaris-sparc/jre/lib/sparc/server
RAS_OPTIONS=
SHELL=/usr/bin/sh
DISPLAY=vmsqe.sfbay:0.0
CLASSPATH=/var/tmp/Work/exec/JVMTI_QUICKLOOK-NIGHTLY-Serv_Baseline-ServerVM-comp-Solsparc-2004-03-16-04-29-08/run2/fhsu.Solaris.sparc/popframe003:/net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/JVMTI_QUICKLOOK/testbase/bin/classes:/net/vmsqe.sfbay/export/nightly/mantis/JDK/service_hs_baseline/jdk1.5/solaris-sparc/lib/tools.jar
PATH=/net/vmsqe.sfbay/export/nightly/mantis/JDK/service_hs_baseline/jdk1.5/solaris-sparc/bin:/bin:/usr/bin:/bin:/usr/bin/cut:/usr/bin/echo
HOME=/var/tmp

while [ $# -gt 0 ];
do
  if [ $1 = "-jdk" ]; then
	shift 1
	PATH=${1}/bin:${PATH}
	shift 1
  else
	if [ $1 = "-d" ]; then
	  shift 1
	  if [ $# -gt 0  ]; then
		DISPLAY=$1
		shift 1
	  else
		DISPLAY=:0.0
	  fi
	fi
  fi
done

export LD_LIBRARY_PATH
export RAS_OPTIONS
export SHELL
export DISPLAY
export CLASSPATH
export PATH
export HOME

#annotate TEST javaopt=/net/vmsqe.sfbay/export/nightly/mantis/JDK/service_hs_baseline/jdk1.5/solaris-sparc/bin/java -server -Xcomp -XX:-PrintVMOptions -XX:CompileOnly=nsk -agentlib:popframe003
/usr/bin/perl /net/vmsqe.sfbay/export/backup/UNIFIED-DTF/DTWS/suites/JVMTI_QUICKLOOK/testbase/src/nsk/share/jvmti/run_jvmti.pl /net/vmsqe.sfbay/export/nightly/mantis/JDK/service_hs_baseline/jdk1.5/solaris-sparc/bin/java -server -Xcomp -XX:-PrintVMOptions -XX:CompileOnly=nsk -DHANGINGJAVA6618 -agentlib:popframe003 nsk.jvmti.PopFrame.popframe003
##Exit status of execution step=6
##Core file exists
##!checkExitCode

#FAILED verify : actual mdp f31780c8   expected mdp f31780b0 @ bci 26
#  actual di 56   expected di 32
## To suppress the following error report, specify this argument
## after -XX: or in .hotspotrc:  SuppressErrorAt=/methodDataOop.cpp:547]
##
## An unexpected error has been detected by HotSpot Virtual Machine:
##
##  Internal Error (/net/prt-solsparc-q1-10/tmp/PrtBuildDir2/workspace/src/share/vm/oops/methodDataOop.cpp, 547 [ Patched ]), pid=11723, tid=13
##
## Java VM: Java HotSpot(TM) Server VM (20040315084135.ab23780.service_hs_baseline-debug compiled mode)
##
## Error: ShouldNotReachHere()
## An error report file with more information is saved as hs_err_pid11723.log
##
## If you would like to submit a bug report, please visit:
##   http://java.sun.com/webapps/bugreport/crash.jsp
##
#Current thread is 13
#Dumping core ...


I made a search through PRT builds and found the putback responsible for the failure:
     20040217135414.nips.main_to_c2_baseline

There are 2 steps of the search in the log below:

=========================
(1) Search in the PRT main/baseline (Solaris-x86 machine: perf-v5.sfbay)

ss45998@perf-v5 yy prt_find1 baseline c2 nsk2 'ShouldNotReachHere' fastdebug

yy prt_find1 baseline c2 nsk2 ShouldNotReachHere fastdebug	[BEG: Wed Mar 17 20:50:59 PST 2004]
item 56: 20031204062243.nips.c2_baseline_to_main_baseline
    passed: 20031204062243.nips.c2_baseline_to_main_baseline
item 28: 20040204193314.jmasa.gc_baseline_merge
    passed: 20040204193314.jmasa.gc_baseline_merge
item 14: 20040224145208.ovrskeek.main_baseline
    passed: 20040224145208.ovrskeek.main_baseline
item 7: 20040304053429.nips.c2_baseline_to_main_baseline
## Error: ShouldNotReachHere()
    FAILED: 20040304053429.nips.c2_baseline_to_main_baseline
item 10: 20040303095423.dcubed.service_hs_merge
    passed: 20040303095423.dcubed.service_hs_merge
item 8: 20040304000253.dcubed.tiger_4895747
    passed: 20040304000253.dcubed.tiger_4895747

Putback responsible for the failure: 20040304053429.nips.c2_baseline_to_main_baseline
yy prt_find1 baseline c2 nsk2 ShouldNotReachHere fastdebug	[END: Wed Mar 17 21:00:30 PST 2004]

So, the regression came from the merge with main/baseline: 20040304112129.dcubed.service_hs_merge

=========================
(2) Search in the PRT c2_baseline (Solaris-x86 machine: perf-v5.sfbay)

ss45998@perf-v5 yy prt_find1 c2_baseline c2 nsk2 ShouldNotReachHere fastdebug

yy prt_find1 c2_baseline c2 nsk2 ShouldNotReachHere fastdebug	[BEG: Wed Mar 17 21:01:35 PST 2004]
item 39: 20031219101509.nips.c2_baseline
    passed: 20031219101509.nips.c2_baseline
item 19: 20040209080902.nips.main_to_c2_baseline
    passed: 20040209080902.nips.main_to_c2_baseline
item 9: 20040303082644.rasbold.c2_baseline
## Error: ShouldNotReachHere()
    FAILED: 20040303082644.rasbold.c2_baseline
item 14: 20040217135414.nips.main_to_c2_baseline
    passed: 20040217135414.nips.main_to_c2_baseline
item 11: 20040302070650.rasbold.c2_baseline
    passed: 20040302070650.rasbold.c2_baseline
item 10: 20040302154502.jrose.tiger
## Error: ShouldNotReachHere()
    FAILED: 20040302154502.jrose.tiger

Putback responsible for the failure: 20040302154502.jrose.tiger
yy prt_find1 c2_baseline c2 nsk2 ShouldNotReachHere fastdebug	[END: Wed Mar 17 21:11:22 PST 2004]

So, the regression came from the putback: 20040302154502.jrose.tiger

=========================


To reproduce the failure:

/net/jano.sfbay/export/disk20/serviceability/bin/runnsk.sh -server -Xcomp -jdk $your_sdk_bld -o $your_out_dir nsk/jvmti/PopFrame/popframe003
/net/jano.sfbay/export/disk20/serviceability/bin/runnsk.sh -server -Xcomp -jdk $your_sdk_bld -o $your_out_dir nsk/jvmti/PopFrame/popframe005



Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta2 FIXED IN: tiger-beta2 INTEGRATED IN: tiger-b45 tiger-beta2 VERIFIED IN: tiger-beta2
14-06-2004

EVALUATION ###@###.### 2004-03-18 May be due to John's changes in MethodDataOop done for 4292742. ###@###.### 2004-03-22 John's putback exposes the bug in runtime. As in the bug 5015535 the problem is related to PopFrame. In this case when we return into interpreted method after PopFrame the method data pointer is incremented already during call profiling. We need to restore it for the current bcp which will be reexecutd.
11-06-2004

SUGGESTED FIX ###@###.### 2004-03-22 Restore mdp for current bcp when returning into interpreted method after PopFrame. http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/export2/archived_workspaces/main/c2_baseline/2004/20040324123956.kvn.4895131/workspace/webrevs/webrev-2004.03.24/index.html
11-06-2004