[crac] RFR: Add debug flag to -XX:CREngine.

Kimura Yukihiro kyukihiro at openjdk.org
Fri Jan 5 12:57:02 UTC 2024


On Sun, 24 Dec 2023 23:45:29 GMT, Kimura Yukihiro <kyukihiro at openjdk.org> wrote:

> Hello everyone,
> 
> This is my first PR for the CRAC project. I propose three modifications to the criuengine.
> 
> Firstly, I suggest adding a debug flag to the criuengine, as some JDK C/C++ native codes have the debug flag. 
> My proposal is to pass the debug flag using "-XX:CREngine=criuengine,debug,true".
> 
> Secondly, the criuengine has a useful function, print_command_args_to_stderr(), which prints the criu command line. 
> However, it is only called when an error occurs. I believe it would be beneficial if the criu command line is printed when the debug flag is specified.
> 
> The criu command line is built from the parameter of -XX:CREngine and environment variables such as CRAC_CRIU_PATH and CRAC_CRIU_OPT. 
> It would be helpful to see how it is actually assembled.
> 
> For example:
>  $ export CRAC_CRIU_PATH=/work/criu-crac-release-1.4/sbin/criu
>  $ ./jdk/bin/java -XX:CREngine=/work/jdk/lib/criuengine,-v,3,-o,output3.log,-d,true -XX:CRaCCheckpointTo=cr Test
> 
>  Command: /work/criu-crac-release-1.4/sbin/criu dump -t 3232214 -D cr --shell-job '--verbosity=3' -o output3.log
> 
> Thirdly, I propose that the criuengine command line, which is executed by the JavaVM, be printed when "-XX:CREngine=criuengine,debug,true" is specified. 
> For example, 
>  CRaC info executing: /work/jdk/lib/criuengine checkpoint -v 3 -o output3.log -d true cr
> 
> Testing:
> I have verified the jdk/crac/VMOptionsTest.java, which is a test for -XX:CREngine. I believe it's unnecessary to add a test for the debug flag to it.
> 
> Could you please review these modifications?
> 
> Thank you,
> Kimura Yukihiro

I assume that some vendors provide the CRAC JDK, and other end users use them. 
When the JDK vendors support CRaC, I thought they might want to know from the logs how the end users specified CREngine, CRAC_CRIU_OPTS, CRTOOLS_SCRIPT_ACTION, etc.

-------------

PR Comment: https://git.openjdk.org/crac/pull/151#issuecomment-1878619569


More information about the crac-dev mailing list