New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix GraalVM native image build error #9593
Conversation
See micronaut-projects/micronaut-grpc#8: ``` Error: Class that is marked for delaying initialization to run time got initialized during image building: io.netty.handler.codec.http2.Http2CodecUtil. Try marking this class for build-time initialization with --initialize-at-build-time=io.netty.handler.codec.http2.Http2CodecUtil Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception Error: Image build request failed with exit status 1 ``` After debugging, it seems the culprit is `io.netty.handler.codec.http2.Http2ClientUpgradeCodec`, which also needs runtime initialisation.
Can one of the admins verify this patch? |
@netty-bot test this please |
I believe this fix is correct, from the offending class I can see: static {
UPGRADE_HEADERS = Collections.singletonList(Http2CodecUtil.HTTP_UPGRADE_SETTINGS_HEADER);
} Which depends on a class that must be initialized at runtime I'll let @vjovanov to analyse further as I believe he has more insights on how the compiler works. |
All looks good, thanks! |
@pete-woods can you please sign our ICLA and let me know once done: |
Done |
@pete-woods thanks a lot |
Motivation: Error: Class that is marked for delaying initialization to run time got initialized during image building: io.netty.handler.codec.http2.Http2CodecUtil. Try marking this class for build-time initialization with --initialize-at-build-time=io.netty.handler.codec.http2.Http2CodecUtil Error: Use -H:+ReportExceptionStackTraces to print stacktrace of underlying exception Error: Image build request failed with exit status 1 Modification: After debugging, it seems the culprit is io.netty.handler.codec.http2.Http2ClientUpgradeCodec, which also needs runtime initialisation. Result: Fixes #micronaut-projects/micronaut-grpc#8
Motivation:
Modification:
After debugging, it seems the culprit is
io.netty.handler.codec.http2.Http2ClientUpgradeCodec
, which also needs runtime initialisation.Result:
Fixes #micronaut-projects/micronaut-grpc#8