Skip to content
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

Micronaut AOT is not compatible with GraalVM 22 #282

Open
melix opened this issue Mar 25, 2024 · 1 comment
Open

Micronaut AOT is not compatible with GraalVM 22 #282

melix opened this issue Mar 25, 2024 · 1 comment
Assignees
Labels
type: bug Something isn't working

Comments

@melix
Copy link
Collaborator

melix commented Mar 25, 2024

Expected Behavior

Micronaut AOT optimized binaries should be compilable with GraalVM 22.

Actual Behaviour

Compilation fails with errors like:

You now have two options to resolve this:

1) If it is intended that objects of type 'io.micronaut.core.async.publisher.PublishersOptimizations' are persisted in the image heap, add 

    '--initialize-at-build-time=io.micronaut.core.async.publisher.PublishersOptimizations'

for all optimizations. These optimizations should be initialized at build time but they have to be explicit now.

e.g I had to add this to a sample app:

graalvmNative {
   binaries.all {
      buildArgs.add("--initialize-at-build-time=io.micronaut.security.authentication.AuthenticationMode")
      buildArgs.add("--initialize-at-build-time=io.micronaut.security.token.jwt.signature.jwks.DefaultJwkSetFetcher\$Optimizations")
      buildArgs.add("--initialize-at-build-time=io.micronaut.security.converters.PrincipalToStringConverter")
      buildArgs.add("--initialize-at-build-time=io.micronaut.core.reflect.ClassUtils\$Optimizations")
      buildArgs.add("--initialize-at-build-time=io.micronaut.core.async.publisher.PublishersOptimizations")
      buildArgs.add("--initialize-at-build-time=com.nimbusds.jose.Requirement")
      buildArgs.add("--initialize-at-build-time=io.micronaut.context.ApplicationContextConfigurer$1")
      buildArgs.add("--initialize-at-build-time=com.example.rest.TypeConverterRegistrarFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.PropertySourceLoaderFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.HttpResponseFactoryFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.HttpRequestFactoryFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.BeanIntrospectionReferenceFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.BeanConfigurationFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.BeanDefinitionReferenceFactory")
      buildArgs.add("--initialize-at-build-time=com.example.rest.PropertyExpressionResolverFactory")
   }
}

Steps To Reproduce

No response

Environment Information

No response

Example Application

No response

Version

4.3.7

@melix melix added the type: bug Something isn't working label Mar 25, 2024
@melix melix self-assigned this Mar 25, 2024
@sdelamo
Copy link
Contributor

sdelamo commented Apr 13, 2024

can we close this due to #283?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: bug Something isn't working
Projects
No open projects
Status: No status
Development

No branches or pull requests

2 participants