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

Unable to use @ClientExceptionMapper in native build #23766

Closed
manofthepeace opened this issue Feb 16, 2022 · 11 comments · Fixed by #23830 or #23936
Closed

Unable to use @ClientExceptionMapper in native build #23766

manofthepeace opened this issue Feb 16, 2022 · 11 comments · Fixed by #23830 or #23936
Assignees
Labels
area/rest-client kind/bug Something isn't working
Milestone

Comments

@manofthepeace
Copy link
Contributor

Describe the bug

While building I get this exception;

Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.acme.RestService.toException(javax.ws.rs.core.Response).

I tried making the method public, and registering the interface for reflection but it did not work.

cc @geoand

Expected behavior

Graalvm build should work

Actual behavior

Graalvm build fails with an exception

How to Reproduce?

I dont have a reproducer now, but I can provide one in needed.

Output of uname -a or ver

Darwin Kernel Version 20.6.0

Output of java -version

openjdk version "17.0.2" 2022-01-18

GraalVM version (if different from Java)

GraalVM 21.3.1 Java 17 CE

Quarkus version or git rev

2.7.1

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.8.4

Additional information

No response

@manofthepeace manofthepeace added the kind/bug Something isn't working label Feb 16, 2022
@geoand
Copy link
Contributor

geoand commented Feb 16, 2022

Interesting, I'll take a look soon

@manofthepeace
Copy link
Contributor Author

I have found the issue. While trying to make a reproducer, the reproducer worked just fine. The problem was that my restClient interface had a custom interceptor. Unsure at all why but it made the graalVM fail.

To fix the issue I did annotate the toException method with @NoClassInterceptors and the error went away.

something like this;

@RegisterRestClient(configKey = "api")
@RegisterProvider(ExceptionMapper.class)
@MyInterceptor
public interface ReactiveClient {

    @GET
    @Path("/hello")
    public Uni<String> testApi();

    @NoClassInterceptors
    @ClientExceptionMapper(priority = Priorities.USER - 1)
    static RuntimeException toException(Response response) {
        if (response.getStatus() == Status.NOT_FOUND.getStatusCode()) {
            return new NotFoundException("FROM CLIENT");
        }
        return null;
    }
}

I'll let you close the issue if you think this is a normal behaviour. Thanks you for your time.

@geoand
Copy link
Contributor

geoand commented Feb 17, 2022

Thanks for the update.

Mind showing the code for the interceptor as well?

Asking because I tried to reproduce the problem with a sample interceptor and I could not

@quarkus-bot
Copy link

quarkus-bot bot commented Feb 17, 2022

/cc @michalszynkiewicz

@manofthepeace
Copy link
Contributor Author

I am oddly totally unable to create a reproducer for it, even if I copy my annotation in totality.

I can at least put my full stacktrace here in case there is anything that could shed some light on what is happening, in the meantime I try to create a reproducer. With my "real" app, I get it consistently.

[INFO] --- quarkus-maven-plugin:2.7.1.Final:build (default) @ quarkus ---
[WARNING] [io.quarkus.micrometer.deployment.binder.mpmetrics.MicroprofileMetricsProcessor] This application uses the MP Metrics API. The micrometer extension currently provides a compatibility layer that supports the MP Metrics API, but metric names and recorded values will be different. Note that the MP Metrics compatibility layer will move to a different extension in the future.
[INFO] [io.quarkus.deployment.pkg.steps.JarResultBuildStep] Building native image source jar: /Users/alex/code/quarkus/target/quarkus-1.0.0-native-image-source-jar/quarkus-1.0.0-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Building native image from /Users/alex/code/quarkus/target/quarkus-1.0.0-native-image-source-jar/quarkus-1.0.0-runner.jar
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildStep] Running Quarkus native-image plugin on GraalVM 21.3.1 Java 17 CE (Java Version 17.0.2+8-jvmci-21.3-b09)
[INFO] [io.quarkus.deployment.pkg.steps.NativeImageBuildRunner] /Users/alex/tools/graalvm-ce-java17-21.3.1/Contents/Home/bin/native-image -J-Djava.util.logging.manager=org.jboss.logmanager.LogManager -J-Dsun.nio.ch.maxUpdateArraySize=100 -J-Dvertx.logger-delegate-factory-class-name=io.quarkus.vertx.core.runtime.VertxLogDelegateFactory -J-Dvertx.disableDnsResolver=true -J-Dio.netty.leakDetection.level=DISABLED -J-Dio.netty.allocator.maxOrder=3 -J-Duser.language=en -J-Duser.country=CA -J-Dfile.encoding=UTF-8 -H:-ParseOnce -J--add-exports=java.security.jgss/sun.security.krb5=ALL-UNNAMED -J--add-opens=java.base/java.text=ALL-UNNAMED -H:InitialCollectionPolicy=com.oracle.svm.core.genscavenge.CollectionPolicy\$BySpaceAndTime -H:+JNI -H:+AllowFoldMethods -J-Djava.awt.headless=true -H:FallbackThreshold=0 -H:+ReportExceptionStackTraces -H:-AddAllCharsets -H:EnableURLProtocols=http,https -H:-UseServiceLoaderFeature -H:+StackTrace quarkus-1.0.0-runner -jar quarkus-1.0.0-runner.jar
[quarkus-1.0.0-runner:6568]    classlist:   2,348.30 ms,  1.19 GB
[quarkus-1.0.0-runner:6568]        (cap):   1,520.81 ms,  1.19 GB
[quarkus-1.0.0-runner:6568]        setup:   3,292.22 ms,  1.19 GB
10:21:06,604 INFO  [org.hib.val.int.uti.Version] HV000001: Hibernate Validator 6.2.1.Final
10:21:27,914 INFO  [org.jbo.threads] JBoss Threads version 3.4.2.Final
[quarkus-1.0.0-runner:6568]     (clinit):     737.70 ms,  4.07 GB
[quarkus-1.0.0-runner:6568]   (typeflow):   3,332.12 ms,  4.07 GB
[quarkus-1.0.0-runner:6568]    (objects):  33,179.56 ms,  4.07 GB
[quarkus-1.0.0-runner:6568]   (features):   2,220.16 ms,  4.07 GB
[quarkus-1.0.0-runner:6568]     analysis:  41,377.00 ms,  4.07 GB
Error: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.acme.rest.EventService.toException(javax.ws.rs.core.Response). To diagnose the issue you can use the --allow-incomplete-classpath option. The missing method is then reported at run time when it is accessed the first time.
Detailed message:
Trace:
    at parsing org.acme.rest.EventService$$CDIWrapper.toException(Unknown Source)
Call path from entry point to org.acme.rest.EventService$$CDIWrapper.toException(Response):
    at org.acme.rest.EventService$$CDIWrapper.toException(Unknown Source)
    at org.acme.rest.EventService$$CDIWrapper_Subclass.toException$$superforward1(Unknown Source)
    at org.acme.rest.EventService$$CDIWrapper_Subclass$$function$$3.apply(Unknown Source)
    at sun.security.ec.ParametersMap$1.get(ParametersMap.java:78)
    at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:216)
    at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:169)
    at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:287)
    at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_ARRAY_System_getProperty_deeeaa72a006d330408a3b7d002c7533e108bc28(generated:0)

com.oracle.svm.core.util.UserError$UserException: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.acme.rest.EventService.toException(javax.ws.rs.core.Response). To diagnose the issue you can use the --allow-incomplete-classpath option. The missing method is then reported at run time when it is accessed the first time.
Detailed message:
Trace:
    at parsing org.acme.rest.EventService$$CDIWrapper.toException(Unknown Source)
Call path from entry point to org.acme.rest.EventService$$CDIWrapper.toException(Response):
    at org.acme.rest.EventService$$CDIWrapper.toException(Unknown Source)
    at org.acme.rest.EventService$$CDIWrapper_Subclass.toException$$superforward1(Unknown Source)
    at org.acme.rest.EventService$$CDIWrapper_Subclass$$function$$3.apply(Unknown Source)
    at sun.security.ec.ParametersMap$1.get(ParametersMap.java:78)
    at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:216)
    at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:169)
    at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:287)
    at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_ARRAY_System_getProperty_deeeaa72a006d330408a3b7d002c7533e108bc28(generated:0)

    at com.oracle.svm.core.util.UserError.abort(UserError.java:87)
    at com.oracle.svm.hosted.FallbackFeature.reportAsFallback(FallbackFeature.java:233)
    at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:759)
    at com.oracle.svm.hosted.NativeImageGenerator.doRun(NativeImageGenerator.java:529)
    at com.oracle.svm.hosted.NativeImageGenerator.run(NativeImageGenerator.java:488)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner.buildImage(NativeImageGeneratorRunner.java:403)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner.build(NativeImageGeneratorRunner.java:569)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner.main(NativeImageGeneratorRunner.java:122)
    at com.oracle.svm.hosted.NativeImageGeneratorRunner$JDK9Plus.main(NativeImageGeneratorRunner.java:599)
Caused by: com.oracle.graal.pointsto.constraints.UnsupportedFeatureException: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.acme.rest.EventService.toException(javax.ws.rs.core.Response). To diagnose the issue you can use the --allow-incomplete-classpath option. The missing method is then reported at run time when it is accessed the first time.
Detailed message:
Trace:
    at parsing org.acme.rest.EventService$$CDIWrapper.toException(Unknown Source)
Call path from entry point to org.acme.rest.EventService$$CDIWrapper.toException(Response):
    at org.acme.rest.EventService$$CDIWrapper.toException(Unknown Source)
    at org.acme.rest.EventService$$CDIWrapper_Subclass.toException$$superforward1(Unknown Source)
    at org.acme.rest.EventService$$CDIWrapper_Subclass$$function$$3.apply(Unknown Source)
    at sun.security.ec.ParametersMap$1.get(ParametersMap.java:78)
    at com.oracle.svm.core.jdk.SystemPropertiesSupport.initializeLazyValue(SystemPropertiesSupport.java:216)
    at com.oracle.svm.core.jdk.SystemPropertiesSupport.getProperty(SystemPropertiesSupport.java:169)
    at com.oracle.svm.core.jdk.Target_java_lang_System.getProperty(JavaLangSubstitutions.java:287)
    at com.oracle.svm.jni.JNIJavaCallWrappers.jniInvoke_ARRAY_System_getProperty_deeeaa72a006d330408a3b7d002c7533e108bc28(generated:0)

    at com.oracle.graal.pointsto.constraints.UnsupportedFeatures.report(UnsupportedFeatures.java:126)
    at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:756)
    ... 6 more
Caused by: com.oracle.graal.pointsto.constraints.UnresolvedElementException: Discovered unresolved method during parsing: org.acme.rest.EventService.toException(javax.ws.rs.core.Response). To diagnose the issue you can use the --allow-incomplete-classpath option. The missing method is then reported at run time when it is accessed the first time.
    at com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.reportUnresolvedElement(SharedGraphBuilderPhase.java:307)
    at com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedMethod(SharedGraphBuilderPhase.java:298)
    at com.oracle.svm.hosted.phases.SharedGraphBuilderPhase$SharedBytecodeParser.handleUnresolvedInvoke(SharedGraphBuilderPhase.java:252)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1805)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.genInvokeSpecial(BytecodeParser.java:1795)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBytecode(BytecodeParser.java:5418)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.iterateBytecodesForBlock(BytecodeParser.java:3477)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.handleBytecodeBlock(BytecodeParser.java:3437)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.processBlock(BytecodeParser.java:3282)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.build(BytecodeParser.java:1145)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.BytecodeParser.buildRootMethod(BytecodeParser.java:1030)
    at jdk.internal.vm.compiler/org.graalvm.compiler.java.GraphBuilderPhase$Instance.run(GraphBuilderPhase.java:84)
    at com.oracle.svm.hosted.phases.SharedGraphBuilderPhase.run(SharedGraphBuilderPhase.java:81)
    at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.run(Phase.java:49)
    at jdk.internal.vm.compiler/org.graalvm.compiler.phases.BasePhase.apply(BasePhase.java:212)
    at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:42)
    at jdk.internal.vm.compiler/org.graalvm.compiler.phases.Phase.apply(Phase.java:38)
    at com.oracle.graal.pointsto.flow.AnalysisParsedGraph.parseBytecode(AnalysisParsedGraph.java:132)
    at com.oracle.graal.pointsto.meta.AnalysisMethod.ensureGraphParsed(AnalysisMethod.java:616)
    at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.parse(MethodTypeFlowBuilder.java:163)
    at com.oracle.graal.pointsto.flow.MethodTypeFlowBuilder.apply(MethodTypeFlowBuilder.java:321)
    at com.oracle.graal.pointsto.flow.MethodTypeFlow.createTypeFlow(MethodTypeFlow.java:293)
    at com.oracle.graal.pointsto.flow.MethodTypeFlow.ensureTypeFlowCreated(MethodTypeFlow.java:282)
    at com.oracle.graal.pointsto.flow.MethodTypeFlow.addContext(MethodTypeFlow.java:103)
    at com.oracle.graal.pointsto.DefaultAnalysisPolicy$DefaultSpecialInvokeTypeFlow.onObservedUpdate(DefaultAnalysisPolicy.java:363)
    at com.oracle.graal.pointsto.flow.TypeFlow$1.run(TypeFlow.java:449)
    at com.oracle.graal.pointsto.util.CompletionExecutor.executeCommand(CompletionExecutor.java:188)
    at com.oracle.graal.pointsto.util.CompletionExecutor.lambda$executeService$0(CompletionExecutor.java:172)
    at java.base/java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1395)
    at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373)
    at java.base/java.util.concurrent.ForkJoinPool.externalHelpQuiescePool(ForkJoinPool.java:2104)
    at java.base/java.util.concurrent.ForkJoinPool.awaitQuiescence(ForkJoinPool.java:3321)
    at com.oracle.graal.pointsto.util.CompletionExecutor.complete(CompletionExecutor.java:238)
    at com.oracle.graal.pointsto.PointsToAnalysis.checkObjectGraph(PointsToAnalysis.java:680)
    at com.oracle.graal.pointsto.PointsToAnalysis.finish(PointsToAnalysis.java:644)
    at com.oracle.svm.hosted.NativeImageGenerator.runPointsToAnalysis(NativeImageGenerator.java:704)
    ... 6 more
[quarkus-1.0.0-runner:6568]      [total]:  47,320.80 ms,  4.07 GB
# Printing build artifacts to: /Users/alex/code/quarkus/target/quarkus-1.0.0-native-image-source-jar/quarkus-1.0.0-runner.build_artifacts.txt
Error: Image build request failed with exit status 1
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  58.411 s
[INFO] Finished at: 2022-02-17T10:21:47-05:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal io.quarkus.platform:quarkus-maven-plugin:2.7.1.Final:build (default) on project quarkus: Failed to build quarkus application: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[ERROR]     [error]: Build step io.quarkus.deployment.pkg.steps.NativeImageBuildStep#build threw an exception: io.quarkus.deployment.pkg.steps.NativeImageBuildStep$ImageGenerationFailureException: Image generation failed. Exit code: 1
[ERROR]     at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.imageGenerationFailed(NativeImageBuildStep.java:391)
[ERROR]     at io.quarkus.deployment.pkg.steps.NativeImageBuildStep.build(NativeImageBuildStep.java:232)
[ERROR]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[ERROR]     at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
[ERROR]     at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[ERROR]     at java.base/java.lang.reflect.Method.invoke(Method.java:568)
[ERROR]     at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:882)
[ERROR]     at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
[ERROR]     at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
[ERROR]     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
[ERROR]     at java.base/java.lang.Thread.run(Thread.java:833)
[ERROR]     at org.jboss.threads.JBossThread.run(JBossThread.java:501)
[ERROR] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

@geoand
Copy link
Contributor

geoand commented Feb 17, 2022

Thanks

@manofthepeace
Copy link
Contributor Author

@geoand I have made a reproducer here

I see a couple of issues. So in the end what I thought was working wasn't. Build would work, but it would not work at runtime

  1. In EventService.java you will see I commented out the @NoClassInterceptors
    in this scenario, mvn clean package -Pnative will fail with the exception I pasted above

  2. In EventService.java if you uncomment the @NoClassInterceptor
    the native build will go through, but will fail right away at runtime with the following;

Caused by: java.lang.IllegalArgumentException: Failed to instantiate provider class org.acme.restClient.Event.EventService_toException_ResponseExceptionMapper_755d4bf7b8544dc0f7351820572df6985c3bde0f. Does it have a public no-arg constructor?
...
Caused by: java.lang.NoSuchMethodException: org.acme.restClient.Event.EventService_toException_ResponseExceptionMapper_755d4bf7b8544dc0f7351820572df6985c3bde0f.<init>()

Do you think maybe the bug could be reopened?

@geoand
Copy link
Contributor

geoand commented Feb 18, 2022

Thanks.

I'll have a look next week and reopen the issue if necessary.

@geoand geoand reopened this Feb 21, 2022
@quarkus-bot quarkus-bot bot removed the triage/invalid This doesn't seem right label Feb 21, 2022
@geoand geoand self-assigned this Feb 21, 2022
geoand added a commit to geoand/quarkus that referenced this issue Feb 21, 2022
@geoand
Copy link
Contributor

geoand commented Feb 21, 2022

#23830 fixes the issue

geoand added a commit that referenced this issue Feb 21, 2022
Don't copy static methods to CDI Wrapper of REST Client
@quarkus-bot quarkus-bot bot added this to the 2.8 - main milestone Feb 21, 2022
@gsmet gsmet modified the milestones: 2.8 - main, 2.7.2.Final Feb 21, 2022
gsmet pushed a commit to gsmet/quarkus that referenced this issue Feb 21, 2022
@manofthepeace
Copy link
Contributor Author

@geoand I still have the issue on 2.7.2.Final.

You can try the same reproducer I just updated the pom version to use 2.7.2, the rest is the same.

Reproducer here

Steps;

  1. mvn clean package -Pnative
  2. ./target/nativemapper-1.0.0-runner

Exception:

Caused by: java.lang.IllegalArgumentException: Failed to instantiate provider class org.acme.EventService_toException_ResponseExceptionMapper_755d4bf7b8544dc0f7351820572df6985c3bde0f. Does it have a public no-arg constructor?
	at io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl.registerMpSpecificProvider(RestClientBuilderImpl.java:254)
	at io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl.register(RestClientBuilderImpl.java:182)
	at io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl.build(RestClientBuilderImpl.java:287)
	at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.build(RestClientCDIDelegateBuilder.java:75)
	at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.build(RestClientCDIDelegateBuilder.java:62)
	at io.quarkus.rest.client.reactive.runtime.RestClientCDIDelegateBuilder.createDelegate(RestClientCDIDelegateBuilder.java:41)
	at io.quarkus.rest.client.reactive.runtime.RestClientReactiveCDIWrapperBase.<init>(RestClientReactiveCDIWrapperBase.java:20)
	at org.acme.EventService$$CDIWrapper.<init>(Unknown Source)
	at org.acme.EventService$$CDIWrapper_ClientProxy.<init>(Unknown Source)
	at org.acme.EventService$$CDIWrapper_Bean.proxy(Unknown Source)
	at org.acme.EventService$$CDIWrapper_Bean.get(Unknown Source)
	at org.acme.EventService$$CDIWrapper_Bean.get(Unknown Source)
	... 20 more
Caused by: java.lang.NoSuchMethodException: org.acme.EventService_toException_ResponseExceptionMapper_755d4bf7b8544dc0f7351820572df6985c3bde0f.<init>()
	at java.lang.Class.getConstructor0(DynamicHub.java:3585)
	at java.lang.Class.getDeclaredConstructor(DynamicHub.java:2754)
	at io.quarkus.rest.client.reactive.runtime.RestClientBuilderImpl.registerMpSpecificProvider(RestClientBuilderImpl.java:252)
	... 31 more

@geoand
Copy link
Contributor

geoand commented Feb 23, 2022

Thanks, I'll have a look tomorrow

@geoand geoand reopened this Feb 23, 2022
geoand added a commit to geoand/quarkus that referenced this issue Feb 24, 2022
geoand added a commit that referenced this issue Feb 25, 2022
Make sure @ClientExceptionMapper works properly in native mode
@geoand geoand removed this from the 2.7.2.Final milestone Feb 25, 2022
@gsmet gsmet added this to the 2.7.3.Final milestone Feb 28, 2022
gsmet pushed a commit to gsmet/quarkus that referenced this issue Feb 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/rest-client kind/bug Something isn't working
Projects
None yet
3 participants