[crac] RFR: 8347062: [CRaC] Support checkpoint/restore in JDWP
duke
duke at openjdk.org
Wed Jan 8 13:07:53 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
@TimPushkin
Your change (at version 74a06d5c42552563e4d61226dabb6ed774eb0f04) is now ready to be sponsored by a Committer.
-------------
PR Comment: https://git.openjdk.org/crac/pull/174#issuecomment-2577626707
More information about the crac-dev
mailing list