RFR: 8227738: jvmti/DataDumpRequest/datadumpreq001 failed due to "exit code is 134"
Chris Plummer
chris.plummer at oracle.com
Tue Jul 16 23:55:14 UTC 2019
On 7/16/19 4:54 PM, Chris Plummer wrote:
> On 7/16/19 4:46 PM, Chris Plummer wrote:
>> On 7/16/19 4:41 PM, Yasumasa Suenaga wrote:
>>> 2019年7月17日(水) 8:35 <serguei.spitsyn at oracle.com
>>> <mailto:serguei.spitsyn at oracle.com>>:
>>>
>>> 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.
>>>
>>>
>>> Yes, we should go through when is_init_trigger() returns false.
>>>
>> I had the same question. So now my question is why is it returning
>> false? I thought this was an error condition indicating we failed to
>> initialize the attach mechanism, so I would expect this to later
>> cause the attach to fail. On the other hand, I have verified that the
>> fix seems to work.
>>
> Nevermind. I see now that AttachListener::is_init_trigger() returns
> true if the signal was being sent in order to attach, indicated by
> presence of the .attach_pid<pid> flag. So when it returns false, that
> means we want the stack trace dump instead of setting up an attach.
>
And yes, the change looks good. Thanks for the quick fix.
Chris
> Chris
>
>> thanks,
>>
>> Chris
>>
>>>
>>> Thanks,
>>>
>>> Yasumasa
>>>
>>>
>>> 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
>>>
>>
>>
>
More information about the serviceability-dev
mailing list