JDK-4308112 : JVMDI: Some raw monitor functions return wrong result
  • 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-19
  • Resolved: 2000-02-19
Related Reports
Duplicate :  
Description

Name: icC57033			Date: 01/28/2000


Raw monitor functions RawMonitorNotify(), RawMonitorNotifyAll(), 
RawMonitorWait()
and RawMonitorExit() do not verify their actual arguments. 
Due to this, classsic VM fails tests
  nsk/jvmdi/RawMonitorNotify/rawmnntfy003
  nsk/jvmdi/RawMonitorNotifyAll/rawmnntfyall003
  nsk/jvmdi/RawMonitorWait/rawmnwait003
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:
################################ doit1.ksh #######################
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

rawmnntfy003.c
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/DEFAULTLIB:ws2_32.lib
/dll
/implib:rawmnntfy003.lib
/out:rawmnntfy003.dll
rawmnntfy003.obj
   Creating library rawmnntfy003.lib and object rawmnntfy003.exp
java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-S)
Java HotSpot(TM) Client VM (build 1.3.0rc1-S, mixed mode)
-------------------------- java ---------------------------------
Setting rawmnntfy003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorNotify for 10240 raw monitors
Wrong results from RawMonitorNotify(rawmnntfy003_bad)
        error: JVMDI_ERROR_INTERNAL
######## JVMDI_EVENT_VM_DEATH ########
exit 97
-------------------------- java_g -------------------------------
Setting rawmnntfy003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorNotify for 10240 raw monitors
#
# HotSpot Virtual Machine Error, assertion failure
#
# assert(raw_result == ObjectMonitor::OM_OK, "raw_result == OM_OK")
#
# Error ID: C:/hotspot1.3\src\share\vm\prims\jvmdi.cpp, 2219
#
exit 1
-------------------------- java -classic ------------------------
Setting rawmnntfy003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorNotify for 10240 raw monitors
Wrong results from RawMonitorNotify(rawmnntfy003_bad)
        error: JVMDI_ERROR_NOT_MONITOR_OWNER
######## JVMDI_EVENT_VM_DEATH ########
exit 97

################################ doit2.ksh #######################
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

rawmnntfyall003.c
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/DEFAULTLIB:ws2_32.lib
/dll
/implib:rawmnntfyall003.lib
/out:rawmnntfyall003.dll
rawmnntfyall003.obj
   Creating library rawmnntfyall003.lib and object rawmnntfyall003.exp
java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-S)
Java HotSpot(TM) Client VM (build 1.3.0rc1-S, mixed mode)
-------------------------- java ---------------------------------
Setting rawmnntfyall003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorNotifyAll for 10240 raw monitors
Wrong result from RawMonitorNotifyAll(rawmnntfyall003_bad)
        error: JVMDI_ERROR_INTERNAL
######## JVMDI_EVENT_VM_DEATH ########
exit 97
-------------------------- java_g -------------------------------
Setting rawmnntfyall003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorNotifyAll for 10240 raw monitors
#
# HotSpot Virtual Machine Error, assertion failure
#
# assert(raw_result == ObjectMonitor::OM_OK, "raw_result == OM_OK")
#
# Error ID: C:/hotspot1.3\src\share\vm\prims\jvmdi.cpp, 2219
#
exit 1
-------------------------- java -classic ------------------------
Setting rawmnntfyall003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorNotifyAll for 10240 raw monitors
Wrong result from RawMonitorNotifyAll(rawmnntfyall003_bad)
        error: JVMDI_ERROR_NOT_MONITOR_OWNER
######## JVMDI_EVENT_VM_DEATH ########
exit 97

################################ doit3.ksh #######################
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

rawmnwait003.c
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/DEFAULTLIB:ws2_32.lib
/dll
/implib:rawmnwait003.lib
/out:rawmnwait003.dll
rawmnwait003.obj
   Creating library rawmnwait003.lib and object rawmnwait003.exp
java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-S)
Java HotSpot(TM) Client VM (build 1.3.0rc1-S, mixed mode)
-------------------------- java ---------------------------------
Setting rawmnwait003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorWait(NULL) for 10240 raw monitors
Wrong results from RawMonitorWait(rawmnwait003_bad, 100)
        error: JVMDI_ERROR_INTERNAL
######## JVMDI_EVENT_VM_DEATH ########
exit 97
-------------------------- java_g -------------------------------
Setting rawmnwait003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorWait(NULL) for 10240 raw monitors
#
# HotSpot Virtual Machine Error, assertion failure
#
# assert(raw_result == ObjectMonitor::OM_OK, "raw_result == OM_OK")
#
# Error ID: C:/hotspot1.3\src\share\vm\prims\jvmdi.cpp, 2219
#
exit 1
-------------------------- java -classic ------------------------
Setting rawmnwait003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorWait(NULL) for 10240 raw monitors
Wrong results from RawMonitorWait(rawmnwait003_bad, 100)
        error: JVMDI_ERROR_NOT_MONITOR_OWNER
######## JVMDI_EVENT_VM_DEATH ########
exit 97

################################ doit4.ksh #######################
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8168 for 80x86
Copyright (C) Microsoft Corp 1984-1998. All rights reserved.

rawmonexit003.c
Microsoft (R) Incremental Linker Version 6.00.8168
Copyright (C) Microsoft Corp 1992-1998. All rights reserved.

/DEFAULTLIB:ws2_32.lib
/dll
/implib:rawmonexit003.lib
/out:rawmonexit003.dll
rawmonexit003.obj
   Creating library rawmonexit003.lib and object rawmonexit003.exp
java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-S)
Java HotSpot(TM) Client VM (build 1.3.0rc1-S, mixed mode)
-------------------------- java ---------------------------------
Setting rawmonexit003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorExit for 10240 raw monitors
######## JVMDI_EVENT_VM_DEATH ########
exit 95
-------------------------- java_g -------------------------------
Setting rawmonexit003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorExit for 10240 raw monitors
#
# HotSpot Virtual Machine Error, assertion failure
#
# assert(raw_result == ObjectMonitor::OM_OK, "raw_result == OM_OK")
#
# Error ID: C:/hotspot1.3\src\share\vm\prims\jvmdi.cpp, 2219
#
exit 1
-------------------------- java -classic ------------------------
Setting rawmonexit003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorExit for 10240 raw monitors
######## JVMDI_EVENT_VM_DEATH ########
exit 95

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