JDK-4627997 : JDI testcase crexreq001 failing with -client -Xcomp only, all platforms
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.4.0,1.4.2,5.0
  • Priority: P4
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2002-01-24
  • Updated: 2012-10-01
  • Resolved: 2005-11-02
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
6 b59Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Relates :  
Description
Testcase :
nsk/jdi/ExceptionEvent/_itself_/exevent001
Location on old NSK testbase:
nsk/jdi/EventRequestManager/createExceptionRequest/crexreq001

Failing on all platforms. 
LOG:

/net/alpheridies.sfbay/export/VM/merlin/merlin-nightly/DTF-workspace/exec1/NIGHTLY-Serv_Baseline-ClientVM-JDI_FULLLOOK-comp-Solsparc-starwars-2002-01-23-PM-20-36-38-0665/jdk/solsparc/bin/java -client -Xcomp nsk.jdi.EventRequestManager.createExceptionRequest.crexreq001 -arch=sparc -waittime=2 -debugee.vmkind=java "-debugee.vmkeys=-client -client -Xcomp"
##Exit status of execution step=97
##!checkExitCode

## ERROR: TEST FAILED: caught exception java.lang.IllegalMonitorStateException was not reported by the debugger



Name: egR10015			Date: 01/24/2002


Eugene Gorbachev <###@###.###>

In accordance with rfe 4615225 the test has been renamed and moved
to another location as follows:

nsk/jdi/ExceptionEvent/_itself_/exevent001

since testbase_nsk.v14r11, testbase_nsk.v131r11
======================================================================

Name: dkR10014			Date: 01/29/2002



The test fails only when debuggee class (crexreq001t class) is running
on Client VM in -Xcomp mode. The test passes in other modes including when 
debuggee is running on Server VM in -Xcomp mode.
The failure is observed on Solaris sparc 5.7, Solaris x86 5.8, 
Linux RedHat 6.2, Windows NT 4.0.

The test checks that results of the method
 com.sun.jdi.EventRequestManager.createExceptionRequest(ReferenceType refType,
                                               boolean notifyCaught,
                                               boolean notifyUncaught)
complies with its spec.

The debugger class (crexreq001 class) creates ExceptionRequest filtered 
to caught exception events and then listens for ExceptionEvents.
The debuggee throws and catches three types of exceptions:
     - own crexreq001tException;
     - IllegalMonitorStateException;
     - NumberFormatException in another class.

Below is part of test log demonstrating the failure:
#Creating ExceptionEvent request that reports cought events
#EventListener: following ExceptionEvent occured: 
#	###@###.###req001t:22 
in thread main
#>> Exception event equals to expected 
nsk.jdi.EventRequestManager.createExceptionRequest.crexreq001tException
#EventListener: following ExceptionEvent occured: 
#	###@###.###ger:426 in thread main
#>> Exception event equals to expected java.lang.NumberFormatException
## ERROR: TEST FAILED: caught exception java.lang.IllegalMonitorStateException was not 
reported by the debugger
#EventListener: following JDI event occured: 
#	VMDeathEvent
#Debuggee's process finished with status: 95
#EventListener: exiting
#

To reproduce bug run script in 
 /net/sqesvr.sfbay/export/vsn/GammaBase/Bugs/4627997 directory:

  sh doit.sh <JAVA_HOME> -client -Xcomp

 where "-client -Xcomp" are optional parameters for debuggee VM mode.
 
======================================================================
This bug also affects the following NSK test:

    nsk/jvmti/scenarios/multienv/MA08/ma08t001

Comments
EVALUATION This was a race between the deopt and notification. If we perform notification during exception dispatch and then deopt we get double notification. The fix is to behave like C2 and deoptimize to perform the notification.
06-09-2005

EVALUATION Name: dkR10014 Date: 01/29/2002 I believe that test case is correct, so I re-assign this bug to java/debugger category. ====================================================================== Assigning to client compiler, can't see that this is any kind of JDI issue when it passes with all other options. Priority 4 might not be right, but it should be looked at. -kto ###@###.### 2003-09-15 This is caused by the lack of code in C1's compiled native wrapper for the notification of exceptions thrown by native code. Either native wrappers need to call out to jvmti or we should disable compiling native wrappers if jvmti is on. Note that this has been broken since FullSpeedJVMDI support was implemented. ###@###.### 2003-09-17
17-09-2003