FAForever Forums
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Login

    Sometimes cannot login, "WebClientRequestException: Connection reset"

    Scheduled Pinned Locked Moved FAF support (client and account issues)
    2 Posts 2 Posters 336 Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T Offline
      TCC
      last edited by

      Trying to login in the client, I get an error message instead of being logged in (error message provided at the end of the message)
      I updated the client to the newest version, still had the issue.
      It ended working on the 3rd (or 4th?) try.

      Elmi reported the same bug here, but in a thread started by a different error message - thus I'm creating this new thread as the cause may differ.

      Educated guess: it's due to the ongoing server issues + lack of retry on the client side, right ?

      Happy bug hunting (one can dream)

      Error message :

      Client Version: 2023.3.0
      org.springframework.web.reactive.function.client.WebClientRequestException: Connection reset
      	at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:136)
      	Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below: 
      Error has been observed at the following site(s):
      	*__checkpoint ⇢ Request to POST https://hydra.faforever.com/oauth2/token [DefaultWebClient]
      Original Stack Trace:
      		at org.springframework.web.reactive.function.client.ExchangeFunctions$DefaultExchangeFunction.lambda$wrapException$9(ExchangeFunctions.java:136)
      		at reactor.core.publisher.MonoErrorSupplied.subscribe(MonoErrorSupplied.java:55)
      		at reactor.core.publisher.Mono.subscribe(Mono.java:4485)
      		at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:103)
      		at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
      		at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
      		at reactor.core.publisher.FluxPeek$PeekSubscriber.onError(FluxPeek.java:222)
      		at reactor.core.publisher.MonoNext$NextSubscriber.onError(MonoNext.java:93)
      		at reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onError(MonoFlatMapMany.java:204)
      		at reactor.core.publisher.SerializedSubscriber.onError(SerializedSubscriber.java:124)
      		at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.whenError(FluxRetryWhen.java:225)
      		at reactor.core.publisher.FluxRetryWhen$RetryWhenOtherSubscriber.onError(FluxRetryWhen.java:274)
      		at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onError(FluxContextWrite.java:121)
      		at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.maybeOnError(FluxConcatMapNoPrefetch.java:326)
      		at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.onNext(FluxConcatMapNoPrefetch.java:211)
      		at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
      		at reactor.core.publisher.SinkManyEmitterProcessor.drain(SinkManyEmitterProcessor.java:471)
      		at reactor.core.publisher.SinkManyEmitterProcessor$EmitterInner.drainParent(SinkManyEmitterProcessor.java:615)
      		at reactor.core.publisher.FluxPublish$PubSubInner.request(FluxPublish.java:602)
      		at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
      		at reactor.core.publisher.FluxConcatMapNoPrefetch$FluxConcatMapNoPrefetchSubscriber.request(FluxConcatMapNoPrefetch.java:336)
      		at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.request(FluxContextWrite.java:136)
      		at reactor.core.publisher.Operators$DeferredSubscription.request(Operators.java:1717)
      		at reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onError(FluxRetryWhen.java:192)
      		at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:201)
      		at reactor.netty.http.client.HttpClientConnect$MonoHttpConnect$ClientTransportSubscriber.onError(HttpClientConnect.java:311)
      		at reactor.core.publisher.MonoCreate$DefaultMonoSink.error(MonoCreate.java:201)
      		at reactor.netty.resources.NewConnectionProvider$NewConnectionObserver.onUncaughtException(NewConnectionProvider.java:216)
      		at reactor.netty.channel.ChannelOperationsHandler.exceptionCaught(ChannelOperationsHandler.java:147)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325)
      		at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317)
      		at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireExceptionCaught(CombinedChannelDuplexHandler.java:424)
      		at io.netty.channel.ChannelHandlerAdapter.exceptionCaught(ChannelHandlerAdapter.java:92)
      		at io.netty.channel.CombinedChannelDuplexHandler$1.fireExceptionCaught(CombinedChannelDuplexHandler.java:145)
      		at io.netty.channel.ChannelInboundHandlerAdapter.exceptionCaught(ChannelInboundHandlerAdapter.java:143)
      		at io.netty.channel.CombinedChannelDuplexHandler.exceptionCaught(CombinedChannelDuplexHandler.java:231)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325)
      		at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317)
      		at io.netty.handler.ssl.SslHandler.exceptionCaught(SslHandler.java:1114)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325)
      		at io.netty.channel.AbstractChannelHandlerContext.fireExceptionCaught(AbstractChannelHandlerContext.java:317)
      		at io.netty.channel.DefaultChannelPipeline$HeadContext.exceptionCaught(DefaultChannelPipeline.java:1377)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:346)
      		at io.netty.channel.AbstractChannelHandlerContext.invokeExceptionCaught(AbstractChannelHandlerContext.java:325)
      		at io.netty.channel.DefaultChannelPipeline.fireExceptionCaught(DefaultChannelPipeline.java:907)
      		at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.handleReadException(AbstractNioByteChannel.java:125)
      		at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:177)
      		at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
      		at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
      		at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
      		at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
      		at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
      		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:833)
      Caused by: java.net.SocketException: Connection reset
      	at java.base/sun.nio.ch.SocketChannelImpl.throwConnectionReset(SocketChannelImpl.java:394)
      	at java.base/sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:426)
      	at io.netty.buffer.PooledByteBuf.setBytes(PooledByteBuf.java:256)
      	at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1132)
      	at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:357)
      	at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:151)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
      	at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
      	at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
      	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
      	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:833)
      
      
      1 Reply Last reply Reply Quote 0
      • Brutus5000B Offline
        Brutus5000 FAF Server Admin
        last edited by

        Yes. The server is constantly refusing connection for no obvious reason.

        "Nerds have a really complicated relationship with change: Change is awesome when WE'RE the ones doing it. As soon as change is coming from outside of us it becomes untrustworthy and it threatens what we think of is the familiar."
        – Benno Rice

        1 Reply Last reply Reply Quote 0
        • First post
          Last post