Skip to content
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

CRIU supports Java debugger during checkpoint and restore #19405

Merged
merged 1 commit into from
May 21, 2024

Conversation

JasonFengJ9
Copy link
Member

@JasonFengJ9 JasonFengJ9 commented Apr 29, 2024

CRIU supports Java debugger during checkpoint and restore

Not suspend JDWP threads created in single-threaded mode, handle the JVMTI events during CRIU checkpoint and restore;
Changed the order of releaseSafeOrExcusiveVMAccess();
Fixed the order of restore phase hooks;
Identified JDWP threads via the thread object references instead of checking against the thread name;
Added more tracepoints.
Enabled an OpenJDK test/jdk/com/sun//jdi/JdwpAttachTest.java.

Required by

Superseded

Signed-off-by: Jason Feng fengj@ca.ibm.com

@JasonFengJ9 JasonFengJ9 requested a review from tajila April 29, 2024 13:36
@JasonFengJ9 JasonFengJ9 added comp:vm criu Used to track CRIU snapshot related work labels Apr 29, 2024
runtime/oti/vm_api.h Outdated Show resolved Hide resolved
@JasonFengJ9
Copy link
Member Author

@JasonFengJ9
Copy link
Member Author

Resolved the merge conflict.

runtime/vm/CRIUHelpers.cpp Outdated Show resolved Hide resolved
runtime/jvmti/jvmtiExtensionMechanism.c Show resolved Hide resolved
@tajila
Copy link
Contributor

tajila commented May 14, 2024

jenkins test sanity plinux jdk17

@pshipton
Copy link
Member

All plinux machines are offline for the foreseeable future.

@tajila
Copy link
Contributor

tajila commented May 15, 2024

jenkins test sanity alinux64 jdk17

@tajila
Copy link
Contributor

tajila commented May 16, 2024

@keithc-ca do you have any further comments?

@keithc-ca
Copy link
Contributor

I'll have another, closer look.

runtime/include/ibmjvmti.h Outdated Show resolved Hide resolved
runtime/jvmti/jvmtiExtensionMechanism.c Outdated Show resolved Hide resolved
runtime/vm/CRIUHelpers.cpp Outdated Show resolved Hide resolved
runtime/vm/CRIUHelpers.cpp Outdated Show resolved Hide resolved
@JasonFengJ9 JasonFengJ9 force-pushed the criurestoredbg branch 2 times, most recently from 0b5163a to c35f3b2 Compare May 16, 2024 22:41
@keithc-ca
Copy link
Contributor

I think the result looks good, but I suggest this should be squashed; we don't need commits that include incomplete conflict resolution, like 2f9d1d2 which add this to j9jvmti.tdf, vm_api.h, and other files:

<<<<<<< Upstream, based on master

@JasonFengJ9
Copy link
Member Author

I think the result looks good, but I suggest this should be squashed

Squashed

@keithc-ca
Copy link
Contributor

Please reformat the commit message to avoid overly long lines; see https://github.com/eclipse/omr/blob/master/CONTRIBUTING.md#commit-guidelines for guidance.

Not suspend JDWP threads created in single-threaded mode,
handle the JVMTI events during CRIU checkpoint and restore;
Changed the order of releaseSafeOrExcusiveVMAccess();
Fixed the order of restore phase hooks;
Identified JDWP threads via the thread object references
instead of checking against the thread name;
Added more tracepoints.

Signed-off-by: Jason Feng <fengj@ca.ibm.com>
@JasonFengJ9
Copy link
Member Author

Please reformat the commit message to avoid overly long lines;

Updated the commit message.

@keithc-ca
Copy link
Contributor

Jenkins test sanity alinux jdk21

@keithc-ca keithc-ca merged commit b164228 into eclipse-openj9:master May 21, 2024
5 checks passed
@JasonFengJ9 JasonFengJ9 deleted the criurestoredbg branch May 21, 2024 20:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:vm criu Used to track CRIU snapshot related work
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants