JwksCacheSpec JWK are cached FAILED
io.micronaut.http.client.exceptions.HttpClientResponseException: Internal Server Error
at app//io.micronaut.http.client.netty.DefaultHttpClient.makeErrorFromRequestBody(DefaultHttpClient.java:2140)
at app//io.micronaut.http.client.netty.DefaultHttpClient.handleExchangeResponse(DefaultHttpClient.java:960)
at app//io.micronaut.http.client.netty.DefaultHttpClient.lambda$exchange$4(DefaultHttpClient.java:913)
at app//io.micronaut.core.execution.ImperativeExecutionFlowImpl.flatMap(ImperativeExecutionFlowImpl.java:73)
at app//io.micronaut.http.client.netty.DefaultHttpClient.lambda$exchange$2(DefaultHttpClient.java:913)
at app//io.micronaut.http.client.netty.DefaultHttpClient.lambda$sendRequestWithRedirectsNoFilter$1(DefaultHttpClient.java:1666)
at app//io.micronaut.core.execution.ImperativeExecutionFlowImpl.flatMap(ImperativeExecutionFlowImpl.java:73)
at app//io.micronaut.core.execution.DelayedExecutionFlowImpl$FlatMap.apply(DelayedExecutionFlowImpl.java:379)
at app//io.micronaut.core.execution.DelayedExecutionFlowImpl.work(DelayedExecutionFlowImpl.java:62)
at app//io.micronaut.core.execution.DelayedExecutionFlowImpl.completeLazy(DelayedExecutionFlowImpl.java:82)
at app//io.micronaut.core.execution.DelayedExecutionFlowImpl.complete(DelayedExecutionFlowImpl.java:101)
at app//io.micronaut.http.client.netty.DefaultHttpClient$6.complete(DefaultHttpClient.java:1763)
at app//io.micronaut.http.client.netty.Http1ResponseHandler$BufferedContent.complete(Http1ResponseHandler.java:227)
at app//io.micronaut.http.client.netty.Http1ResponseHandler$BufferedContent.read(Http1ResponseHandler.java:194)
at app//io.micronaut.http.client.netty.Http1ResponseHandler$BufferedContent.read(Http1ResponseHandler.java:161)
at app//io.micronaut.http.client.netty.Http1ResponseHandler.channelReadInstrumented(Http1ResponseHandler.java:75)
at app//io.micronaut.http.client.netty.Http1ResponseHandler.channelReadInstrumented(Http1ResponseHandler.java:50)
at app//io.micronaut.http.client.netty.SimpleChannelInboundHandlerInstrumented.lambda$channelRead0$0(SimpleChannelInboundHandlerInstrumented.java:46)
at app//io.micronaut.core.propagation.ThreadContext.propagate(ThreadContext.java:111)
at app//io.micronaut.core.propagation.PropagatedContextImpl.propagateCall(PropagatedContextImpl.java:121)
at app//io.micronaut.http.client.netty.SimpleChannelInboundHandlerInstrumented.channelRead0(SimpleChannelInboundHandlerInstrumented.java:45)
at app//io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:99)
at app//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at app//io.netty.handler.codec.http.HttpContentDecoder.decode(HttpContentDecoder.java:170)
at app//io.netty.handler.codec.http.HttpContentDecoder.decode(HttpContentDecoder.java:48)
at app//io.netty.handler.codec.MessageToMessageDecoder.channelRead(MessageToMessageDecoder.java:91)
at app//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at app//io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:434)
at app//io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:361)
at app//io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:325)
at app//io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:249)
at app//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at app//io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:288)
at app//io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at app//io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429)
at app//io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
at app//io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:176)
at app//io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445)
at app//io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388)
at app//io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596)
at app//io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:541)
at app//io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:514)
at app//io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484)
at app//io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
at app//io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
at app//io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195)
at app//io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at app//io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base@25.0.2/java.lang.Thread.run(Thread.java:1474)
19:24:51.260 [main] INFO i.m.context.env.DefaultEnvironment - Established active environments: [test]
19:24:51.545 [main] INFO i.m.context.env.DefaultEnvironment - Established active environments: [test]
19:24:51.580 [main] INFO i.m.context.env.DefaultEnvironment - Established active environments: [test]
19:24:51.623 [main] INFO i.m.context.env.DefaultEnvironment - Established active environments: [test]
19:24:52.553 [default-eventLoopGroup-4-1] ERROR i.m.http.server.RouteExecutor - Unexpected error occurred: Error instantiating bean of type [io.micronaut.security.token.generator.DefaultAccessRefreshTokenGenerator]
Message: Recursive update
Path Taken:
new i.m.s.e.LoginController(Authenticator<HttpRequest<Object>> authenticator, LoginHandler<HttpRequest<Object>, MutableHttpResponse<Object>> loginHandler, ApplicationEventPublisher<LoginSuccessfulEvent> loginSuccessfulEventPublisher, ApplicationEventPublisher<LoginFailedEvent> loginFailedEventPublisher, HttpHostResolver httpHostResolver, HttpLocaleResolver httpLocaleResolver, LoginControllerConfiguration loginControllerConfiguration)
---> new i.m.s.e.LoginController(Authenticator<HttpRequest<Object>> authenticator, [LoginHandler<HttpRequest<Object>, MutableHttpResponse<Object>> loginHandler], ApplicationEventPublisher<LoginSuccessfulEvent> loginSuccessfulEventPublisher, ApplicationEventPublisher<LoginFailedEvent> loginFailedEventPublisher, HttpHostResolver httpHostResolver, HttpLocaleResolver httpLocaleResolver, LoginControllerConfiguration loginControllerConfiguration)
---> new @j.i.Singleton i.m.s.t.b.AccessRefreshTokenLoginHandler([AccessRefreshTokenGenerator accessRefreshTokenGenerator])
---> new @j.i.Singleton i.m.s.t.g.DefaultAccessRefreshTokenGenerator(AccessTokenConfiguration accessTokenConfiguration, TokenRenderer tokenRenderer, [TokenGenerator tokenGenerator], BeanContext beanContext, RefreshTokenGenerator refreshTokenGenerator, ClaimsGenerator claimsGenerator, ApplicationEventPublisher<RefreshTokenGeneratedEvent> refreshTokenGeneratedEventPublisher, ApplicationEventPublisher<AccessTokenGeneratedEvent> accessTokenGeneratedEventPublisher)
io.micronaut.context.exceptions.BeanInstantiationException: Error instantiating bean of type [io.micronaut.security.token.generator.DefaultAccessRefreshTokenGenerator]
Message: Recursive update
Path Taken:
new i.m.s.e.LoginController(Authenticator<HttpRequest<Object>> authenticator, LoginHandler<HttpRequest<Object>, MutableHttpResponse<Object>> loginHandler, ApplicationEventPublisher<LoginSuccessfulEvent> loginSuccessfulEventPublisher, ApplicationEventPublisher<LoginFailedEvent> loginFailedEventPublisher, HttpHostResolver httpHostResolver, HttpLocaleResolver httpLocaleResolver, LoginControllerConfiguration loginControllerConfiguration)
---> new i.m.s.e.LoginController(Authenticator<HttpRequest<Object>> authenticator, [LoginHandler<HttpRequest<Object>, MutableHttpResponse<Object>> loginHandler], ApplicationEventPublisher<LoginSuccessfulEvent> loginSuccessfulEventPublisher, ApplicationEventPublisher<LoginFailedEvent> loginFailedEventPublisher, HttpHostResolver httpHostResolver, HttpLocaleResolver httpLocaleResolver, LoginControllerConfiguration loginControllerConfiguration)
---> new @j.i.Singleton i.m.s.t.b.AccessRefreshTokenLoginHandler([AccessRefreshTokenGenerator accessRefreshTokenGenerator])
---> new @j.i.Singleton i.m.s.t.g.DefaultAccessRefreshTokenGenerator(AccessTokenConfiguration accessTokenConfiguration, TokenRenderer tokenRenderer, [TokenGenerator tokenGenerator], BeanContext beanContext, RefreshTokenGenerator refreshTokenGenerator, ClaimsGenerator claimsGenerator, ApplicationEventPublisher<RefreshTokenGeneratedEvent> refreshTokenGeneratedEventPublisher, ApplicationEventPublisher<AccessTokenGeneratedEvent> accessTokenGeneratedEventPublisher)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2108)
at io.micronaut.context.DefaultBeanContext.createRegistration(DefaultBeanContext.java:2803)
at io.micronaut.context.DefaultBeanContext$6.create(DefaultBeanContext.java:2769)
at io.micronaut.runtime.context.scope.refresh.RefreshScope.lambda$getOrCreate$0(RefreshScope.java:86)
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1724)
at io.micronaut.runtime.context.scope.refresh.RefreshScope.getOrCreate(RefreshScope.java:85)
at io.micronaut.context.DefaultBeanContext.getOrCreateScopedRegistration(DefaultBeanContext.java:2755)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2683)
at io.micronaut.context.DefaultBeanContext.getProxyTargetBean(DefaultBeanContext.java:1477)
at io.micronaut.context.AbstractBeanResolutionContext.getProxyTargetBean(AbstractBeanResolutionContext.java:572)
at io.micronaut.security.token.jwt.signature.jwks.$JwksCacheSpec$JwtTokenGeneratorReplacement$Definition$Intercepted.interceptedTarget(Unknown Source)
at io.micronaut.security.token.jwt.signature.jwks.$JwksCacheSpec$JwtTokenGeneratorReplacement$Definition$Intercepted.generateToken(Unknown Source)
at io.micronaut.security.token.generator.DefaultAccessRefreshTokenGenerator.generate(DefaultAccessRefreshTokenGenerator.java:172)
at io.micronaut.security.token.generator.DefaultAccessRefreshTokenGenerator.generate(DefaultAccessRefreshTokenGenerator.java:106)
at io.micronaut.security.token.bearer.AccessRefreshTokenLoginHandler.loginSuccess(AccessRefreshTokenLoginHandler.java:54)
at io.micronaut.security.token.bearer.AccessRefreshTokenLoginHandler.loginSuccess(AccessRefreshTokenLoginHandler.java:39)
at io.micronaut.security.endpoints.LoginController.lambda$login$0(LoginController.java:124)
at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:106)
at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:75)
at reactor.core.publisher.FluxLimitRequest$FluxLimitRequestSubscriber.onNext(FluxLimitRequest.java:99)
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onNext(FluxOnErrorResume.java:80)
at reactor.core.publisher.FluxSwitchMapNoPrefetch$SwitchMapInner.onNext(FluxSwitchMapNoPrefetch.java:414)
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2564)
at reactor.core.publisher.FluxSwitchMapNoPrefetch$SwitchMapInner.onSubscribe(FluxSwitchMapNoPrefetch.java:384)
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:56)
at reactor.core.publisher.Mono.subscribe(Mono.java:4569)
at reactor.core.publisher.FluxSwitchMapNoPrefetch$SwitchMapMain.subscribeInner(FluxSwitchMapNoPrefetch.java:221)
at reactor.core.publisher.FluxSwitchMapNoPrefetch$SwitchMapMain.onNext(FluxSwitchMapNoPrefetch.java:164)
at reactor.core.publisher.FluxCreate$NoOverflowBaseAsyncSink.next(FluxCreate.java:741)
at reactor.core.publisher.FluxCreate$SerializedFluxSink.next(FluxCreate.java:164)
at io.micronaut.security.testutils.authprovider.MockAuthenticationProvider.lambda$authenticate$0(MockAuthenticationProvider.java:69)
at reactor.core.publisher.FluxCreate.subscribe(FluxCreate.java:97)
at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:67)
at io.micronaut.core.async.propagation.ReactivePropagation$1.subscribe(ReactivePropagation.java:77)
at io.micronaut.core.async.propagation.ReactivePropagation$1.subscribe(ReactivePropagation.java:86)
at reactor.core.publisher.MonoFromPublisher.subscribe(MonoFromPublisher.java:63)
at reactor.core.publisher.Mono.subscribe(Mono.java:4569)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:197)
at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:83)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerNext(FluxConcatMapNoPrefetch.java:258)
at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:868)
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:184)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:338)
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2564)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.request(FluxFilterFuseable.java:411)
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:142)
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2361)
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2235)
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onSubscribe(MonoPeekTerminal.java:155)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onSubscribe(FluxFilterFuseable.java:305)
at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:56)
at reactor.core.publisher.Mono.subscribe(Mono.java:4569)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:206)
at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:335)
at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.innerComplete(FluxConcatMapNoPrefetch.java:274)
at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onComplete(FluxConcatMap.java:892)
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:303)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onComplete(FluxFilterFuseable.java:392)
at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2566)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.request(FluxFilterFuseable.java:411)
at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.request(MonoPeekTerminal.java:142)
at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.request(Operators.java:2325)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:338)
at reactor.core.publisher.MonoNext$NextSubscriber.request(MonoNext.java:109)
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onSubscribe(MonoFlatMapMany.java:142)
at reactor.core.publisher.MonoNext$NextSubscriber.onSubscribe(MonoNext.java:71)
at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onSubscribe(FluxConcatMapNoPrefetch.java:163)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:200)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:82)
at reactor.core.publisher.InternalFluxOperator.subscribe(InternalFluxOperator.java:67)
at reactor.core.publisher.FluxDefer.subscribe(FluxDefer.java:55)
at reactor.core.publisher.Mono.subscribe(Mono.java:4569)
at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:83)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:189)
at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:103)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:851)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:613)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:593)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:470)
at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:357)
at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:294)
at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:374)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:200)
at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:82)
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75)
at io.micronaut.core.async.propagation.ReactivePropagation$1.subscribe(ReactivePropagation.java:77)
at io.micronaut.core.async.propagation.ReactivePropagation$1.subscribe(ReactivePropagation.java:86)
at reactor.core.publisher.MonoFromPublisher.subscribe(MonoFromPublisher.java:63)
at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:75)
at io.micronaut.http.reactive.execution.ReactorExecutionFlowImpl.onComplete(ReactorExecutionFlowImpl.java:243)
at io.micronaut.http.server.netty.NettyRequestLifecycle.handleNormal(NettyRequestLifecycle.java:105)
at io.micronaut.http.server.netty.RoutingInBoundHandler.lambda$accept$1(RoutingInBoundHandler.java:205)
at io.micronaut.core.propagation.ThreadContext.propagate(ThreadContext.java:125)
at io.micronaut.core.propagation.PropagatedContextImpl.propagate(PropagatedContextImpl.java:152)
at io.micronaut.http.server.netty.RoutingInBoundHandler.accept(RoutingInBoundHandler.java:205)
at io.micronaut.http.server.netty.websocket.NettyServerWebSocketUpgradeHandler.accept(NettyServerWebSocketUpgradeHandler.java:198)
at io.micronaut.http.server.netty.handler.PipeliningServerHandler$OptimisticBufferingInboundHandler.read(PipeliningServerHandler.java:571)
at io.micronaut.http.server.netty.handler.PipeliningServerHandler.channelRead(PipeliningServerHandler.java:247)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:93)
at io.netty.handler.codec.http.websocketx.extensions.WebSocketServerExtensionHandler.channelRead(WebSocketServerExtensionHandler.java:84)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:434)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:361)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:325)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:249)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.handler.timeout.IdleStateHandler.channelRead(IdleStateHandler.java:288)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:355)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1429)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:918)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:176)
at io.netty.channel.nio.AbstractNioChannel$AbstractNioUnsafe.handle(AbstractNioChannel.java:445)
at io.netty.channel.nio.NioIoHandler$DefaultNioRegistration.handle(NioIoHandler.java:388)
at io.netty.channel.nio.NioIoHandler.processSelectedKey(NioIoHandler.java:596)
at io.netty.channel.nio.NioIoHandler.processSelectedKeysPlain(NioIoHandler.java:541)
at io.netty.channel.nio.NioIoHandler.processSelectedKeys(NioIoHandler.java:514)
at io.netty.channel.nio.NioIoHandler.run(NioIoHandler.java:484)
at io.netty.channel.SingleThreadIoEventLoop.runIo(SingleThreadIoEventLoop.java:225)
at io.netty.channel.SingleThreadIoEventLoop.run(SingleThreadIoEventLoop.java:196)
at io.netty.util.concurrent.SingleThreadEventExecutor$5.run(SingleThreadEventExecutor.java:1195)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.IllegalStateException: Recursive update
at java.base/java.util.concurrent.ConcurrentHashMap.computeIfAbsent(ConcurrentHashMap.java:1779)
at io.micronaut.runtime.context.scope.refresh.RefreshScope.getOrCreate(RefreshScope.java:85)
at io.micronaut.context.DefaultBeanContext.getOrCreateScopedRegistration(DefaultBeanContext.java:2755)
at io.micronaut.context.DefaultBeanContext.resolveBeanRegistration(DefaultBeanContext.java:2683)
at io.micronaut.context.DefaultBeanContext.getProxyTargetBean(DefaultBeanContext.java:1477)
at io.micronaut.context.AbstractBeanResolutionContext.getProxyTargetBean(AbstractBeanResolutionContext.java:572)
at io.micronaut.security.token.jwt.signature.jwks.$JwksCacheSpec$CognitoSignatureConfiguration$Definition$Intercepted.interceptedTarget(Unknown Source)
at io.micronaut.security.token.jwt.signature.jwks.$JwksCacheSpec$CognitoSignatureConfiguration$Definition$Intercepted.getPublicKey(Unknown Source)
at io.micronaut.security.token.jwt.signature.rsa.RSASignature.<init>(RSASignature.java:44)
at io.micronaut.security.token.jwt.signature.rsa.RSASignatureGenerator.<init>(RSASignatureGenerator.java:47)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:344)
at io.micronaut.security.token.jwt.signature.jwks.JwksCacheSpec$JwtTokenGeneratorReplacement.<init>(JwksCacheSpec.groovy:390)
at io.micronaut.security.token.jwt.signature.jwks.$JwksCacheSpec$JwtTokenGeneratorReplacement$Definition.instantiate(Unknown Source)
at io.micronaut.context.DefaultBeanContext.resolveByBeanFactory(DefaultBeanContext.java:2092)
... 124 common frames omitted
The test should be re-written while keeping the same verifications but in none flaky way.
Expected Behavior
io.micronaut.security.token.jwt.signature.jwks.JwksCacheSpectest is flaky. It often fails with errors such as:The test should be re-written while keeping the same verifications but in none flaky way.
Actual Behaviour
No response
Steps To Reproduce
No response
Environment Information
No response
Example Application
No response
Version
5.0.0