Hi Serguei,
I've done some debug, and there seems to be some difference in behaviour 
with Hotspot with regards the report VM_INIT command, i'm not sure I quite 
understand why... so i'm consulting with a colleague to get some help. 
I'll update the bug when I have some more information.
Thanks
Andrew

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
Phone internal: 245913, external: 01962 815913
internet email: andrew_m_leon...@uk.ibm.com 




From:   "serguei.spit...@oracle.com" <serguei.spit...@oracle.com>
To:     Andrew Leonard <andrew_m_leon...@uk.ibm.com>
Cc:     serviceability-dev@openjdk.java.net
Date:   24/04/2018 01:47
Subject:        Re: RFR: 8201409: JDWP debugger initialization hangs 
intermittently



The most relevant stack traces from Solaris pstack dump are:

  12 -----------------  lwp# 2 / thread# 2  --------------------
  13  ffffffff7eae9b3c lwp_cond_wait (100123448, 100123430, 0, 0)
  14  fffffffd12331a94 void os::PlatformEvent::park() (100123400, e6c40, 
e6c00, 0, fffffffd12adbf00, 100123430) + c4
  15  fffffffd122c6038 int Monitor::IWait(Thread*,long) (100122f30, 
100122000, 0, fffffffd12b4dba8, 0, 100122f50) + 98
  16  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (100122f30, 1, 
0, 0, ffff2155, 100122000) + 7c
  17  fffffffd125464e8 int JavaThread::java_suspend_self() (100122000, 1, 
40000000, 1001220b8, 100122f30, 100122f30) + a8
  18  fffffffd120c84a4 int JvmtiRawMonitor::raw_wait(long,bool,Thread*) 
(10079e3b0, 10079e430, 1, 100122000, 94400, fffffffd12b70600) + 254
  19  fffffffd120942ec jvmtiError 
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*,long) (4, 10079e3b0, 
ffffffffffffffff, 100122000, 0, fffffffd12adbf00) + 5c
  20  fffffffd0f8385bc debugMonitorWait (fffffffd0f946268, c10, c00, 
fffffffd0f945580, fffffffd0f945580, 0) + 3c
  21  fffffffd0f825140 enqueueCommand (1007a0a20, ffffffffffefc418, 
103800, ffffffffffefc3e8, 0, fffffffd0f945580) + 140
  22  fffffffd0f826e58 eventHelper_reportEvents (0, 10079a000, 0, 
1007a0a20, 1, 1) + 108
  23  fffffffd0f81b4c0 initialize (1001222e0, c00, 4, fffffffd0f83edc0, 
fffffffd0f9460d0, fffffffd0f945580) + 540
  24  fffffffd0f81a77c cbEarlyException (fffffffd0f946190, 1001222e0, 
1005953a0, fffffffd0f83eaa0, fffffffd0f946268, 1005953a8) + 21c
  25  fffffffd120af6a4 void 
JvmtiExport::post_exception_throw(JavaThread*,Method*,unsigned 
char*,oopDesc*) (100122000, fffffffd12b78f38, 100764b40, 62cb91b50, 
100122d48, fffffffd12b7a618) + 15b4
  26  fffffffd11c27484 unsigned 
char*InterpreterRuntime::exception_handler_for_exception(JavaThread*,oopDesc*) 
(0, ffffffff4a0014e0, 100122000, ffffffff4a001470, 100122d40, 
fffffffd12adbf00) + 704
  27  ffffffff6100eac0 * JITDebug.debugTarget()V+29
  28  ffffffff61009ecc * JITDebug.parseArgs([Ljava/lang/String;)Z+50
  29  ffffffff610084ac * JITDebug.main([Ljava/lang/String;)V+8
  30  ffffffff610003c0 ???????? (ffffffff7d0ffc20, ffffffff7d0ffe30, a, 
ffffffff4a000f18, ffffffff6100ff40, ffffffff7d0ffd78) + fff8006cc46de0b0
  31  fffffffd11c43134 void JavaCalls::call_helper(JavaValue*,const 
methodHandle&,JavaCallArguments*,Thread*) (ffffffff7d0ffe28, 
ffffffff4a000f18, ffffffff7d0ffd68, ffffffff7d0ffde8, e, ffffffff61000340) 
+ 2e4
  32  fffffffd11cfd95c jni_CallStaticVoidMethod (1001222e0, 1400, 1c, 
ffffffff7d0ffde8, 100122000, 153d) + 5bc
  33  fffffffd12c0603c JavaMain (ac8, 100123780, 100123798, 1, 
fffffffd12b605f0, fffffffd11cfd3a0) + 81c
  34  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)

 216 -----------------  lwp# 18 / thread# 18  --------------------
 217  ffffffff7eae9b3c lwp_cond_wait (10078cd48, 10078cd30, 0, 0)
 218  fffffffd12331a94 void os::PlatformEvent::park() (10078cd00, e6c40, 
e6c00, 0, fffffffd12adbf00, 10078cd30) + c4
 219  fffffffd120c7b00 int JvmtiRawMonitor::SimpleWait(Thread*,long) 
(10078a470, 10079c000, ffffffffffffffff, fffffffd120c50e0, 1, 0) + 100
 220  fffffffd120c8328 int JvmtiRawMonitor::raw_wait(long,bool,Thread*) 
(10078a470, ffffffffffffffff, 1, 10079c000, ffffffffffd880ac, 
fffffffd12adbf00) + d8
 221  fffffffd120942ec jvmtiError 
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*,long) (4, 10078a470, 
ffffffffffffffff, 10079c000, 0, fffffffd12adbf00) + 5c
 222  fffffffd0f8385bc debugMonitorWait (fffffffd0f946268, c10, c00, 
fffffffd0f945580, fffffffd0f946190, 0) + 3c
 223  fffffffd0f81adac debugInit_waitVMInitComplete (0, f28, 
fffffffd0f945580, c00, fffffffd0f844888, 1) + 3c
 224  fffffffd0f81caac debugLoop_run (105c00, f50, fffffffd0f945580, 1, 
fffffffd0f9464d0, 0) + 6c
 225  fffffffd0f8335b4 connectionInitiated (fffffffd0f705250, 1000, 1, 
fffffffd0f945580, fffffffd0f9468d8, 0) + e4
 226  fffffffd0f833800 acceptThread (0, fffffffd0f705260, 1007973c0, 
fffffffd0f843de0, fffffffd0f945580, fffffffd0f946190) + 110
 227  fffffffd120c0934 void JvmtiAgentThread::call_start_function() 
(10079c000, 0, 0, fffffffd12adbf00, fffffffd12b78f38, 0) + 1b4
 228  fffffffd125445fc void JavaThread::thread_main_inner() (10079c000, 
3d8, 1005bd3f8, 1005bd020, ffffffff48cffbb8, fffffffd12bb62a0) + 8c
 229  fffffffd12544534 void JavaThread::run() (10079c000, b, 12, 
62cb92b48, 0, 22) + 4a4
 230  fffffffd12324ca0 thread_native_entry (0, 10079c000, 0, 10079c9d0, 
fffffffd12adbf00, 50dc) + 320
 231  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)

 232 -----------------  lwp# 19 / thread# 19  --------------------
 233  ffffffff7eae9b3c lwp_cond_wait (10079f748, 10079f730, 0, 0)
 234  fffffffd12331a94 void os::PlatformEvent::park() (10079f700, e6c40, 
e6c00, 0, fffffffd12adbf00, 10079f730) + c4
 235  fffffffd120c7b00 int JvmtiRawMonitor::SimpleWait(Thread*,long) 
(10079e4b0, 10079e800, ffffffffffffffff, fffffffd120c50e0, 1, 0) + 100
 236  fffffffd120c8328 int JvmtiRawMonitor::raw_wait(long,bool,Thread*) 
(10079e4b0, ffffffffffffffff, 1, 10079e800, ffffffffffd880ac, 
fffffffd12adbf00) + d8
 237  fffffffd120942ec jvmtiError 
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*,long) (4, 10079e4b0, 
ffffffffffffffff, 10079e800, 0, fffffffd12adbf00) + 5c
 238  fffffffd0f8385bc debugMonitorWait (fffffffd0f946268, c10, c00, 
fffffffd0f945580, fffffffd0f946190, 0) + 3c
 239  fffffffd0f8261f8 doBlockCommandLoop (800, 1028, fffffffd0f945580, 
1000, fffffffd0f945580, 0) + 48
 240  fffffffd0f826448 commandLoop (c10, 10079eae0, 1, fffffffd0f945580, 
fffffffd0f94612c, 1007a0a20) + f8
 241  fffffffd120c0934 void JvmtiAgentThread::call_start_function() 
(10079e800, 0, 0, fffffffd12adbf00, fffffffd12b78f38, 0) + 1b4
 242  fffffffd125445fc void JavaThread::thread_main_inner() (10079e800, 
3d8, 1005c1a78, 1005c16a0, ffffffff48affb38, fffffffd12bb62a0) + 8c
 243  fffffffd12544534 void JavaThread::run() (10079e800, c, 13, 
62cb92d50, 0, 18) + 4a4
 244  fffffffd12324ca0 thread_native_entry (0, 10079e800, 0, 10079d0e0, 
fffffffd12adbf00, 50dc) + 320
 245  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)



Below is a full pstack dump.

Thanks,
Serguei

   1 20700:  
/var/tmp/sspitsyn/jdk-ibm/build/solaris-sparcv9-normal-server-release/
   2 -----------------  lwp# 1 / thread# 1  --------------------
   3  ffffffff7eae9a88 lwp_wait (2, ffffffff7fffe45c)
   4  ffffffff7eae0ce0 _thrp_join (2, 0, ffffffff7fffe5c0, 1, 0, 
ffffffff7fffe5cc) + 3c
   5  ffffffff7eae0e4c thr_join (2, 0, ffffffff7fffe5c0, ffffffff7fffe680, 
0, 3) + 14
   6  fffffffd12c104a0 ContinueInNewThread0 (fffffffd12c05820, 100000, 
ffffffff7fffe680, fffffffffffffff8, 0, 100000) + 30
   7  fffffffd12c0e090 ContinueInNewThread (ffffffff7fffe8a8, 
fffffffd11d27440, 111000, ffffffffffeeef60, fffffffd11d26de0, 
fffffffd11d27a30) + 90
   8  fffffffd12c1052c JVMInit (ffffffff7fffe8a8, 0, 1, 100102f38, 1, 
100105760) + 2c
   9  fffffffd12c057e8 JLI_Launch (b08, ffffffffffeff2a0, 0, 0, 0, 0) + 
2f8
  10  0000000100000efc main (6, ffffffff7ffff6b8, 6, ffffffff7ee00140, 
100000f80, 100000f80) + 1bc
  11  0000000100000d08 _start (0, 0, 0, 0, 0, 100101040) + 108
  12 -----------------  lwp# 2 / thread# 2  --------------------
  13  ffffffff7eae9b3c lwp_cond_wait (100123448, 100123430, 0, 0)
  14  fffffffd12331a94 void os::PlatformEvent::park() (100123400, e6c40, 
e6c00, 0, fffffffd12adbf00, 100123430) + c4
  15  fffffffd122c6038 int Monitor::IWait(Thread*,long) (100122f30, 
100122000, 0, fffffffd12b4dba8, 0, 100122f50) + 98
  16  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (100122f30, 1, 
0, 0, ffff2155, 100122000) + 7c
  17  fffffffd125464e8 int JavaThread::java_suspend_self() (100122000, 1, 
40000000, 1001220b8, 100122f30, 100122f30) + a8
  18  fffffffd120c84a4 int JvmtiRawMonitor::raw_wait(long,bool,Thread*) 
(10079e3b0, 10079e430, 1, 100122000, 94400, fffffffd12b70600) + 254
  19  fffffffd120942ec jvmtiError 
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*,long) (4, 10079e3b0, 
ffffffffffffffff, 100122000, 0, fffffffd12adbf00) + 5c
  20  fffffffd0f8385bc debugMonitorWait (fffffffd0f946268, c10, c00, 
fffffffd0f945580, fffffffd0f945580, 0) + 3c
  21  fffffffd0f825140 enqueueCommand (1007a0a20, ffffffffffefc418, 
103800, ffffffffffefc3e8, 0, fffffffd0f945580) + 140
  22  fffffffd0f826e58 eventHelper_reportEvents (0, 10079a000, 0, 
1007a0a20, 1, 1) + 108
  23  fffffffd0f81b4c0 initialize (1001222e0, c00, 4, fffffffd0f83edc0, 
fffffffd0f9460d0, fffffffd0f945580) + 540
  24  fffffffd0f81a77c cbEarlyException (fffffffd0f946190, 1001222e0, 
1005953a0, fffffffd0f83eaa0, fffffffd0f946268, 1005953a8) + 21c
  25  fffffffd120af6a4 void 
JvmtiExport::post_exception_throw(JavaThread*,Method*,unsigned 
char*,oopDesc*) (100122000, fffffffd12b78f38, 100764b40, 62cb91b50, 
100122d48, fffffffd12b7a618) + 15b4
  26  fffffffd11c27484 unsigned 
char*InterpreterRuntime::exception_handler_for_exception(JavaThread*,oopDesc*) 
(0, ffffffff4a0014e0, 100122000, ffffffff4a001470, 100122d40, 
fffffffd12adbf00) + 704
  27  ffffffff6100eac0 * JITDebug.debugTarget()V+29
  28  ffffffff61009ecc * JITDebug.parseArgs([Ljava/lang/String;)Z+50
  29  ffffffff610084ac * JITDebug.main([Ljava/lang/String;)V+8
  30  ffffffff610003c0 ???????? (ffffffff7d0ffc20, ffffffff7d0ffe30, a, 
ffffffff4a000f18, ffffffff6100ff40, ffffffff7d0ffd78) + fff8006cc46de0b0
  31  fffffffd11c43134 void JavaCalls::call_helper(JavaValue*,const 
methodHandle&,JavaCallArguments*,Thread*) (ffffffff7d0ffe28, 
ffffffff4a000f18, ffffffff7d0ffd68, ffffffff7d0ffde8, e, ffffffff61000340) 
+ 2e4
  32  fffffffd11cfd95c jni_CallStaticVoidMethod (1001222e0, 1400, 1c, 
ffffffff7d0ffde8, 100122000, 153d) + 5bc
  33  fffffffd12c0603c JavaMain (ac8, 100123780, 100123798, 1, 
fffffffd12b605f0, fffffffd11cfd3a0) + 81c
  34  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  35 -----------------  lwp# 3 / thread# 3  --------------------
  36  ffffffff7eae4bb4 lwp_park (0, 0, 0)
  37  ffffffff7eacbfe8 sem_wait (100133690, fffffffd12adbf00, 
ffffffffffc80f70, 37f000, e6ce0, ffffffffffffffff) + 24
  38  fffffffd124309f8 void PosixSemaphore::wait() (100133690, 986e0, 
fffffffd12b4df8a, 98400, fffffffd12adbf00, fffffffd12adbf00) + 8
  39  fffffffd12650754 WorkData 
SemaphoreGangTaskDispatcher::worker_wait_for_task() (100133650, 7f, 98c00, 
0, 72000, fffffffd12adbf00) + 4
  40  fffffffd1264f4c8 void GangWorker::loop() (100135800, 
fffffffd12650750, fffffffd12b9b4b8, 100104ae0, fffffffd1264f290, 
fffffffd12b9b3e0) + 18
  41  fffffffd12324ca0 thread_native_entry (0, 100135800, 0, 100136a70, 
fffffffd12adbf00, 50dc) + 320
  42  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  43 -----------------  lwp# 4 / thread# 4  --------------------
  44  ffffffff7eae9b3c lwp_cond_wait (100278348, 100278330, 0, 0)
  45  fffffffd12331a94 void os::PlatformEvent::park() (100278300, e6c40, 
e6c00, 0, fffffffd12adbf00, 100278330) + c4
  46  fffffffd122c6038 int Monitor::IWait(Thread*,long) (10011ee30, 
100277000, 0, fffffffd12b4dba8, 0, 10011ee50) + 98
  47  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (10011ee30, 1, 
0, 0, fffffffd12b70500, 100277000) + 7c
  48  fffffffd11ac67b4 void G1ConcurrentMarkThread::run_service() 
(100277000, 94600, 94600, fffffffd12adbf00, 10012deb0, 1001312e0) + 134
  49  fffffffd119a7654 void ConcurrentGCThread::run() (94600, 94400, 0, 
100277000, fffffffd12adbf00, fffffffd12b70500) + d4
  50  fffffffd12324ca0 thread_native_entry (0, 100277000, 0, 100278590, 
fffffffd12adbf00, 50dc) + 320
  51  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  52 -----------------  lwp# 5 / thread# 5  --------------------
  53  ffffffff7eae4bb4 lwp_park (0, 0, 0)
  54  ffffffff7eacbfe8 sem_wait (100133990, fffffffd12adbf00, 
ffffffffffc80f70, 37f000, e6ce0, ffffffffffffffff) + 24
  55  fffffffd124309f8 void PosixSemaphore::wait() (100133990, 986e0, 
fffffffd12b4df8a, 98400, fffffffd12adbf00, fffffffd12adbf00) + 8
  56  fffffffd12650754 WorkData 
SemaphoreGangTaskDispatcher::worker_wait_for_task() (100133950, 7f, 98c00, 
0, 72000, fffffffd12adbf00) + 4
  57  fffffffd1264f4c8 void GangWorker::loop() (100278800, 
fffffffd12650750, fffffffd12b9b4b8, 100104d60, fffffffd1264f290, 
fffffffd12b9b3e0) + 18
  58  fffffffd12324ca0 thread_native_entry (0, 100278800, 0, 100279f30, 
fffffffd12adbf00, 50dc) + 320
  59  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  60 -----------------  lwp# 6 / thread# 6  --------------------
  61  ffffffff7eae9b3c lwp_cond_wait (1003f4f48, 1003f4f30, 0, 0)
  62  fffffffd12331a94 void os::PlatformEvent::park() (1003f4f00, e6c40, 
e6c00, 0, fffffffd12adbf00, 1003f4f30) + c4
  63  fffffffd122c6038 int Monitor::IWait(Thread*,long) (10011f340, 
1003f4000, 0, fffffffd12b4dba8, 0, 10011f360) + 98
  64  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (10011f340, 1, 
0, 0, fffffffd12adbf00, 1003f4000) + 7c
  65  fffffffd11aca248 void G1ConcurrentRefineThread::run_service() 
(1003f4000, d5400, 0, fffffffd12b7b558, fffffffd12adbf00, 
fffffffd12bb1490) + a8
  66  fffffffd119a7654 void ConcurrentGCThread::run() (94600, 94400, 0, 
1003f4000, fffffffd12adbf00, fffffffd12b70500) + d4
  67  fffffffd12324ca0 thread_native_entry (0, 1003f4000, 0, 1003f5220, 
fffffffd12adbf00, 50dc) + 320
  68  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  69 -----------------  lwp# 7 / thread# 7  --------------------
  70  ffffffff7eae9b3c lwp_cond_wait (1003f6848, 1003f6830, 
ffffffff784ffaa0, 0)
  71  ffffffff7eabf548 _lwp_cond_timedwait (1003f6848, 1003f6830, 
ffffffff784ffb70, e6c00, ffffffff7eabf528, ffffffff784ffaa0) + 20
  72  fffffffd12331d30 int os::PlatformEvent::park(long) (1003f6800, 
11a1d310, ffffffff7eabf38c, e6c00, 0, fffffffd12adbf00) + 200
  73  fffffffd122c60b8 int Monitor::IWait(Thread*,long) (1003f5ac8, 
1003f5800, 12c, fffffffd12b4dba8, fffffffd12adbf00, 1003f5ae8) + 118
  74  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (1003f5ac8, 1, 
12c, 0, 10011eec0, 1003f5800) + 7c
  75  fffffffd11b3a340 void G1YoungRemSetSamplingThread::run_service() 
(1003f5800, 0, 0, fffffffd12adbf00, fffffffd12b4e4c8, fffffffd12b4c6c8) + 
130
  76  fffffffd119a7654 void ConcurrentGCThread::run() (94600, 94400, 0, 
1003f5800, fffffffd12adbf00, fffffffd12b70500) + d4
  77  fffffffd12324ca0 thread_native_entry (0, 1003f5800, 0, 1003f6ae0, 
fffffffd12adbf00, 50dc) + 320
  78  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  79 -----------------  lwp# 8 / thread# 8  --------------------
  80  ffffffff7eae9b3c lwp_cond_wait (100592a48, 100592a30, 
ffffffff782ff890, 0)
  81  ffffffff7eabf548 _lwp_cond_timedwait (100592a48, 100592a30, 
ffffffff782ff960, e6c00, ffffffff7eabf528, ffffffff782ff890) + 20
  82  fffffffd12331d30 int os::PlatformEvent::park(long) (100592a00, 
df420d8, ffffffff7eabf38c, e6c00, 1, fffffffd12adbf00) + 200
  83  fffffffd122c60b8 int Monitor::IWait(Thread*,long) (100120810, 
100592000, 3e8, fffffffd12b4dba8, fffffffd12adbf00, 100120830) + 118
  84  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (100120810, 1, 
3e8, 0, 945d8, 100592000) + 7c
  85  fffffffd125f1820 void VMThread::loop() (100592000, fffffffd12be34a0, 
1001208a0, 0, fffffffd12adbf00, fffffffd12b704d8) + 150
  86  fffffffd125f10a8 void VMThread::run() (100592000, 94400, 0, 
fffffffd12adbf00, 7f, fffffffd12b98368) + 98
  87  fffffffd12324ca0 thread_native_entry (0, 100592000, 0, 100592d50, 
fffffffd12adbf00, 50dc) + 320
  88  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
  89 -----------------  lwp# 9 / thread# 9  --------------------
  90  ffffffff7eae9b3c lwp_cond_wait (10059d948, 10059d930, 0, 0)
  91  fffffffd12331a94 void os::PlatformEvent::park() (10059d900, e6c40, 
e6c00, 0, fffffffd12adbf00, 10059d930) + c4
  92  fffffffd122c6038 int Monitor::IWait(Thread*,long) (100120ed0, 
10059c800, 0, fffffffd12b4dba8, 0, 100120ef0) + 98
  93  fffffffd122c6cf4 bool Monitor::wait(bool,long,bool) (100120ed0, 0, 
0, 0, fffffffd12adbf00, 10059c800) + 324
  94  fffffffd11dfb040 JVM_WaitForReferencePendingList (0, 10059c800, 
fffffffd12b4da28, 0, fffffffd12adbf00, fffffffd12b7ce98) + 1d0
  95  fffffffd10c15e24 
Java_java_lang_ref_Reference_waitForReferencePendingList (10059cae0, 
ffffffff780ff280, 1, 0, 9d0f0, 0) + 4
  96  ffffffff6101170c * 
java/lang/ref/Reference.waitForReferencePendingList()V+-23864
  97  ffffffff610116ac * 
java/lang/ref/Reference.waitForReferencePendingList()V+-14600
  98  ffffffff61009ecc * 
java/lang/ref/Reference.processPendingReferences()V+0
  99  ffffffff61009ecc * java/lang/ref/Reference.access$000()V+0
 100  ffffffff61009ecc * java/lang/ref/Reference$ReferenceHandler.run()V+0
 101  ffffffff610003c0 ???????? (ffffffff780ff780, ffffffff780ffb38, a, 
ffffffff49d55fa0, ffffffff6100ff40, ffffffff780ff9f8) + fff8006cc46de0b0
 102  fffffffd11c43134 void JavaCalls::call_helper(JavaValue*,const 
methodHandle&,JavaCallArguments*,Thread*) (ffffffff780ffb30, 
ffffffff49d55fa0, ffffffff780ff9e8, ffffffff780ff890, e, ffffffff61000340) 
+ 2e4
 103  fffffffd11c42550 void 
JavaCalls::call_virtual(JavaValue*,Klass*,Symbol*,Symbol*,JavaCallArguments*,Thread*)
 
(ffffffff780ffb30, e99000, ffffffff780ff890, ffffffff780ff900, 
ffffffff780ff9e8, ffffffffff166f50) + 120
 104  fffffffd11c425d0 void 
JavaCalls::call_virtual(JavaValue*,Handle,Klass*,Symbol*,Symbol*,Thread*) 
(ffffffff780ffb30, 10059d300, 800006770, 8, 1, 2) + 50
 105  fffffffd11df31e8 void thread_entry(JavaThread*,Thread*) (10059c800, 
9f800, 103c00, 62ca09090, fffffffd12b7b8f0, 193400) + d8
 106  fffffffd125445fc void JavaThread::thread_main_inner() (10059c800, 
3d8, 10059d2d8, 10059cf00, ffffffff780ffc38, fffffffd12bb62a0) + 8c
 107  fffffffd12544534 void JavaThread::run() (10059c800, 2, 9, 62ca09090, 
72, 11) + 4a4
 108  fffffffd12324ca0 thread_native_entry (0, 10059c800, 0, 10059dd20, 
fffffffd12adbf00, 50dc) + 320
 109  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 110 -----------------  lwp# 10 / thread# 10  --------------------
 111  ffffffff7eae9b3c lwp_cond_wait (1005a7548, 1005a7530, 0, 0)
 112  fffffffd12331a94 void os::PlatformEvent::park() (1005a7500, e6c40, 
e6c00, 1, fffffffd12adbf00, 1005a7530) + c4
 113  fffffffd122f27e8 void ObjectMonitor::wait(long,bool,Thread*) 
(1005a1f80, fffffffd128c10b0, fffffffd12b78ff0, 1, 1005a6800, 2) + 3d8
 114  fffffffd124f4290 int ObjectSynchronizer::wait(Handle,long,Thread*) 
(1005a71a8, 0, 1005a6800, fffffffd12b64a32, 88b32, 1005a1f80) + 150
 115  fffffffd11dc4150 JVM_MonitorWait (1005a71a8, 0, 0, 1005a6800, 2, 
fffffffd12b4da28) + 330
 116  ffffffff6101170c * java/lang/Object.wait(J)V+-3184
 117  ffffffff610116ac * java/lang/Object.wait(J)V+-3184
 118  ffffffff61009ecc * 
java/lang/ref/ReferenceQueue.remove(J)Ljava/lang/ref/Reference;+59
 119  ffffffff61009a38 * 
java/lang/ref/ReferenceQueue.remove()Ljava/lang/ref/Reference;+2
 120  ffffffff61009a38 * java/lang/ref/Finalizer$FinalizerThread.run()V+37
 121  ffffffff610003c0 ???????? (ffffffff702ff700, ffffffff702ffab8, a, 
ffffffff49d5c150, ffffffff6100ff40, ffffffff702ff978) + fff8006cc46de0b0
 122  fffffffd11c43134 void JavaCalls::call_helper(JavaValue*,const 
methodHandle&,JavaCallArguments*,Thread*) (ffffffff702ffab0, 
ffffffff49d5c150, ffffffff702ff968, ffffffff702ff810, e, ffffffff61000340) 
+ 2e4
 123  fffffffd11c42550 void 
JavaCalls::call_virtual(JavaValue*,Klass*,Symbol*,Symbol*,JavaCallArguments*,Thread*)
 
(ffffffff702ffab0, e99000, ffffffff702ff810, ffffffff702ff880, 
ffffffff702ff968, ffffffffff166f50) + 120
 124  fffffffd11c425d0 void 
JavaCalls::call_virtual(JavaValue*,Handle,Klass*,Symbol*,Symbol*,Thread*) 
(ffffffff702ffab0, 1005a71a0, 800006770, 8, 1, 2) + 50
 125  fffffffd11df31e8 void thread_entry(JavaThread*,Thread*) (1005a6800, 
9f800, 103c00, 62ca09668, fffffffd12b7b8f0, 193400) + d8
 126  fffffffd125445fc void JavaThread::thread_main_inner() (1005a6800, 
3d8, 1005a7178, 1005a6da0, ffffffff702ffbb8, fffffffd12bb62a0) + 8c
 127  fffffffd12544534 void JavaThread::run() (1005a6800, 3, a, 62ca09668, 
72, 9) + 4a4
 128  fffffffd12324ca0 thread_native_entry (0, 1005a6800, 0, 1005a7bc0, 
fffffffd12adbf00, 50dc) + 320
 129  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 130 -----------------  lwp# 11 / thread# 11  --------------------
 131  ffffffff7eae4bb4 lwp_park (0, 0, 0)
 132  ffffffff7eacbfe8 sem_wait (1005908a0, fffffffd12bc75c0, eb6c0, 
eb400, 10648, ffffffffffffffff) + 24
 133  fffffffd124309f8 void PosixSemaphore::wait() (1005908a0, 1005b9800, 
10011ab64, 1005b9800, 98c10, 98c00) + 8
 134  fffffffd1232961c int check_pending_signals() (1, fffffffd12b74b10, 
1, fffffffd12adbf00, 20000000, ffffffff7d6008c0) + 24c
 135  fffffffd12315aec void signal_thread_entry(JavaThread*,Thread*) 
(98c58, 1005b9800, 1005ba230, 1005ba220, 98c00, fffffffd12adbf00) + 2c
 136  fffffffd125445fc void JavaThread::thread_main_inner() (1005b9800, 
3d8, 1005ba208, 1005b9e30, ffffffff5faffb38, fffffffd12bb62a0) + 8c
 137  fffffffd12544534 void JavaThread::run() (1005b9800, 4, b, 62ca20350, 
72, 11) + 4a4
 138  fffffffd12324ca0 thread_native_entry (0, 1005b9800, 0, 1005babc0, 
fffffffd12adbf00, 50dc) + 320
 139  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 140 -----------------  lwp# 12 / thread# 12  --------------------
 141  ffffffff7eae9b3c lwp_cond_wait (1005bc748, 1005bc730, 
ffffffff5e6ff520, 0)
 142  ffffffff7eabf548 _lwp_cond_timedwait (1005bc748, 1005bc730, 
ffffffff5e6ff5f0, e6c00, ffffffff7eabf528, ffffffff5e6ff520) + 20
 143  fffffffd12331d30 int os::PlatformEvent::park(long) (1005bc700, 
20e2bf38, ffffffff7eabf38c, e6c00, 5, fffffffd12adbf00) + 200
 144  fffffffd122c60b8 int Monitor::IWait(Thread*,long) (100121620, 
1005bb000, 1388, fffffffd12b4dba8, 1, 100121640) + 118
 145  fffffffd122c6cf4 bool Monitor::wait(bool,long,bool) (100121620, 0, 
1388, 0, 1, 1005bb000) + 324
 146  fffffffd11984df0 CompileTask*CompileQueue::get() (100590960, 
1005bac90, 0, 1005bb000, fffffffd12adbf00, 100121620) + 70
 147  fffffffd11989c80 void CompileBroker::compiler_thread_loop() (71e29, 
1005909e0, 1005bb000, fffffffd12adbf00, 100590960, ffffffff49e84e78) + 150
 148  fffffffd125445fc void JavaThread::thread_main_inner() (1005bb000, 
3d8, 1005bc018, 1005bbc40, ffffffff5e6ffab8, fffffffd12bb62a0) + 8c
 149  fffffffd12544534 void JavaThread::run() (1005bb000, 5, c, 62ca20540, 
0, 12) + 4a4
 150  fffffffd12324ca0 thread_native_entry (0, 1005bb000, 0, 1005bca60, 
fffffffd12adbf00, 50dc) + 320
 151  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 152 -----------------  lwp# 13 / thread# 13  --------------------
 153  ffffffff7eae9b3c lwp_cond_wait (1005bec48, 1005bec30, 
ffffffff5d2ff4a0, 0)
 154  ffffffff7eabf548 _lwp_cond_timedwait (1005bec48, 1005bec30, 
ffffffff5d2ff570, e6c00, ffffffff7eabf528, ffffffff5d2ff4a0) + 20
 155  fffffffd12331d30 int os::PlatformEvent::park(long) (1005bec00, 
20f1f5c0, ffffffff7eabf38c, e6c00, 5, fffffffd12adbf00) + 200
 156  fffffffd122c60b8 int Monitor::IWait(Thread*,long) (100121620, 
1005bd800, 1388, fffffffd12b4dba8, 1, 100121640) + 118
 157  fffffffd122c6cf4 bool Monitor::wait(bool,long,bool) (100121620, 0, 
1388, 0, 1, 1005bd800) + 324
 158  fffffffd11984df0 CompileTask*CompileQueue::get() (1005909a0, 
1005bac20, 0, 1005bd800, fffffffd12adbf00, 100121620) + 70
 159  fffffffd11989c80 void CompileBroker::compiler_thread_loop() (71e29, 
100590a60, 1005bd800, fffffffd12adbf00, 1005909a0, ffffffff49c06ad8) + 150
 160  fffffffd125445fc void JavaThread::thread_main_inner() (1005bd800, 
3d8, 1005be5d8, 1005be200, ffffffff5d2ffa38, fffffffd12bb62a0) + 8c
 161  fffffffd12544534 void JavaThread::run() (1005bd800, 7, d, 62ca20920, 
0, 12) + 4a4
 162  fffffffd12324ca0 thread_native_entry (0, 1005bd800, 0, 1005bf020, 
fffffffd12adbf00, 50dc) + 320
 163  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 164 -----------------  lwp# 14 / thread# 14  --------------------
 165  ffffffff7eae9b3c lwp_cond_wait (1005c0948, 1005c0930, 
ffffffff54eff610, 0)
 166  ffffffff7eabf548 _lwp_cond_timedwait (1005c0948, 1005c0930, 
ffffffff54eff6e0, e6c00, ffffffff7eabf528, ffffffff54eff610) + 20
 167  fffffffd12331d30 int os::PlatformEvent::park(long) (1005c0900, 
2040aef0, ffffffff7eabf38c, e6c00, 15180, fffffffd12adbf00) + 200
 168  fffffffd122c60b8 int Monitor::IWait(Thread*,long) (10011fa00, 
1005bf800, 5265c00, fffffffd12b4dba8, fffffffd12adbf00, 10011fa20) + 118
 169  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (10011fa00, 1, 
5265c00, 0, 945b8, 1005bf800) + 7c
 170  fffffffd124ebc98 void NMethodSweeper::sweeper_loop() 
(fffffffd12b704b8, ffffffff7d600980, fffffffd12adbf00, 6, b, a) + 1b8
 171  fffffffd125445fc void JavaThread::thread_main_inner() (1005bf800, 
3d8, 1005c0298, 1005bfec0, ffffffff54eff9b8, fffffffd12bb62a0) + 8c
 172  fffffffd12544534 void JavaThread::run() (1005bf800, 8, e, 62ca20b10, 
0, e) + 4a4
 173  fffffffd12324ca0 thread_native_entry (0, 1005bf800, 0, 1005c0ce0, 
fffffffd12adbf00, 50dc) + 320
 174  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 175 -----------------  lwp# 15 / thread# 15  --------------------
 176  ffffffff7eae9b3c lwp_cond_wait (100766548, 100766530, 0, 0)
 177  fffffffd12331a94 void os::PlatformEvent::park() (100766500, e6c40, 
e6c00, 0, fffffffd12adbf00, 100766530) + c4
 178  fffffffd122c6038 int Monitor::IWait(Thread*,long) (10011fcd0, 
100765800, 0, fffffffd12b4dba8, 0, 10011fcf0) + 98
 179  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (10011fcd0, 1, 
0, 0, fffffffd12b70648, 100765800) + 7c
 180  fffffffd12431e00 void 
ServiceThread::service_thread_entry(JavaThread*,Thread*) (100765800, 
100765800, 10011fcd0, 94400, fffffffd12b78f38, fffffffd12b4da28) + 210
 181  fffffffd125445fc void JavaThread::thread_main_inner() (100765800, 
3d8, 10075c258, 10075be80, ffffffff4caffd38, fffffffd12bb62a0) + 8c
 182  fffffffd12544534 void JavaThread::run() (100765800, 9, f, 62cb820d8, 
0, e) + 4a4
 183  fffffffd12324ca0 thread_native_entry (0, 100765800, 0, 100766930, 
fffffffd12adbf00, 50dc) + 320
 184  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 185 -----------------  lwp# 16 / thread# 16  --------------------
 186  ffffffff7eae9b3c lwp_cond_wait (10076b048, 10076b030, 
ffffffff4a6ffad0, 0)
 187  ffffffff7eabf548 _lwp_cond_timedwait (10076b048, 10076b030, 
ffffffff4a6ffba0, e6c00, ffffffff7eabf528, ffffffff4a6ffad0) + 20
 188  fffffffd12331d30 int os::PlatformEvent::park(long) (10076b000, 
2748270, ffffffff7eabf38c, e6c00, 0, fffffffd12adbf00) + 200
 189  fffffffd122c60b8 int Monitor::IWait(Thread*,long) (100121860, 
10076a000, 32, fffffffd12b4dba8, fffffffd12adbf00, 100121880) + 118
 190  fffffffd122c6a4c bool Monitor::wait(bool,long,bool) (100121860, 1, 
32, 0, 1a6529b8c1ea88, 10076a000) + 7c
 191  fffffffd12542e3c void WatcherThread::run() (10076a000, 
fffffffd12b70650, 32, 4, 2, 10076b2f0) + cc
 192  fffffffd12324ca0 thread_native_entry (0, 10076a000, 0, 10076b2f0, 
fffffffd12adbf00, 50dc) + 320
 193  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 194 -----------------  lwp# 17 / thread# 17  --------------------
 195  ffffffff7eae9b3c lwp_cond_wait (10076c648, 10076c630, 
ffffffff492febb0, 0)
 196  ffffffff7eabf548 _lwp_cond_timedwait (10076c648, 10076c630, 
ffffffff492fec80, e6c00, ffffffff7eabf528, ffffffff492febb0) + 20
 197  fffffffd12331d30 int os::PlatformEvent::park(long) (10076c600, 
1f4cfc38, ffffffff7eabf38c, e6c00, 3c, fffffffd12adbf00) + 200
 198  fffffffd122f27f8 void ObjectMonitor::wait(long,bool,Thread*) 
(1005a3e80, fffffffd128c10b0, fffffffd12b78ff0, 1, 10076b800, 2) + 3e8
 199  fffffffd124f4290 int ObjectSynchronizer::wait(Handle,long,Thread*) 
(10076c328, ea60, 10076b800, fffffffd12b64a32, 88b32, 1005a3e80) + 150
 200  fffffffd11dc4150 JVM_MonitorWait (10076c328, 0, ea60, 10076b800, 1, 
fffffffd12b4da28) + 330
 201  ffffffff6101170c * java/lang/Object.wait(J)V+-3184
 202  ffffffff610116ac * java/lang/Object.wait(J)V+-3184
 203  ffffffff61009ecc * 
java/lang/ref/ReferenceQueue.remove(J)Ljava/lang/ref/Reference;+59
 204  ffffffff61009a38 * jdk/internal/ref/CleanerImpl.run()V+65
 205  ffffffff61009fc4 * java/lang/Thread.run()V+11
 206  ffffffff61009ecc * jdk/internal/misc/InnocuousThread.run()V+20
 207  ffffffff610003c0 ???????? (ffffffff492ff780, ffffffff492ffb38, a, 
ffffffff49eeec80, ffffffff6100ff40, ffffffff492ff9f8) + fff8006cc46de0b0
 208  fffffffd11c43134 void JavaCalls::call_helper(JavaValue*,const 
methodHandle&,JavaCallArguments*,Thread*) (ffffffff492ffb30, 
ffffffff49eeec80, ffffffff492ff9e8, ffffffff492ff890, e, ffffffff61000340) 
+ 2e4
 209  fffffffd11c42550 void 
JavaCalls::call_virtual(JavaValue*,Klass*,Symbol*,Symbol*,JavaCallArguments*,Thread*)
 
(ffffffff492ffb30, e99000, ffffffff492ff890, ffffffff492ff900, 
ffffffff492ff9e8, ffffffffff166f50) + 120
 210  fffffffd11c425d0 void 
JavaCalls::call_virtual(JavaValue*,Handle,Klass*,Symbol*,Symbol*,Thread*) 
(ffffffff492ffb30, 10076c320, 800006770, 8, 1, 2) + 50
 211  fffffffd11df31e8 void thread_entry(JavaThread*,Thread*) (10076b800, 
9f800, 103c00, 62cb88700, fffffffd12b7b8f0, 193400) + d8
 212  fffffffd125445fc void JavaThread::thread_main_inner() (10076b800, 
3d8, 1005c2678, 1005c22a0, ffffffff492ffc38, fffffffd12bb62a0) + 8c
 213  fffffffd12544534 void JavaThread::run() (10076b800, a, 11, 
62cb88700, 0, e) + 4a4
 214  fffffffd12324ca0 thread_native_entry (0, 10076b800, 0, 10076ccb0, 
fffffffd12adbf00, 50dc) + 320
 215  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 216 -----------------  lwp# 18 / thread# 18  --------------------
 217  ffffffff7eae9b3c lwp_cond_wait (10078cd48, 10078cd30, 0, 0)
 218  fffffffd12331a94 void os::PlatformEvent::park() (10078cd00, e6c40, 
e6c00, 0, fffffffd12adbf00, 10078cd30) + c4
 219  fffffffd120c7b00 int JvmtiRawMonitor::SimpleWait(Thread*,long) 
(10078a470, 10079c000, ffffffffffffffff, fffffffd120c50e0, 1, 0) + 100
 220  fffffffd120c8328 int JvmtiRawMonitor::raw_wait(long,bool,Thread*) 
(10078a470, ffffffffffffffff, 1, 10079c000, ffffffffffd880ac, 
fffffffd12adbf00) + d8
 221  fffffffd120942ec jvmtiError 
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*,long) (4, 10078a470, 
ffffffffffffffff, 10079c000, 0, fffffffd12adbf00) + 5c
 222  fffffffd0f8385bc debugMonitorWait (fffffffd0f946268, c10, c00, 
fffffffd0f945580, fffffffd0f946190, 0) + 3c
 223  fffffffd0f81adac debugInit_waitVMInitComplete (0, f28, 
fffffffd0f945580, c00, fffffffd0f844888, 1) + 3c
 224  fffffffd0f81caac debugLoop_run (105c00, f50, fffffffd0f945580, 1, 
fffffffd0f9464d0, 0) + 6c
 225  fffffffd0f8335b4 connectionInitiated (fffffffd0f705250, 1000, 1, 
fffffffd0f945580, fffffffd0f9468d8, 0) + e4
 226  fffffffd0f833800 acceptThread (0, fffffffd0f705260, 1007973c0, 
fffffffd0f843de0, fffffffd0f945580, fffffffd0f946190) + 110
 227  fffffffd120c0934 void JvmtiAgentThread::call_start_function() 
(10079c000, 0, 0, fffffffd12adbf00, fffffffd12b78f38, 0) + 1b4
 228  fffffffd125445fc void JavaThread::thread_main_inner() (10079c000, 
3d8, 1005bd3f8, 1005bd020, ffffffff48cffbb8, fffffffd12bb62a0) + 8c
 229  fffffffd12544534 void JavaThread::run() (10079c000, b, 12, 
62cb92b48, 0, 22) + 4a4
 230  fffffffd12324ca0 thread_native_entry (0, 10079c000, 0, 10079c9d0, 
fffffffd12adbf00, 50dc) + 320
 231  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 232 -----------------  lwp# 19 / thread# 19  --------------------
 233  ffffffff7eae9b3c lwp_cond_wait (10079f748, 10079f730, 0, 0)
 234  fffffffd12331a94 void os::PlatformEvent::park() (10079f700, e6c40, 
e6c00, 0, fffffffd12adbf00, 10079f730) + c4
 235  fffffffd120c7b00 int JvmtiRawMonitor::SimpleWait(Thread*,long) 
(10079e4b0, 10079e800, ffffffffffffffff, fffffffd120c50e0, 1, 0) + 100
 236  fffffffd120c8328 int JvmtiRawMonitor::raw_wait(long,bool,Thread*) 
(10079e4b0, ffffffffffffffff, 1, 10079e800, ffffffffffd880ac, 
fffffffd12adbf00) + d8
 237  fffffffd120942ec jvmtiError 
JvmtiEnv::RawMonitorWait(JvmtiRawMonitor*,long) (4, 10079e4b0, 
ffffffffffffffff, 10079e800, 0, fffffffd12adbf00) + 5c
 238  fffffffd0f8385bc debugMonitorWait (fffffffd0f946268, c10, c00, 
fffffffd0f945580, fffffffd0f946190, 0) + 3c
 239  fffffffd0f8261f8 doBlockCommandLoop (800, 1028, fffffffd0f945580, 
1000, fffffffd0f945580, 0) + 48
 240  fffffffd0f826448 commandLoop (c10, 10079eae0, 1, fffffffd0f945580, 
fffffffd0f94612c, 1007a0a20) + f8
 241  fffffffd120c0934 void JvmtiAgentThread::call_start_function() 
(10079e800, 0, 0, fffffffd12adbf00, fffffffd12b78f38, 0) + 1b4
 242  fffffffd125445fc void JavaThread::thread_main_inner() (10079e800, 
3d8, 1005c1a78, 1005c16a0, ffffffff48affb38, fffffffd12bb62a0) + 8c
 243  fffffffd12544534 void JavaThread::run() (10079e800, c, 13, 
62cb92d50, 0, 18) + 4a4
 244  fffffffd12324ca0 thread_native_entry (0, 10079e800, 0, 10079d0e0, 
fffffffd12adbf00, 50dc) + 320
 245  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)
 246 -----------------  lwp# 20 / thread# 20  --------------------
 247  ffffffff7eae906c recv     (7, ffffffff488ff7b4, 4, 0)
 248  ffffffff7e40dba8 recv (7, ffff7fff, 4, 0, ffff7c00, 1007a1000) + 1c
 249  fffffffd0f603f70 dbgsysRecv (7, ffffffff488ff7b4, 4, 0, 1007a1000, 
a0910) + 10
 250  fffffffd0f6034e4 recv_fully (7, ffffffff488ff7b4, 4, a0800, 0, 0) + 
24
 251  fffffffd0f603634 socketTransport_readPacket (598, ffffffff488ff920, 
100000, fffffffd0f704cb0, fffffffd0f604bb0, 0) + 54
 252  fffffffd0f8341c0 transport_receivePacket (ffffffff488ff920, be8, 
800, fffffffd0f945580, 10079a180, 1) + 30
 253  fffffffd0f81cd30 reader (0, ffffffffffefa490, fffffffd0f945580, 
105800, ffffffff488ff920, fffffffd0f83fa10) + 60
 254  fffffffd120c0934 void JvmtiAgentThread::call_start_function() 
(1007a1000, 0, 0, fffffffd12adbf00, fffffffd12b78f38, 0) + 1b4
 255  fffffffd125445fc void JavaThread::thread_main_inner() (1007a1000, 
3d8, 1005c1e78, 1005c1aa0, ffffffff488ffab8, fffffffd12bb62a0) + 8c
 256  fffffffd12544534 void JavaThread::run() (1007a1000, d, 14, 
62cbeb9e8, 72, 13) + 4a4
 257  fffffffd12324ca0 thread_native_entry (0, 1007a1000, 0, 1007a0ab0, 
fffffffd12adbf00, 50dc) + 320
 258  ffffffff7eae4b38 _lwp_start (0, 0, 0, 0, 0, 0)






On 4/23/18 17:02, serguei.spit...@oracle.com wrote:
On 4/23/18 16:08, serguei.spit...@oracle.com wrote:
Hi Andrew,

There is a regression with this fix.
The following test is failed with timeout on all platforms except Windows:

Sorry, forgot to copy the test name:
  open/test/jdk/com/sun/jdi/JITDebug.sh


Thanks,
Serguei


I'll try to get more details about this timeout.

Thanks,
Serguei


On 4/18/18 09:49, serguei.spit...@oracle.com wrote:
Hi Andrew,

Sorry, I did not reply earlier.
The fix need more testing. We also have some important tests in closed.
I'll run them but I'm a little bit busy at the moment.

You have two reviews which is enough for push after testing.

Thanks,
Serguei


On 4/18/18 08:23, Andrew Leonard wrote:
Hi Serguei, 
Do you need me to try anything else for this review? 
hotspot/jtreg/serviceability suite run successfully. 
Many Thanks 
Andrew 

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
Phone internal: 245913, external: 01962 815913
internet email: andrew_m_leon...@uk.ibm.com 




From:        "serguei.spit...@oracle.com" <serguei.spit...@oracle.com> 
To:        daniel.daughe...@oracle.com, Andrew Leonard 
<andrew_m_leon...@uk.ibm.com> 
Cc:        serviceability-dev@openjdk.java.net 
Date:        16/04/2018 07:10 
Subject:        Re: RFR: 8201409: JDWP debugger initialization hangs 
intermittently 



On 4/15/18 10:01, Daniel D. Daugherty wrote: 
On 4/13/18 3:07 PM, serguei.spit...@oracle.com wrote: 
Andrew and reviewers,

I'm re-sending this RFR with a corrected subject that includes the bug 
number.

The issues is:
  https://bugs.openjdk.java.net/browse/JDK-8201409

Webrev:
  
http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8201409-jdwp-initsync.ibm.1/ 

 
src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c
    No comments.

src/jdk.jdwp.agent/share/native/libjdwp/debugInit.h
    No comments.

src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c
    So now pauses in debugLoop_run() before the loop
    that reads cmds. Looks good.

src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c
    So the VM_INIT event handler now signals that we have
    received the VM_INIT event so that allows debugLoop_run()
    to proceed.

Serguei, this fix needs to have the most of the Serviceability
stack of tests run against it (jdwp, JVM/TI, JDI and jdb tests).
Based on the email thread, I can't tell which tests have been
run with the fix in place. 

Hi Dan,

I'm going to sponsor this fix and will run all the debugger tests.
Sorry that I did not announce it yet.

Thanks,
Serguei


Dan



The fix looks good to me.
Also, I've agreed to skip a unit test as creating it for this issue is not 
easy.

At least, one more review is needed before the fix can be pushed.

Thanks,
Serguei


On 4/11/18 06:33, Andrew Leonard wrote: 
Hi Serguei, 
Thank you for raising the bug. 
I had a chat with one of my colleagues who could recreate it, and it's 
probably related to the handshaking that is done in the particular 
scenario. So with the JCK harness: 

com.sun.jck.lib.ExecJCKTestOtherJVMCmd LD_LIBRARY_PATH=/javatest/lib/jck
/jck8b/natives/linux_x86-64 /projects/jck/jdwp/j2sdk-image/bin/java 
-Xdump:system:none -Xdump:system:events=gpf+abort+traceassert+corruptcache 
-Xdump:snap:none -Xdump:snap:events=gpf+abort+traceassert+corruptcache 
-Xdump:java:none -Xdump:java:events=gpf+abort+traceassert+corruptcache 
-Xdump:heap:none -Xdump:heap:events=gpf+abort+traceassert+corruptcache -
Xfuture -agentlib:jdwp=server=y,transport=dt_socket,address=localhost
:35000,suspend=y -classpath /javatest/lib/jck
/JCK8b-b03/JCK-runtime-8b/classes -Djava.security.policy=/javatest/lib/jck
/JCK8b-b03/JCK-runtime-8b/lib/jck.policy 
javasoft.sqe.jck.lib.jpda.jdwp.DebuggeeLoader -waittime=600 
-msgSwitch=ub1604x64vm10:38636 -componentName=
ArrayReference.GetValues.getvalues002 

Note that the JCK test harness starts the target process, attaches to it, 
and sends the resume command 
in a very short time with no handshaking. 

That may not help..but hopefully helps explain things a bit? It's the 
timing of the resume command during the test that is crucial, resuming 
before the VM initialization is complete will trigger it. 

Thanks 
Andrew 

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
Phone internal: 245913, external: 01962 815913
internet email: andrew_m_leon...@uk.ibm.com 




From:        "serguei.spit...@oracle.com" <serguei.spit...@oracle.com> 
To:        Andrew Leonard <andrew_m_leon...@uk.ibm.com> 
Cc:        serviceability-dev@openjdk.java.net 
Date:        11/04/2018 09:57 
Subject:        Re: RFR: Fix race condition in jdwp 



Hi Andrew,

I've filed the bug:
  https://bugs.openjdk.java.net/browse/JDK-8201409

Also, this is a webrev with your patch:
  
http://cr.openjdk.java.net/~sspitsyn/webrevs/2018/8201409-jdwp-initsync.ibm.1/


I agree that creating a standalone test is tricky here.

I've added usleep(10000) into the eventHelper_reportVMInit()
and ran the JTreg com/sun/jdi tests with my JDK build.
However, none of the tests failed with the failure mode you described.
So that I'm puzzled a little bit.
I suspect that some specific debugLoop commands were used in your 
scenario.

It is still possible that I've missed something here.
Will try to double check everything.

Thanks,
Serguei


On 4/11/18 01:29, Andrew Leonard wrote: 
Thanks Serguei, 
I terms of a standalone testcase it is quite tricky, as due to the nature 
of the issue which took a lot of investigation to solve it's very timing 
dependent and will only occur randomly. It can be forced as I indicated 
below by adding a "sleep" in the VMInit report code but that's not a 
testcase, however the issue was originally found in our JCK testing for 
IBMJava8, testcase test.jck8b.runtime.vm.jdwp, but again only happened 
intermittently. Sort of like "performance" type issues we're not always 
going to be able to create a testcase that will always "fail" if the fix 
is not present. 
Your thoughts? 
Cheers 
Andrew 

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
Phone internal: 245913, external: 01962 815913
internet email: andrew_m_leon...@uk.ibm.com 




From:        "serguei.spit...@oracle.com" <serguei.spit...@oracle.com> 
To:        Andrew Leonard <andrew_m_leon...@uk.ibm.com> 
Cc:        serviceability-dev@openjdk.java.net 
Date:        11/04/2018 01:02 
Subject:        Re: RFR: Fix race condition in jdwp 



Hi Andrew,

Okay, I'll file a bug on this topic.
But do you have a standalone test demonstrating this issue?

Thanks,
Serguei


On 4/10/18 06:23, Andrew Leonard wrote: 
Hi Serguei, 
I don't have access to the bug database to raise one, are you able to 
please? 

Summary: JDWP debugger initialization hangs intermittently 
Description: If during the JDWP setup initialization the VM initialization 
takes slightly longer than the main debug initialization thread a "hang" 
situation can occur. This has been seen in testcase 
test.jck8b.runtime.vm.jdwp and can also be recreated easily by adding a 10 
second sleep to the beginning of the 
src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c method 
eventHelper_reportVMInit() . 
First seen: JDK8 
Recreated: JDK11 

Thanks 
Andrew 

Andrew Leonard
Java Runtimes Development
IBM Hursley
IBM United Kingdom Ltd
Phone internal: 245913, external: 01962 815913
internet email: andrew_m_leon...@uk.ibm.com 




From:        "serguei.spit...@oracle.com" <serguei.spit...@oracle.com> 
To:        Andrew Leonard <andrew_m_leon...@uk.ibm.com>, 
serviceability-dev@openjdk.java.net 
Date:        09/04/2018 23:03 
Subject:        Re: RFR: Fix race condition in jdwp 



Hi Andrew,

The patch itself looks reasonable.
However, in order to proceed with it, a bug report with a standalone
test case demonstrating the issue is needed.

Thanks,
Serguei


On 4/9/18 09:07, Andrew Leonard wrote:
> Hi,
> We discovered in our testing with OpenJ9 that a race condition can 
> occur in the jdwp under certain circumstances, and we were able to 
> force the same issue with Hotspot. Normally, the event helper thread 
> suspends all threads, then the debug loop in the listener thread 
> receives a command to resume. The debugger may deadlock if the debug 
> loop in the listener thread starts processing commands (e.g. resume 
> threads) before the event helper completes the initialization (and 
> suspends threads).
>
> This patch adds synchronization to ensure the event helper completes 
> the initialization sequence before debugger commands are processed.
>
> Please can I find a sponsor for this contribution? Patch below..
>
> Many thanks
>
> Andrew
>
>
>
> diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c 
> b/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c
> --- a/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c
> +++ b/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.c
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights 
> reserved.
> + * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights 
> reserved.
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>   *
>   * This code is free software; you can redistribute it and/or modify it
> @@ -58,6 +58,7 @@
>  static jboolean vmInitialized;
>  static jrawMonitorID initMonitor;
>  static jboolean initComplete;
> +static jboolean VMInitComplete;
>  static jbyte currentSessionID;
>
>  /*
> @@ -617,6 +618,35 @@
>  debugMonitorExit(initMonitor);
>  }
>
> +/*
> + * Signal VM initialization is complete.
> + */
> +void
> +signalVMInitComplete(void)
> +{
> +    /*
> + * VM Initialization is complete
> + */
> +    LOG_MISC(("signal VM initialization complete"));
> +    debugMonitorEnter(initMonitor);
> +    VMInitComplete = JNI_TRUE;
> +    debugMonitorNotifyAll(initMonitor);
> +    debugMonitorExit(initMonitor);
> +}
> +
> +/*
> + * Wait for VM initialization to complete.
> + */
> +void
> +debugInit_waitVMInitComplete(void)
> +{
> +    debugMonitorEnter(initMonitor);
> +    while (!VMInitComplete) {
> +    debugMonitorWait(initMonitor);
> +    }
> +    debugMonitorExit(initMonitor);
> +}
> +
>  /* All process exit() calls come from here */
>  void
>  forceExit(int exit_code)
> @@ -672,6 +702,7 @@
>  LOG_MISC(("Begin initialize()"));
>  currentSessionID = 0;
>  initComplete = JNI_FALSE;
> +    VMInitComplete = JNI_FALSE;
>
>  if ( gdata->vmDead ) {
>      EXIT_ERROR(AGENT_ERROR_INTERNAL,"VM dead at initialize() time");
> diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.h 
> b/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.h
> --- a/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.h
> +++ b/src/jdk.jdwp.agent/share/native/libjdwp/debugInit.h
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 1998, 2015, Oracle and/or its affiliates. All rights 
> reserved.
> + * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights 
> reserved.
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>   *
>   * This code is free software; you can redistribute it and/or modify it
> @@ -39,4 +39,7 @@
>  void debugInit_exit(jvmtiError, const char *);
>  void forceExit(int);
>
> +void debugInit_waitVMInitComplete(void);
> +void signalVMInitComplete(void);
> +
>  #endif
> diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c 
> b/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c
> --- a/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c
> +++ b/src/jdk.jdwp.agent/share/native/libjdwp/debugLoop.c
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights 
> reserved.
> + * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights 
> reserved.
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>   *
>   * This code is free software; you can redistribute it and/or modify it
> @@ -98,6 +98,7 @@
>  standardHandlers_onConnect();
>  threadControl_onConnect();
>
> +    debugInit_waitVMInitComplete();
>  /* Okay, start reading cmds! */
>  while (shouldListen) {
>      if (!dequeue(&p)) {
> diff --git a/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c 
> b/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c
> --- a/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c
> +++ b/src/jdk.jdwp.agent/share/native/libjdwp/eventHelper.c
> @@ -1,5 +1,5 @@
>  /*
> - * Copyright (c) 1998, 2017, Oracle and/or its affiliates. All rights 
> reserved.
> + * Copyright (c) 1998, 2018, Oracle and/or its affiliates. All rights 
> reserved.
>   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>   *
>   * This code is free software; you can redistribute it and/or modify it
> @@ -580,6 +580,7 @@
>      (void)threadControl_suspendThread(command->thread, JNI_FALSE);
>  }
>
> +    signalVMInitComplete();
>  outStream_initCommand(&out, uniqueID(), 0x0,
>  JDWP_COMMAND_SET(Event),
>  JDWP_COMMAND(Event, Composite));
>
>
>
> Andrew Leonard
> Java Runtimes Development
> IBM Hursley
> IBM United Kingdom Ltd
> Phone internal: 245913, external: 01962 815913
> internet email: andrew_m_leon...@uk.ibm.com
>
>
> Unless stated otherwise above:
> IBM United Kingdom Limited - Registered in England and Wales with 
> number 741598.
> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 
3AU





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU 





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU 





Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU 







Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU







Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number 
741598. 
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU

Reply via email to