Hi Yasumasa,
Thank you for taking care about this issue!
You changed the code form this:
371 } else if (cur_state == AL_NOT_INITIALIZED) {
372 // Start to initialize.
373 if (!AttachListener::is_init_trigger()) {
374 // Attach Listener could not be started.
375 // So we need to transit the state to AL_NOT_INITIALIZED.
376 AttachListener::set_state(AL_NOT_INITIALIZED);
377 }
378 continue;
379 } else if (AttachListener::check_socket_file()) {
to this:
371 } else if (cur_state == AL_NOT_INITIALIZED) {
372 // Start to initialize.
373 if (AttachListener::is_init_trigger()) {
374 // Attach Listener has been initialized.
375 // Accept subsequent request.
376 continue;
377 } else {
378 // Attach Listener could not be started.
379 // So we need to transit the state to AL_NOT_INITIALIZED.
380 AttachListener::set_state(AL_NOT_INITIALIZED);
381 }
382 } else if (AttachListener::check_socket_file()) {
The only difference I see is that now the continue statement is missed
after the AttachListener::set_state(AL_NOT_INITIALIZED).
Just want to make sure that it was your intention.
Thanks,
Serguei
On 7/16/19 4:15 PM, Yasumasa Suenaga wrote:
Hi all,
Please review this change:
JBS: https://bugs.openjdk.java.net/browse/JDK-8227738
webrev: http://cr.openjdk.java.net/~ysuenaga/JDK-8227738/webrev.00/
After JDK-8225690, HotSpot could not handle JVMTI dump request
(includes thread dump request).
It is caused by incorrect handling of AttachListener::is_init_trigger().
I fixed it in this webrev, and it works fine on serviceability/attach
and vmTestbase/nsk/jvmti/DataDumpRequest/datadumpreq001.
Also I pushed this to submit repo (I have not yet received the result).
http://hg.openjdk.java.net/jdk/submit/rev/3fb4b04ff5f2
Thanks,
Yasumasa