[crac] RFR: 8372933: [CRaC] Restore failed due to incompatible or missing CPU features, try using -XX:CPUFeatures=0xfoo, 0xbar on checkpoint [v6]
Radim Vansa
rvansa at openjdk.org
Mon Feb 2 08:09:49 UTC 2026
On Sat, 31 Jan 2026 13:31:03 GMT, Jan Kratochvil <jkratochvil at openjdk.org> wrote:
>> Since [JDK-8368929](https://bugs.openjdk.org/browse/JDK-8368929) the message:
>>
>>
>> Restore failed due to incompatible or missing CPU features, try using -XX:CPUFeatures=0xe14e1805fdfbf7,0xfcc on checkpoint.
>>
>>
>> is wrong as it does not do logical and of both CPUFeatures masks.
>>
>> Yes, I should have caught it during [JDK-8368929](https://bugs.openjdk.org/browse/JDK-8368929) review.
>>
>> @rvansa will probably want to change the API but this is a PoC how it should work.
>
> Jan Kratochvil has updated the pull request incrementally with one additional commit since the last revision:
>
> Fix non-x86 builds
src/hotspot/share/include/crlib/crlib_image_constraints.h line 68:
> 66:
> 67: // For failed require_bitmap it will copy value from the image to the provided buffer.
> 68: bool (*get_failed_bitmap)(crlib_conf_t *, const char *name, unsigned char *value_return, size_t value_size);
>From this API, I don't see how you'd get to know the size of the stored value. Could you either report that as the return value (`-1` => error retrieving, `0` => bitmap missing or empty)?
Alternatively `value_size` could be an in-out argument. (the former would be inline with `crlib_restore_data::get_restore_data`, the latter is used in `crlib_user_data::lookup_user_data`)
And add a comment describing the return value/parameter.
-------------
PR Review Comment: https://git.openjdk.org/crac/pull/278#discussion_r2753069781
More information about the crac-dev
mailing list