[crac] RFR: 8372933: [CRaC] Restore failed due to incompatible or missing CPU features, try using -XX:CPUFeatures=0xfoo, 0xbar on checkpoint [v5]

Jan Kratochvil jkratochvil at openjdk.org
Mon Feb 2 15:04:50 UTC 2026


On Mon, 2 Feb 2026 07:28:00 GMT, Timofei Pushkin <tpushkin at openjdk.org> wrote:

>> Jan Kratochvil has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   get_failed_bitmap to return stored data
>
> src/hotspot/share/runtime/crac_engine.cpp line 514:
> 
>> 512:         image_features &= *datap;
>> 513:       }
>> 514:       log_error(crac)("Restore failed due to incompatible or missing CPU features, try using -XX:CPUFeatures=%s on checkpoint.", image_features.print_numbers());
> 
> In the exact case with this wording I believe `datap` should be printed, not `image_features`. Maybe it's a good idea to rename `datap` to `current_features` to avoid confusion, and also make it a reference instead of a pointer.

Fixed the exact case, thanks. Renamed it to `current_features` everywhere.

I normally used references for any non-null pointer everywhere but OpenJDK does not do that. I haven't found a coding style rule for it but apparently OpenJDK discourages references. Why do you suggest to use a reference here?

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

PR Review Comment: https://git.openjdk.org/crac/pull/278#discussion_r2754789611


More information about the crac-dev mailing list