WebClient fails with handshake timed out after 10000ms after system restart even tho program terminates in 2369ms
See original GitHub issueI am seeing a strange issue with native image when using webclient. Its consistently happening in my system
- If I run the program without native build (i.e on JVM), the program doesnt throw exception
- It doesnt fail if I build the native image & run executable i.e immediately after build but before system restart
- But if I restart the system & run native executable (thats built before system restart), it fails with this exception, while jar based version doesnt fail
time /home/x/dev/spring-native-netty-timeout-bug/build/native/nativeCompile/spring-native-netty-timeout-bug
2022-08-21 14:55:44.016 INFO 3812 --- [ main] o.s.nativex.NativeListener : AOT mode enabled
2022-08-21 14:55:44.017 INFO 3812 --- [ main] com.acme.DemoApplication : Starting DemoApplication using Java 17.0.4 on playground with PID 3812 (/home/x/dev/spring-native-netty-timeout-bug/build/native/nativeCompile/spring-native-netty-timeout-bug started by x in /home/x)
2022-08-21 14:55:44.017 DEBUG 3812 --- [ main] com.acme.DemoApplication : Running with Spring Boot v2.7.1, Spring v5.3.21
2022-08-21 14:55:44.017 INFO 3812 --- [ main] com.acme.DemoApplication : No active profile set, falling back to 1 default profile: "default"
2022-08-21 14:55:44.048 INFO 3812 --- [ main] com.acme.DemoApplication : Started DemoApplication in 0.045 seconds (JVM running for 0.047)
2022-08-21 14:55:44.056 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba] REGISTERED
2022-08-21 14:55:44.075 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba] CONNECT: httpbin.org/52.87.105.151:443
2022-08-21 14:55:44.329 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba, L:/192.168.1.7:48060 - R:httpbin.org/52.87.105.151:443] ACTIVE
2022-08-21 14:55:44.329 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba, L:/192.168.1.7:48060 - R:httpbin.org/52.87.105.151:443] USER_EVENT: SslHandshakeCompletionEvent(io.netty.handler.ssl.SslHandshakeTimeoutException: handshake timed out after 10000ms)
2022-08-21 14:55:44.330 WARN 3812 --- [ctor-http-nio-2] r.netty.http.client.HttpClientConnect : [d8c063ba, L:/192.168.1.7:48060 - R:httpbin.org/52.87.105.151:443] The connection observed an error
io.netty.handler.ssl.SslHandshakeTimeoutException: handshake timed out after 10000ms
at io.netty.handler.ssl.SslHandler$7.run(SslHandler.java:2115) ~[na:na]
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:153) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[na:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[na:na]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[na:na]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[na:na]
at java.lang.Thread.run(Thread.java:833) ~[spring-native-netty-timeout-bug:na]
at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:705) ~[spring-native-netty-timeout-bug:na]
at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202) ~[na:na]
2022-08-21 14:55:44.330 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba, L:/192.168.1.7:48060 ! R:httpbin.org/52.87.105.151:443] USER_EVENT: SslCloseCompletionEvent(java.nio.channels.ClosedChannelException)
2022-08-21 14:55:44.330 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba, L:/192.168.1.7:48060 ! R:httpbin.org/52.87.105.151:443] INACTIVE
2022-08-21 14:55:44.331 DEBUG 3812 --- [ctor-http-nio-2] com.acme.ApiAccessor : [d8c063ba, L:/192.168.1.7:48060 ! R:httpbin.org/52.87.105.151:443] UNREGISTERED
2022-08-21 14:55:44.331 ERROR 3812 --- [ main] o.s.boot.SpringApplication : Application run failed
java.lang.IllegalStateException: Failed to execute ApplicationRunner
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:765) ~[spring-native-netty-timeout-bug:2.7.1]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:752) ~[spring-native-netty-timeout-bug:2.7.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-native-netty-timeout-bug:2.7.1]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164) ~[na:na]
at com.acme.DemoApplication.main(DemoApplication.java:22) ~[spring-native-netty-timeout-bug:na]
Caused by: org.springframework.web.reactive.function.client.WebClientRequestException: handshake timed out after 10000ms; nested exception is io.netty.handler.ssl.SslHandshakeTimeoutException: handshake timed out after 10000ms
at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:141) ~[na:na]
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
Error has been observed at the following site(s):
*__checkpoint β’ Request to GET https://httpbin.org/get [DefaultWebClient]
Original Stack Trace:
at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:141) ~[na:na]
at reactor.core.publisher.MonoErrorSupplied.subscribe(MonoErrorSupplied.java:55) ~[na:na]
at reactor.core.publisher.Mono.subscribe(Mono.java:4397) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103) ~[na:na]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222) ~[na:na]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222) ~[na:na]
at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222) ~[na:na]
at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124) ~[na:na]
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:225) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:274) ~[na:na]
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:415) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onNext(FluxConcatMap.java:251) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.EmitterProcessor.drain(EmitterProcessor.java:537) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.EmitterProcessor.tryEmitNext(EmitterProcessor.java:343) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.SinkManySerialized.tryEmitNext(SinkManySerialized.java:100) ~[na:na]
at reactor.core.publisher.InternalManySink.emitNext(InternalManySink.java:27) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:190) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:201) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:308) ~[na:na]
at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:201) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onUncaughtException(DefaultPooledConnectionProvider.java:204) ~[na:na]
at reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onUncaughtException(DefaultPooledConnectionProvider.java:454) ~[spring-native-netty-timeout-bug:1.0.20]
at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:129) ~[na:na]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireExceptionCaught(CombinedChannelDuplexHandler.java:424) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.ChannelHandlerAdapter.exceptionCaught(ChannelHandlerAdapter.java:92) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.CombinedChannelDuplexHandler$1.fireExceptionCaught(CombinedChannelDuplexHandler.java:145) ~[na:na]
at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:143) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.CombinedChannelDuplexHandler.exceptionCaught(CombinedChannelDuplexHandler.java:231) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:302) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:281) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:273) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at reactor.netty.tcp.SslProvider$SslReadHandler.userEventTriggered(SslProvider.java:850) ~[na:na]
at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.handler.logging.LoggingHandler.userEventTriggered(LoggingHandler.java:222) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:346) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.invokeUserEventTriggered(AbstractChannelHandlerContext.java:332) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.AbstractChannelHandlerContext.fireUserEventTriggered(AbstractChannelHandlerContext.java:324) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.handler.ssl.SslUtils.handleHandshakeFailure(SslUtils.java:443) ~[na:na]
at io.netty.handler.ssl.SslHandler$7.run(SslHandler.java:2119) ~[na:na]
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:153) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[na:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[na:na]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[na:na]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[na:na]
at java.lang.Thread.run(Thread.java:833) ~[spring-native-netty-timeout-bug:na]
at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:705) ~[spring-native-netty-timeout-bug:na]
at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202) ~[na:na]
Suppressed: java.lang.Exception: #block terminated with an error
at reactor.core.publisher.BlockingSingleSubscriber.blockingGet(BlockingSingleSubscriber.java:99) ~[spring-native-netty-timeout-bug:3.4.19]
at reactor.core.publisher.Mono.block(Mono.java:1707) ~[spring-native-netty-timeout-bug:3.4.19]
at com.acme.DemoApplication.lambda$onInit$0(DemoApplication.java:27) ~[spring-native-netty-timeout-bug:na]
at org.springframework.boot.SpringApplication.callRunner(SpringApplication.java:762) ~[spring-native-netty-timeout-bug:2.7.1]
at org.springframework.boot.SpringApplication.callRunners(SpringApplication.java:752) ~[spring-native-netty-timeout-bug:2.7.1]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) ~[spring-native-netty-timeout-bug:2.7.1]
at org.springframework.boot.builder.SpringApplicationBuilder.run(SpringApplicationBuilder.java:164) ~[na:na]
at com.acme.DemoApplication.main(DemoApplication.java:22) ~[spring-native-netty-timeout-bug:na]
Caused by: io.netty.handler.ssl.SslHandshakeTimeoutException: handshake timed out after 10000ms
at io.netty.handler.ssl.SslHandler$7.run(SslHandler.java:2115) ~[na:na]
at io.netty.util.concurrent.PromiseTask.runTask(PromiseTask.java:98) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.ScheduledFutureTask.run(ScheduledFutureTask.java:153) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:174) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:167) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470) ~[spring-native-netty-timeout-bug:4.1.78.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:500) ~[na:na]
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997) ~[na:na]
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74) ~[na:na]
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) ~[na:na]
at java.lang.Thread.run(Thread.java:833) ~[spring-native-netty-timeout-bug:na]
at com.oracle.svm.core.thread.PlatformThreads.threadStartRoutine(PlatformThreads.java:705) ~[spring-native-netty-timeout-bug:na]
at com.oracle.svm.core.posix.thread.PosixPlatformThreads.pthreadStartRoutine(PosixPlatformThreads.java:202) ~[na:na]
0.04s user 0.05s system 3% cpu 2.346 total
When I run same program with jar, I get following output
java -jar /home/x/dev/spring-native-netty-timeout-bug/build/libs/spring-native-netty-timeout-bug-0.0.1-SNAPSHOT.jar
2022-08-21 15:10:27.820 INFO 5865 --- [ main] o.s.nativex.NativeListener : AOT mode disabled
2022-08-21 15:10:27.940 INFO 5865 --- [ main] com.acme.DemoApplication : Starting DemoApplication using Java 17.0.4 on playground with PID 5865 (/home/x/dev/spring-native-netty-timeout-bug/build/libs/spring-native-netty-timeout-bug-0.0.1-SNAPSHOT.jar started by x in /home/x/dev/spring-native-netty-timeout-bug)
2022-08-21 15:10:27.940 DEBUG 5865 --- [ main] com.acme.DemoApplication : Running with Spring Boot v2.7.1, Spring v5.3.21
2022-08-21 15:10:27.942 INFO 5865 --- [ main] com.acme.DemoApplication : No active profile set, falling back to 1 default profile: "default"
2022-08-21 15:10:29.256 INFO 5865 --- [ main] com.acme.DemoApplication : Started DemoApplication in 2.044 seconds (JVM running for 2.725)
2022-08-21 15:10:30.209 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b] REGISTERED
2022-08-21 15:10:30.283 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b] CONNECT: httpbin.org/34.227.213.82:443
2022-08-21 15:10:30.607 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] ACTIVE
2022-08-21 15:10:30.859 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] READ COMPLETE
2022-08-21 15:10:30.964 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] READ COMPLETE
2022-08-21 15:10:31.216 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] USER_EVENT: SslHandshakeCompletionEvent(SUCCESS)
2022-08-21 15:10:31.247 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b-1, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] WRITE: 99B GET /get HTTP/1.1
user-agent: ReactorNetty/1.0.20
host: httpbin.org
Accept: application/json
2022-08-21 15:10:31.248 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b-1, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] FLUSH
2022-08-21 15:10:31.252 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b-1, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] WRITE: 0B
2022-08-21 15:10:31.252 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b-1, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] FLUSH
2022-08-21 15:10:31.253 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b-1, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] READ COMPLETE
2022-08-21 15:10:31.500 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b-1, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] READ: 506B HTTP/1.1 200 OK
Date: Sun, 21 Aug 2022 09:40:31 GMT
Content-Type: application/json
Content-Length: 276
Connection: keep-alive
Server: gunicorn/19.9.0
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
{
"args": {},
"headers": {
"Accept": "application/json",
"Host": "httpbin.org",
"User-Agent": "ReactorNetty/1.0.20",
"X-Amzn-Trace-Id": "Root=1-6301fd8f-0d26170512f1dca7432ea37a"
},
"origin": "122.171.23.69",
"url": "https://httpbin.org/get"
}
2022-08-21 15:10:31.629 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 - R:httpbin.org/34.227.213.82:443] READ COMPLETE
GetResponse[headers=Headers[accept=application/json]]
2022-08-21 15:10:31.650 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 ! R:httpbin.org/34.227.213.82:443] CLOSE
2022-08-21 15:10:31.653 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 ! R:httpbin.org/34.227.213.82:443] USER_EVENT: SslCloseCompletionEvent(java.nio.channels.ClosedChannelException)
2022-08-21 15:10:31.653 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 ! R:httpbin.org/34.227.213.82:443] INACTIVE
2022-08-21 15:10:31.653 DEBUG 5865 --- [or-http-epoll-2] com.acme.ApiAccessor : [3266e03b, L:/192.168.1.7:60608 ! R:httpbin.org/34.227.213.82:443] UNREGISTERED
I see this consistently happening after I restart the system. The binary doesnt work even after multiple runs. I even tried running it after I ran jar version on JVM (to see if DNS resolution at OS level caused this issue β my uneducated guess work as I am not sure if netty does DNS resolution by itself/delegates to OS π). But it ran successfully when I created the image initally using ./gradlew nativeCompile before I restarted the system.
Version info
- Java
openjdk version "17.0.4" 2022-07-19
OpenJDK Runtime Environment Temurin-17.0.4+8 (build 17.0.4+8)
OpenJDK 64-Bit Server VM Temurin-17.0.4+8 (build 17.0.4+8, mixed mode, sharing)
- OS
Ubuntu 20.04.4 LTS - Graal VM
22.2.r17-grl - Spring & Gradle versions can be found at this minimum reproducible sample
Issue Analytics
- State:
- Created a year ago
- Reactions:1
- Comments:23
Top Results From Across the Web
Spring Webclient always gives error timed out - Stack Overflow
I decide to make another spring boot api project to test whether it's the Webclient problem, but it actually isn't. After that, I...
Read more >Fix Your Game Requires A System Restart To Play Valorant ...
This tutorial will show you how to fix your game requires a system restart to play Valorant error. There are several solutions for...
Read more >Error: "...pending system changes that require a reboot" when ...
When you install or upgrade the Symantec Endpoint Protection (SEP) client or manager you see the following error:.
Read more >Spring-Projects-Experimental Spring-Native Issues - IssueHint
Issue Title State Comments Created Date Update...
Add Java 19 Support in AOT plugin closed 1 2022β10β03 2022β10...
Request to add native support for Feign...
Read more >thekalinga ( Ashok Koyi ) - github record :)
WebClient fails with handshake timed out after 10000ms after system restart even tho program terminates in 2369ms. @steincodabox Sorry. No, not yet.
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Itβs a variation of this bug: https://github.com/oracle/graal/issues/4809
There are hints for Netty handlers missing. Run your application with the native-image agent attached and look in the JSON for
ChannelHandlerclasses. These are the classes Netty uses in their pipeline for your use case (i think they even depend on your operating system, but not sure). You can then use those classes to add@TypeHintin your code.Currently using 0.11.5 with spring boot 2.6.7 instead of 0.12.1 with 2.7.1 seems to bypass the issue