What caused this error? "Error while recording replay - java.net SocketException

...any ideas?

2023-03-19 02:03:36.085 ERROR 22040 --- [Thread-1691] c.f.client.replay.ReplayServerImpl       : Error while recording replay

java.net.SocketException: Connection reset
    at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:323)
    at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
    at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
    at java.base/java.io.InputStream.read(InputStream.java:218)
    at com.faforever.client.replay.ReplayServerImpl.recordAndRelay(ReplayServerImpl.java:149)
    at com.faforever.client.replay.ReplayServerImpl.lambda$start$1(ReplayServerImpl.java:102)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-03-19 02:03:36.086  WARN 22040 --- [Thread-1691] c.f.client.replay.ReplayServerImpl       : Error in replay server

java.net.SocketException: Connection reset
    at java.base/sun.nio.ch.NioSocketImpl.implRead(NioSocketImpl.java:323)
    at java.base/sun.nio.ch.NioSocketImpl.read(NioSocketImpl.java:350)
    at java.base/sun.nio.ch.NioSocketImpl$1.read(NioSocketImpl.java:803)
    at java.base/java.net.Socket$SocketInputStream.read(Socket.java:966)
    at java.base/java.io.InputStream.read(InputStream.java:218)
    at com.faforever.client.replay.ReplayServerImpl.recordAndRelay(ReplayServerImpl.java:149)
    at com.faforever.client.replay.ReplayServerImpl.lambda$start$1(ReplayServerImpl.java:102)
    at java.base/java.lang.Thread.run(Thread.java:833)

2023-03-19 02:03:36.117 DEBUG 22040 --- [JJsonPeer] c.f.c.fa.relay.ice.IceAdapterCallbacks   : ICE adapter connection state changed to: Disconnected
2023-03-19 02:03:36.180  INFO 22040 --- [ForkJoinPool.commonPool-worker-3] com.faforever.client.game.GameService    : Forged Alliance terminated with exit code 1

I have the same problem. It happens occasionally, but it is frustrating as it hangs the app, and I have to kill the app from the other desktop.

java.net.SocketException: Connection reset

can be anything from internet connection loss, to temporal wifi loss, your computer firewall going bonkers, windows errors on ANY of the two connection ends or any server in between...

"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

Yes, but the app should close gracefully.
And "Error in replay server" indicates it is not a connection issue, but rather an error on the replay server.

Why would the app close gracefully? An error in the replay server connection does not cause your game or any other feature of the client to break. Unless all of these separate connections also fail.

"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

Yes, it causes the app to hang at the end of the game. It does not silently close, nor communicate there is a problem. Just hangs.