I see several ppl posting about this error. Is anyone officially addressing the root cause?
-
I have seen several posts on the topic of log in errors. Is anyone officially addressing the root causes. I did not experience this until the August 2022 update. What is broken, and how is FAF going to fix it?
Client Version: 2022.8.0
com.faforever.client.login.TokenRetrievalException: {"error":"invalid_request","error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed. Make sure that the various parameters are correct, be aware of case sensitivity and trim your parameters. Make sure that the client you are using has exactly whitelisted the redirect_uri you specified."}
at com.faforever.client.api.TokenService.lambda$retrieveToken$5(TokenService.java:124)
Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below:
Error has been observed at the following site(s):
*__checkpoint ⇢ 400 from POST https://hydra.faforever.com/oauth2/token [DefaultWebClient]
Original Stack Trace:
at com.faforever.client.api.TokenService.lambda$retrieveToken$5(TokenService.java:124)
at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:125)
at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
at reactor.core.publisher.FluxContextWrite$ContextWriteSubscriber.onNext(FluxContextWrite.java:107)
at reactor.core.publisher.FluxMapFuseable$MapFuseableConditionalSubscriber.onNext(FluxMapFuseable.java:299)
at reactor.core.publisher.FluxFilterFuseable$FilterFuseableConditionalSubscriber.onNext(FluxFilterFuseable.java:337)
at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
at reactor.core.publisher.MonoCollect$CollectSubscriber.onComplete(MonoCollect.java:160)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.core.publisher.FluxPeek$PeekSubscriber.onComplete(FluxPeek.java:260)
at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
at reactor.netty.channel.FluxReceive.onInboundComplete(FluxReceive.java:400)
at reactor.netty.channel.ChannelOperations.onInboundComplete(ChannelOperations.java:419)
at reactor.netty.channel.ChannelOperations.terminate(ChannelOperations.java:473)
at reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:703)
at reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:93)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:327)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:299)
at io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.handler.ssl.SslHandler.unwrap(SslHandler.java:1373)
at io.netty.handler.ssl.SslHandler.decodeJdkCompatible(SslHandler.java:1236)
at io.netty.handler.ssl.SslHandler.decode(SslHandler.java:1285)
at io.netty.handler.codec.ByteToMessageDecoder.decodeRemovalReentryProtection(ByteToMessageDecoder.java:510)
at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:449)
at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:279)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:722)
at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:658)
at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:584)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:496)
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) -
Nothing will happen because no developer can reproduce the login problems (also from the posts in the forum its usually not the same error). I'm not even sure if it is reproducible for the users posting it here. And for the majority of players it just works.
So unless someone can reproduce it and offers screensharing and installing developer tools nothing is about to happen.
-
Hi,
My issue (which usually gives a 'connection refused') is certainly reproducable - just not 100% of the time. Right now, the client is refusing to connect, but I bet if I try in 10 minutes, it'll work. Sometimes it fails right away, sometimes it's stuck for a minute or 2 logging in.I ran a traceroute on api.faforever.com:
traceroute api.faforever.com traceroute to api.faforever.com (116.202.155.226), 30 hops max, 60 byte packets 1 OpenWrt.lan (192.168.1.1) 0.385 ms 0.369 ms 0.446 ms 2 192.168.2.1 (192.168.2.1) 1.328 ms 1.458 ms 1.520 ms 3 p3e9bf094.dip0.t-ipconnect.de (62.155.240.148) 5.900 ms 5.882 ms 5.996 ms 4 n-ea9-i.N.DE.NET.DTAG.DE (217.5.75.90) 25.070 ms 25.247 ms 25.039 ms 5 62.157.248.138 (62.157.248.138) 17.401 ms 17.385 ms 17.509 ms 6 core23.fsn1.hetzner.com (213.239.252.246) 30.588 ms 28.461 ms core24.fsn1.hetzner.com (213.239.252.250) 18.777 ms 7 ex9k1.dc1.fsn1.hetzner.com (213.239.245.234) 18.582 ms ex9k1.dc1.fsn1.hetzner.com (213.239.245.230) 19.002 ms ex9k1.dc1.fsn1.hetzner.com (213.239.245.234) 19.988 ms 8 * * * 9 * * * 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
Seems somehow along the way, I do get blocked, and it's not my computer or network doing the blocking. Yet https://downforeveryoneorjustme.com/api.faforever.com says the server is up, so it's my ip that gets blocked perhaps?
Just now, the client logged in, but then is stuck in a weird limbo way:
As I otherwise have no network issues, it does seem there's something in the faf client or server. I now have a hanging client, so there's that. After killing it - it logs in without issues. Traceroute still gives the same outcome.
It all seems magic to me
If there's anything I can run locally to help track down the issue, just let me know.
-
Test with vpn