Skip to content

[Bug]: IRC connection failures #3398

@Brutus5000

Description

@Brutus5000

Describe the Bug

After logging in to the FAF client, the IRC connection eventually dies. It can happen after a few minutes or after a few hours. Reconnect also seems to fail in most cases. The red chat indicator stays red.

Log file or Error Message

This is one related stacktrace, it might not be the only related one.

2025-09-18T21:57:29.004+02:00 ERROR 384783 --- [FAF Client] [or-http-epoll-2] reactor.core.publisher.Operators : Operator called default onErrorDropped reactor.core.Exceptions$ErrorCallbackNotImplemented: io.netty.handler.ssl.SslClosedEngineException: SSLEngine closed already Caused by: io.netty.handler.ssl.SslClosedEngineException: SSLEngine closed already at io.netty.handler.ssl.SslHandler.wrap(SslHandler.java:923)
Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException: Assembly trace from producer [reactor.core.publisher.MonoIgnoreThen] : reactor.core.publisher.Mono.thenEmpty reactor.netty.ReactorNetty$OutboundThen.<init>(ReactorNetty.java:757) Error has been observed at the following site(s): 
*________Mono.thenEmpty ⇢ at reactor.netty.ReactorNetty$OutboundThen.<init>(ReactorNetty.java:757) |_ ⇢ at reactor.netty.ReactorNetty$OutboundThen.then(ReactorNetty.java:807) 
*________Mono.thenEmpty ⇢ at reactor.netty.ReactorNetty$OutboundThen.<init>(ReactorNetty.java:757) |_ ⇢ at reactor.netty.ReactorNetty$OutboundThen.then(ReactorNetty.java:807) 
*__Mono.firstWithSignal ⇢ at com.faforever.client.chat.kitteh.network.WebSocketConnection.lambda$new$6(WebSocketConnection.java:111) 
|_ Mono.subscribeOn ⇢ at com.faforever.client.chat.kitteh.network.WebSocketConnection.lambda$new$6(WebSocketConnection.java:111)

Reproduce the bug

Login and wait.

Expected Behavior

Chat connection stays alive until you close the client.

Screenshots

No response

Additional context

It indicates that Cloudflare might terminate an idle Websocket connection. However, I could not reproduce this. Ergochat produces a ping ever 90 seconds, Cloudflare timeout is 60 seconds. The ergochat PING/PONG interval cannot be configured :(

However we as the client could also try to send PING commands in 30s interval.

Which Operating System are you using?

Linux

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions