[prev in list] [next in list] [prev in thread] [next in thread]
List: openjdk-serviceability-dev
Subject: Re: RFR: 8266593: vmTestbase/nsk/jvmti/PopFrame/popframe011 fails with "assert(java_thread == _state
From: Serguei Spitsyn <sspitsyn () openjdk ! java ! net>
Date: 2021-11-22 9:26:03
Message-ID: DkvpYldUuWDdZyWhuf2_l4Uwn3XfSFUr6BbVdIgrf4E=.a91f64e3-221c-4a81-b8f6-284756e7336d () github ! com
[Download RAW message or body]
On Thu, 18 Nov 2021 09:34:13 GMT, Serguei Spitsyn <sspitsyn@openjdk.org> wrote:
> > The test fails when the target JavaThread has is_exiting() status. In such a case \
> > the JvmtiExport::cleanup_thread(this) has already made a clean up of its \
> > jvmtiThreadState, so the JavaThread address returned by _state->get_thread() is \
> > 0xbabababababababa. The fix is to add a check for is_exiting() status into \
> > handshake closure do_thread() early. There following handshake closures are fixed \
> > by this update:
> > - UpdateForPopTopFrameClosure
> > - SetForceEarlyReturn
> > - SetFramePopClosure
>
> Serguei Spitsyn has updated the pull request incrementally with one additional \
> commit since the last revision:
> get rid of the checks in jvmti handshakes: java_thread->threadObj() == NULL
Hi David,
Thank you for looking at this and your comments.
Exiting thread should not be in suspended state.
Also, I'm pretty sure that the THREAD_NOT_ALIVE error code should normally take \
priority. So, I prefer current fix over moving the assert.
But I kind of understand you concern. Thank you for sharing it!
Thanks,
Serguei
-------------
PR: https://git.openjdk.java.net/jdk/pull/6440
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic