Disable deadlock detection for GC thread shutdown - #17885
Conversation
0a46df9 to
211cf0e
Compare
There was a problem hiding this comment.
While running j9gc_prepare_for_checkpoint(currentThread), the non-checkpoint thread(s) such as wait/sleep/park (threadhelp.cpp:timeCompensationHelper) in single-threaded mode has a small window to proceed and will stop eventually due to J9_PUBLIC_FLAGS_HALT_THREAD_FOR_CHECKPOINT set for those threads.
There is no risk of JVMCheckpointException since the hooks are already finished.
The only side-effect I see is that this short run might affect the application hook results if it assumes all non-checkpoint threads are paused, do we accept such a small restriction?
There was a problem hiding this comment.
Ya, I was thinking about this, perhaps we need two flags
36fc62d to
6d3ebd2
Compare
|
jenkins test sanity xlinux jdk17 |
|
@JasonFengJ9 Do the changes in this build address the failures the intermittent inet issue? |
|
@tajila Just launched a 2000x grinder with The intermittent inet issue was reproducible at JDK21 zLinux For the best comparison, please provide a JDK21 zLinux SDK. |
|
The intermittent |
|
Okay, ill try something else |
5f1d68f to
b392275
Compare
|
jenkins test sanity xlinux jdk17 |
|
jenkins test sanity xlinux jdk17 |
|
@tajila Just launched a grinder - https://openj9-jenkins.osuosl.org/job/Grinder/2641/ |
|
@tajila The 2000x grinder #17885 (comment) passed. |
|
okay thats good |
There was a problem hiding this comment.
Probably not an issue, should this be before vm->extendedRuntimeFlags2 &= ~J9_EXTENDED_RUNTIME2_CRIU_SINGLE_THREAD_MODE;?
There was a problem hiding this comment.
Should be combined with the line below (for compactness, not correctness).
004ff04 to
2ebab0a
Compare
GC releases threads in a multi-thread fashion. Threads will need to remove themselves from the threadgroup which requires a lock. Disable deadlock detection temporarily while this happens. Also, delay shutdown of finalizer thread until after java hooks have run. Signed-off-by: Tobi Ajila <tobi_ajila@ca.ibm.com>
|
jenkins test sanity alinux64 jdk17 |
|
One of the testlists failed to launch properly (GIT appears very flaky today). |
|
The restart link in https://openj9-jenkins.osuosl.org/job/Pipeline_Build_Test_JDK17_aarch64_linux/1531/console just redirects back to console. |
|
You need to be logged in to jenkins, there is a login link top right. I restarted it but it failed again. |
|
It keeps failing, I don't know how to fix it. I have noticed jenkins is being really slow to respond today, maybe it needs a reboot. I've gotten a few gateway timeout errors. I've started a grinder to run the test. |
|
jenkins test sanity alinux64 jdk17 |
| * @return true if the Reference was successfully | ||
| * enqueued, false otherwise. | ||
| */ | ||
| /* [IF CRIU_SUPPORT] */ |
There was a problem hiding this comment.
This needs to be /*[IF CRIU_SUPPORT]*/, otherwise caused JDK8 compilation failure
/tmp/bld_55732/pConfig/pConfig_SIDECAR18-SE/src/java/lang/ref/Reference.java:119: error: cannot find symbol
@NotCheckpointSafe
^
symbol: class NotCheckpointSafe
FYI @TobiAjila
There was a problem hiding this comment.
Didn't see this before merge. @tajila If you don't fix this in the next few hours, I'll revert this for the long weekend.
There was a problem hiding this comment.
@JasonFengJ9 I dont understand the comment, /*[IF CRIU_SUPPORT]*/, was added
There was a problem hiding this comment.
And CRIU_SUPPORT is disabled for JDK8
There was a problem hiding this comment.
oh is it the spacing?
Disable deadlock detection for GC thread shutdown
GC releases threads in a multi-thread fashion. Threads will need to remove themselves from the threadgroup which requires a lock. Disable deadlock detection temporarily while this happens.