JDK-4313315 : JVMDI: some JVMDI functions do not verify actual params
  • Type: Bug
  • Component: core-svc
  • Sub-Component: debugger
  • Affected Version: 1.3.0
  • Priority: P4
  • Status: Closed
  • Resolution: Won't Fix
  • OS: generic,windows_nt
  • CPU: generic,x86
  • Submitted: 2000-02-16
  • Updated: 2002-07-22
  • Resolved: 2000-03-02
Related Reports
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Duplicate :  
Description
read_t:0x67aa0, state:CW) prio=5
    "main" (TID:0xfb8981a0, sys_thread_t:0x26350, state:R) prio=5
	at suspthread002.suspthread002SuspendThread(Native Method)
	at suspthread002.tryallsusp(suspthread002.java:60)
	at suspthread002.run(suspthread002.java:29)
	at suspthread002.main(suspthread002.java:23)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@FB898540/FB8CE7A8: <unowned>
	Waiting to be notified:
	    "Finalizer" (0x6daa0)
    java.lang.ref.Reference$Lock@FB898310/FB8CE2B0: <unowned>
	Waiting to be notified:
	    "Reference Handler" (0x63a40)
    java.lang.Object@FB8A0088/FB90AEB8: owner "main" (0x26350) 1 entry
	Waiting to be notified:
	    "Thread-0" (0x125570)
Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "main" (0x26350) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
	Waiting to be notified:
	    "Signal dispatcher" (0x67aa0)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
	Waiting to be notified:
	    <unknown thread> (0x27220)
    Thread queue lock: owner "main" (0x26350) 1 entry
    Monitor registry: owner "main" (0x26350) 1 entry

Setting suspthread002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
../doit12.ksh[52]: 10894 Abort
exit 134

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

Name: icC57033			Date: 02/22/2000


Copied from bug 4308112 which is closed as duplicate of 4313315:

Raw monitor functions RawMonitorNotify(), RawMonitorNotifyAll(), 
RawMonitorWait()
and RawMonitorExit() do not verify their actual arguments. 
Due to this, classsic VM fails tests
  .../jvmdi/RawMonitorNotify/rawmnntfy003
  .../jvmdi/RawMonitorNotifyAll/rawmnntfyall003
  .../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/4308112

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

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

Name: icC57033			Date: 02/22/2000


Copied from bug 4301666 which is closed as duplicate of 4313315:

classic VM 1.3fcs-R (both Solaris and WinNT) fails test
        .../jvmdi/GetMonitorInfo/getmoninfo002
from
        testbase_nsk
Hotspot VM passes the test.

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

Running on HS 1.3fcs-R the test outputs:
1) Solaris
-------------------------- java ---------------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=0
can_watch_field_access=0
can_get_bytecodes=1
can_get_synthetic_attribute=1
can_get_owned_monitor_info=0
can_get_current_contended_monitor=0
can_get_monitor_info=0
######## JVMDI_EVENT_VM_DEATH ########
exit 95
-------------------------- java_g -------------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=0
can_watch_field_access=0
can_get_bytecodes=1
can_get_synthetic_attribute=1
can_get_owned_monitor_info=0
can_get_current_contended_monitor=0
can_get_monitor_info=0
######## JVMDI_EVENT_VM_DEATH ########
exit 95
-------------------------- java -classic ------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=1
can_watch_field_access=1
can_get_bytecodes=1
can_get_synthetic_attribute=0
can_get_owned_monitor_info=1
can_get_current_contended_monitor=1
can_get_monitor_info=1
Wrong results from GetMonitorInfo(NULL, &infoPtr)
        error: JVMDI_ERROR_NONE
######## JVMDI_EVENT_VM_DEATH ########
exit 97

3) WinNT
-------------------------- java ---------------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=0
can_watch_field_access=0
can_get_bytecodes=1
can_get_synthetic_attribute=1
can_get_owned_monitor_info=0
can_get_current_contended_monitor=0
can_get_monitor_info=0
######## JVMDI_EVENT_VM_DEATH ########
exit 95
-------------------------- java_g -------------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=0
can_watch_field_access=0
can_get_bytecodes=1
can_get_synthetic_attribute=1
can_get_owned_monitor_info=0
can_get_current_contended_monitor=0
can_get_monitor_info=0
######## JVMDI_EVENT_VM_DEATH ########
exit 95
-------------------------- java -classic ------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=1
can_watch_field_access=1
can_get_bytecodes=1
can_get_synthetic_attribute=0
can_get_owned_monitor_info=1
can_get_current_contended_monitor=1
can_get_monitor_info=1
Wrong results from GetMonitorInfo(NULL, &infoPtr)
        error: JVMDI_ERROR_NONE
######## JVMDI_EVENT_VM_DEATH ########
exit 97

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

Name: icC57033			Date: 02/22/2000



See also bugs 4308112, 4313321, 4301666, 4301669, 4301697
These bugs are closed as duplicate of 4313315.

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


Name: icC57033			Date: 02/16/2000


The following JVMDI functions do not verify actual parameters:
	DestroyRawMonitor
	GetMonitorInfo
	GetObjectHashCode
	RawMonitorEnter
	RawMonitorNotify
	RawMonitorNotifyAll
	RawMonitorWait
	ResumeThread
	SuspendThread

Due to this, Classic VM 1.3.0rc1-U for win32 and Solaris fails the tests
	.../jvmdi/DestroyRawMonitor/drrawmon003
	.../jvmdi/GetMonitorInfo/getmoninfo002
	.../jvmdi/GetObjectHashCode/gohashcode002
	.../jvmdi/RawMonitorEnter/rawmonenter003
	.../jvmdi/RawMonitorNotify/rawmnntfy002
	.../jvmdi/RawMonitorNotify/rawmnntfy003
	.../jvmdi/RawMonitorNotifyAll/rawmnntfyall002
	.../jvmdi/RawMonitorNotifyAll/rawmnntfyall003
	.../jvmdi/RawMonitorWait/rawmnwait002
	.../jvmdi/RawMonitorWait/rawmnwait003
	.../jvmdi/ResumeThread/resumethrd003
	.../jvmdi/SuspendThread/suspthread002
from
	testbase_nsk

To reproduce the bug run Korn shell scripts
    doit1.ksh <jdk_root_directory>
    doit2.ksh <jdk_root_directory>
    doit3.ksh <jdk_root_directory>
    doit4.ksh <jdk_root_directory>
    doit5.ksh <jdk_root_directory>
    doit6.ksh <jdk_root_directory>
    doit7.ksh <jdk_root_directory>
    doit8.ksh <jdk_root_directory>
    doit9.ksh <jdk_root_directory>
    doit10.ksh <jdk_root_directory>
    doit11.ksh <jdk_root_directory>
    doit12.ksh <jdk_root_directory>
in
    /net/sqesvr/vsn/GammaBase/Bugs/<this bug number>

Running on VM 1.3.0rc1-U for Solaris the scripts output:
java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting drrawmon003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try destroy 10240 raw monitors
Wrong result from DestroyRawMonitor()
	error: JVMDI_ERROR_NONE
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting getmoninfo002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
can_watch_field_modification=1
can_watch_field_access=1
can_get_bytecodes=1
can_get_synthetic_attribute=0
can_get_owned_monitor_info=1
can_get_current_contended_monitor=1
can_get_monitor_info=1
Wrong results from GetMonitorInfo(NULL, &infoPtr)
	error: JVMDI_ERROR_NONE
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting gohashcode002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Wrong results from GetObjectHashCode(NULL, &hashCode)
	error: JVMDI_ERROR_NONE
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting rawmonenter003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try RawMonitorEnter for 10240 raw monitors
Wrong result from RawMonitorEnter()
	error: JVMDI_ERROR_NONE
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting rawmnntfy002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try create 10240 raw monitors
Try RawMonitorNotify for 10240 raw monitors
Wrong results from RawMonitorNotify(NULL)
	error: JVMDI_ERROR_NULL_POINTER
Try destroy 10240 raw monitors
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- 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


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting rawmnntfyall002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try create 10240 raw monitors
Try RawMonitorNotifyAll for 10240 raw monitors
Wrong result from RawMonitorNotifyAll(NULL)
	error: JVMDI_ERROR_NULL_POINTER
Try destroy 10240 raw monitors
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- 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


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
Setting rawmnwait002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
Try create 10240 raw monitors
Try RawMonitorWait(NULL) for 10240 raw monitors
Wrong results from RawMonitorWait(NULL, 100)
	error: JVMDI_ERROR_NULL_POINTER
Try destroy 10240 raw monitors
######## JVMDI_EVENT_VM_DEATH ########
exit 97


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- 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


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
SIGSEGV   11*  segmentation violation
    si_signo [11]: SIGSEGV   11*  segmentation violation
    si_errno [0]: Error 0
    si_code [1]: SEGV_MAPERR [addr: 0x0]

	stackpointer=ffbedb60

Full thread dump Classic VM (1.3.0rc1-U, green threads):
    "Finalizer" (TID:0xfb898528, sys_thread_t:0x6daa0, state:CW) prio=8
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0xfb898300, sys_thread_t:0x63a40, state:CW) prio=10
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:420)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal dispatcher" (TID:0xfb898330, sys_thread_t:0x67aa0, state:CW) prio=5
    "main" (TID:0xfb8981a0, sys_thread_t:0x26350, state:R) prio=5
	at resumethrd003.resumethrd003ResumeThread(Native Method)
	at resumethrd003.tryallsusp(resumethrd003.java:70)
	at resumethrd003.run(resumethrd003.java:30)
	at resumethrd003.main(resumethrd003.java:24)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@FB898540/FB8CE7A8: <unowned>
	Waiting to be notified:
	    "Finalizer" (0x6daa0)
    java.lang.ref.Reference$Lock@FB898310/FB8CE2B0: <unowned>
	Waiting to be notified:
	    "Reference Handler" (0x63a40)
Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "main" (0x26350) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
	Waiting to be notified:
	    "Signal dispatcher" (0x67aa0)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
	Waiting to be notified:
	    <unknown thread> (0x27220)
    Thread queue lock: owner "main" (0x26350) 2 entries
    Monitor registry: owner "main" (0x26350) 1 entry

SIGABRT   6*   abort (generated by abort(3) routine)
    si_signo [6]: SIGABRT   6*   abort (generated by abort(3) routine)
    si_errno [0]: Error 0
    si_code [0]: SI_USER [pid: 10842, uid: 1174]
	stackpointer=ffbedb60

Full thread dump Classic VM (1.3.0rc1-U, green threads):
    "Finalizer" (TID:0xfb898528, sys_thread_t:0x6daa0, state:CW) prio=8
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0xfb898300, sys_thread_t:0x63a40, state:CW) prio=10
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:420)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal dispatcher" (TID:0xfb898330, sys_thread_t:0x67aa0, state:CW) prio=5
    "main" (TID:0xfb8981a0, sys_thread_t:0x26350, state:R) prio=5
	at resumethrd003.resumethrd003ResumeThread(Native Method)
	at resumethrd003.tryallsusp(resumethrd003.java:70)
	at resumethrd003.run(resumethrd003.java:30)
	at resumethrd003.main(resumethrd003.java:24)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@FB898540/FB8CE7A8: <unowned>
	Waiting to be notified:
	    "Finalizer" (0x6daa0)
    java.lang.ref.Reference$Lock@FB898310/FB8CE2B0: <unowned>
	Waiting to be notified:
	    "Reference Handler" (0x63a40)
Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "main" (0x26350) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
	Waiting to be notified:
	    "Signal dispatcher" (0x67aa0)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
	Waiting to be notified:
	    <unknown thread> (0x27220)
    Thread queue lock: owner "main" (0x26350) 2 entries
    Monitor registry: owner "main" (0x26350) 1 entry

Setting resumethrd003_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
../doit11.ksh[52]: 10842 Abort
exit 134


java version "1.3.0rc1"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.0rc1-U)
Java HotSpot(TM) Client VM (build 1.3.0rc1-T, interpreted mode)
-------------------------- java -classic ------------------------
SIGSEGV   11*  segmentation violation
    si_signo [11]: SIGSEGV   11*  segmentation violation
    si_errno [0]: Error 0
    si_code [1]: SEGV_MAPERR [addr: 0x0]

	stackpointer=ffbedca4

Full thread dump Classic VM (1.3.0rc1-U, green threads):
    "Thread-0" (TID:0xfb8a0080, sys_thread_t:0x125570, state:S) prio=5
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:420)
	at suspthread002a.run(suspthread002.java:86)
    "Finalizer" (TID:0xfb898528, sys_thread_t:0x6daa0, state:CW) prio=8
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0xfb898300, sys_thread_t:0x63a40, state:CW) prio=10
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:420)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal dispatcher" (TID:0xfb898330, sys_thread_t:0x67aa0, state:CW) prio=5
    "main" (TID:0xfb8981a0, sys_thread_t:0x26350, state:R) prio=5
	at suspthread002.suspthread002SuspendThread(Native Method)
	at suspthread002.tryallsusp(suspthread002.java:60)
	at suspthread002.run(suspthread002.java:29)
	at suspthread002.main(suspthread002.java:23)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@FB898540/FB8CE7A8: <unowned>
	Waiting to be notified:
	    "Finalizer" (0x6daa0)
    java.lang.ref.Reference$Lock@FB898310/FB8CE2B0: <unowned>
	Waiting to be notified:
	    "Reference Handler" (0x63a40)
    java.lang.Object@FB8A0088/FB90AEB8: owner "main" (0x26350) 1 entry
	Waiting to be notified:
	    "Thread-0" (0x125570)
Registered Monitor Dump:
    utf8 hash table: <unowned>
    JNI pinning lock: <unowned>
    JNI global reference lock: <unowned>
    BinClass lock: <unowned>
    Class linking lock: <unowned>
    System class loader lock: <unowned>
    Code rewrite lock: <unowned>
    Heap lock: <unowned>
    Monitor cache lock: owner "main" (0x26350) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
	Waiting to be notified:
	    "Signal dispatcher" (0x67aa0)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
	Waiting to be notified:
	    <unknown thread> (0x27220)
    Thread queue lock: owner "main" (0x26350) 1 entry
    Monitor registry: owner "main" (0x26350) 1 entry

SIGABRT   6*   abort (generated by abort(3) routine)
    si_signo [6]: SIGABRT   6*   abort (generated by abort(3) routine)
    si_errno [0]: Error 0
    si_code [0]: SI_USER [pid: 10894, uid: 1174]
	stackpointer=ffbedca4

Full thread dump Classic VM (1.3.0rc1-U, green threads):
    "Thread-0" (TID:0xfb8a0080, sys_thread_t:0x125570, state:S) prio=5
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:420)
	at suspthread002a.run(suspthread002.java:86)
    "Finalizer" (TID:0xfb898528, sys_thread_t:0x6daa0, state:CW) prio=8
	at java.lang.Object.wait(Native Method)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:108)
	at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:123)
	at java.lang.ref.Finalizer$FinalizerThread.run(Finalizer.java:162)
    "Reference Handler" (TID:0xfb898300, sys_thread_t:0x63a40, state:CW) prio=10
	at java.lang.Object.wait(Native Method)
	at java.lang.Object.wait(Object.java:420)
	at java.lang.ref.Reference$ReferenceHandler.run(Reference.java:110)
    "Signal dispatcher" (TID:0xfb898330, sys_th

Comments
EVALUATION Due to the upcoming retirement of the classic VM, this bug is being closed. If the same bug is known to be present in the hotspot VM JVMDI implementation, a separate bug should already exist in the hotspot/jvmdi subcategory. gordon.hirsch@eng 2000-03-01
01-03-2000