JDK-4308120 : JVMDI: SetBreakpoint() does not verify args
  • Type: Bug
  • Component: core-svc
  • Sub-Component: debugger
  • Affected Version: 1.3.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: windows_nt
  • CPU: x86
  • Submitted: 2000-01-28
  • Updated: 2000-02-23
  • Resolved: 2000-02-23
Related Reports
Duplicate :  
Description

Name: icC57033			Date: 01/28/2000


HotSpot VM 1.3.0rc1-S fails test
  nsk/jvmdi/SetBreakpoint/setbrk005
from
  testbase_nsk

To reproduce the bug run Korn shell script
  doit.ksh <jdk_root_directory>
in
  /net/sqesvr/vsn/GammaBase/Bugs/<this bug number>

Running on HS 1.3.0rc1-S the script outputs:
-------------------------- java ---------------------------------
Setting setbrk005_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
class               : setbrk005a
method              : 
trial2(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
startLocation       : 0
endLocation         : 1
breakpoint: 
setbrk005a.trial2(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I, 
location: 0
java.lang.OutOfMemoryError
breakpoint: setbrk005.run([Ljava/lang/String;Ljava/io/PrintStream;)I, location: 
0
#
# HotSpot Virtual Machine Error, EXCEPTION_ACCESS_VIOLATION
#
# Error ID: 4F533F57494E13120E43505002BE
#

abnormal program termination
exit 3
-------------------------- java_g -------------------------------
Setting setbrk005_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
class               : setbrk005a
method              : 
trial2(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
startLocation       : 0
endLocation         : 1
breakpoint: 
setbrk005a.trial2(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I, 
location: 0
java.lang.OutOfMemoryError
breakpoint: setbrk005.run([Ljava/lang/String;Ljava/io/PrintStream;)I, location: 
0
#
# HotSpot Virtual Machine Error, EXCEPTION_ACCESS_VIOLATION
#
# unexpected exception occurred
#
# Error ID: C:/hotspot1.3\src\os\win32\vm\os_win32.cpp, 702
#
exit 1
-------------------------- java -classic ------------------------
Setting setbrk005_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
[1] + Done(139) ?
  747   Segmentation violation  s:/ld24/java/hotspot/jdk1.3.0/win32/bin/java
exit 139

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

Comments
EVALUATION If you have a valid jclass, the class cannot have been unloaded. It looks like this test case has a bug when setbrk005SetBreakpoint is called with fc == 1. The clazz1 variable is uninitialized. gordon.hirsch@eng 2000-02-18 Name: icC57033 Date: 02/23/2000 Hi Gordon, I am not sure I can completely agree with your evaluation. Yes, there is a bug in the test, but according to JVMDI spec, SetBreakpoint() function must return JVMDI_ERROR_INVALID_METHODID or JVMDI_ERROR_INVALID_CLASS error code if clazz or method args are invalid. Therefore, I believe, testcase setbrk005 shows bug in SetBreakpoint(). I have changed #4308120 as closed because duplicate of 4313315. Thanks, ###@###.### ====================================================================== THe spec does not say "must". There is no way to efficiently check for all invalid references. The same is true of JNI. Unfortunately, I am not permitted to reopen this bug, but it should be closed as "not a bug" instead of duplicate. gordon.hirsch@eng 2000-02-23
23-02-2000