[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