fix(native-image): add support for --strict-image-heap #1159
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
GraalVM for JDK 22 (release notes) enables the
--strict-image-heap
option by default, which requires all objects stored in the native-image heap to be marked as build-time initialized.Issue can be reproduced on GraalVM for JDK 21 by adding
--strict-image-heap
as native-image cli argument. This is however not a future-proof testing setup as the option will be removed in a future GraalVM release. As form of validation, GraalVM for JDK 22 was added to the test suite.Proof this does fix the issue:
--initialize-at-build-time=org.sqlite.util.ProcessRunner
error.fixes #1158