JDK-4313321 : JVMDI: ResumeThread() for non-thread object causes java crash
  • Type: Bug
  • Component: core-svc
  • Sub-Component: debugger
  • Affected Version: 1.3.0
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2000-02-17
  • Updated: 2000-02-19
  • Resolved: 2000-02-19
Related Reports
Duplicate :  
Description

Name: icC57033			Date: 02/16/2000


The Classic VM 1.3.0rc1-U for win32 and Solaris fails the test
	nsk/jvmdi/ResumeThread/resumethrd002
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>

The script produces the 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 ---------------------------------
Setting resumethrd002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
#
# HotSpot Virtual Machine Error, Unexpected Signal 11
#
# Error ID: 4F533F534F4C415249530E43505007B2 01
#
exit 1
-------------------------- java_g -------------------------------
Setting resumethrd002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
#
# HotSpot Virtual Machine Error, Unexpected Signal 11
#
# occurred at pc=fe393b4c
#
# Error ID: 
/usr/re/hotsparc_client1.3/ws/solsparc/hotsparc_client1.3fcs/build/solaris/../..
/src/os/solaris/vm/os_solaris.cpp, 1970 [ Patched ]
#
Dumping core....
../doit.ksh[48]: 10985 Abort
exit 134
-------------------------- java -classic ------------------------
Setting resumethrd002_EventHook as event hook.
######## JVMDI_EVENT_VM_INIT ########
SIGSEGV   11*  segmentation violation
    si_signo [11]: SIGSEGV   11*  segmentation violation
    si_errno [0]: Error 0
    si_code [1]: SEGV_MAPERR [addr: 0x4]

        stackpointer=ffbedac8

Full thread dump Classic VM (1.3.0rc1-U, green threads):
    "Finalizer" (TID:0xfb898528, sys_thread_t:0x6c730, 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:0x626d0, 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:0x66730, state:CW) prio=5
    "main" (TID:0xfb8981a0, sys_thread_t:0x26380, state:R) prio=5
        at resumethrd002.resumethrd002ResumeThread(Native Method)
        at resumethrd002.tryallsusp(resumethrd002.java:70)
        at resumethrd002.run(resumethrd002.java:30)
        at resumethrd002.main(resumethrd002.java:24)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@FB898540/FB8CE7A8: <unowned>
        Waiting to be notified:
            "Finalizer" (0x6c730)
    java.lang.ref.Reference$Lock@FB898310/FB8CE2B0: <unowned>
        Waiting to be notified:
            "Reference Handler" (0x626d0)
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" (0x26380) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
        Waiting to be notified:
            "Signal dispatcher" (0x66730)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
        Waiting to be notified:
            <unknown thread> (0x27250)
    Thread queue lock: owner "main" (0x26380) 2 entries
    Monitor registry: owner "main" (0x26380) 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: 10995, uid: 1174]
        stackpointer=ffbedac8

Full thread dump Classic VM (1.3.0rc1-U, green threads):
    "Finalizer" (TID:0xfb898528, sys_thread_t:0x6c730, 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:0x626d0, 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:0x66730, state:CW) prio=5
    "main" (TID:0xfb8981a0, sys_thread_t:0x26380, state:R) prio=5
        at resumethrd002.resumethrd002ResumeThread(Native Method)
        at resumethrd002.tryallsusp(resumethrd002.java:70)
        at resumethrd002.run(resumethrd002.java:30)
        at resumethrd002.main(resumethrd002.java:24)
Monitor Cache Dump:
    java.lang.ref.ReferenceQueue$Lock@FB898540/FB8CE7A8: <unowned>
        Waiting to be notified:
            "Finalizer" (0x6c730)
    java.lang.ref.Reference$Lock@FB898310/FB8CE2B0: <unowned>
        Waiting to be notified:
            "Reference Handler" (0x626d0)
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" (0x26380) 1 entry
    Dynamic loading lock: <unowned>
    Monitor IO lock: <unowned>
    User signal monitor: <unowned>
        Waiting to be notified:
            "Signal dispatcher" (0x66730)
    Child death monitor: <unowned>
    I/O monitor: <unowned>
    Alarm monitor: <unowned>
        Waiting to be notified:
            <unknown thread> (0x27250)
    Thread queue lock: owner "main" (0x26380) 2 entries
    Monitor registry: owner "main" (0x26380) 1 entry

../doit.ksh[52]: 10995 Abort
exit 134

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