-
Notifications
You must be signed in to change notification settings - Fork 721
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix continuation stacks when breakpointing #18413
Conversation
c76af27
to
e5c2ee9
Compare
@babsingh I'm looking into the JVMTI test failures. Please do an initial review of my use of the continuations. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Is exclusive VM access acquired for all
j9mm_iterate_all_continuation_objects
calls? - Should
j9gc_flush_nonAllocationCaches_for_walk
andj9mm_iterate_all_continuation_objects
be invoked together? - Need to pass the correct
threadObject
towalkContinuationStackFrames
.
++ @fengxue-IS for a second set of eyes. |
aa66bbe
to
88cbd28
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
code lgtm, few minor format picks
7ac5535
to
2c3dddc
Compare
371257d
to
c38e8e0
Compare
I found more places that need the flush, so I've helperized acquiring exclusive in JVMTI (some of the callers don't strictly need the flush, but it's a tiny amount of time compared to acquiring exclusive). |
0b5d0b8
to
854e613
Compare
On reflection, I don't like the exclusive/flush solution. I think @babsingh initial idea is best - do the flush before the iterate. I'll update tomorrow. |
075368a
to
2506ab6
Compare
@dmitripivkine Please confirm it's OK to call |
Yes, I believe so. However it might be not optimum because once threads local buffers are flushed nothing should be added under the same exclusive. |
6d84cca
to
29a20a6
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
accidentally approved while juggling through multiple PRs.
@babsingh Ready for final review. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
minor formatting nits; otherwise, lgtm.
The breakpoint handling code was only fixing stacks actively running on a thread. The stacks for continuations also need to be fixed. Fixes: eclipse-openj9#18088 Signed-off-by: Graham Chapman <graham_chapman@ca.ibm.com>
jenkins test sanity zlinux jdk8,jdk21 |
jenkins compile win jdk8,jdk21 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- Only a known failure is seen in the PR builds, which is unrelated to this PR: cmdLineTester_criu_nonPortableRestore_4_FAILED FAILED: testMXBeanUpTime() - uptimeAfterCheckpoint 9437 can't be greater than uptimeBeforeCheckpoint 7751 + 1500 #18384
The breakpoint handling code was only fixing stacks actively running on
a thread. The stacks for continuations also need to be fixed.
Fixes: #18088
Signed-off-by: Graham Chapman graham_chapman@ca.ibm.com