[crac] Integrated: 8347062: [CRaC] Support checkpoint/restore in JDWP
Timofei Pushkin
tpushkin at openjdk.org
Thu Jan 9 19:40:57 UTC 2025
On Wed, 8 Jan 2025 10:08:43 GMT, Timofei Pushkin <tpushkin at openjdk.org> wrote:
> Adds debugger support for CRaC. The following description was provided by @wkia (who is the author of the implementation itself).
>
> JDWP defines three new functions:
> - `OnBeforeCheckpoint` callback
> - `OnAfterRestore` callback
> - `subscribe_crac_events` function which is called on `Agent_OnLoad` and sets the callbacks for CRaC events
>
> Currently the following scenarios are possible for users running their application with `-agentlib:jdwp=transport=dt_socket,server=y`:
> 1. Application was run with `suspend=n`
> - Socket is closed before checkpoint and opened after restore
> - After restore the app will continue running
> 2. Application was run with `suspend=y`, the debugger is disconnected on checkpoint
> - Socket is closed before checkpoint
> - Socket is opened after restore, JDWP waits for an incoming connection blocking the restoration process
> - After the connection is established restore completes and the app will continue running; the user needs to run `suspend` command in debugger to suspend the app
> 3. Application was run with `suspend=y`, the debugger is still connected on checkpoint
> - Socket is closed before checkpoint, the debugger is disconnected
> - Socket is opened after restore, JDWP waits for an incoming connection blocking the restoration process
> - After the connection is established restore completes and the app will continue running; the user needs to run `suspend` command in debugger to suspend the app
This pull request has now been integrated.
Changeset: 6904c44a
Author: Timofei Pushkin <tpushkin at openjdk.org>
Committer: Radim Vansa <rvansa at openjdk.org>
URL: https://git.openjdk.org/crac/commit/6904c44a1139ce776130e0da476c233d82bc1997
Stats: 305 lines in 9 files changed: 301 ins; 0 del; 4 mod
8347062: [CRaC] Support checkpoint/restore in JDWP
Co-authored-by: Timofei Pushkin <tpushkin at openjdk.org>
-------------
PR: https://git.openjdk.org/crac/pull/174
More information about the crac-dev
mailing list