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...

He said, "I've been to the year 3000
Not much has changed, but they live underwater
And your great-great-great-granddaughter
Is playin' FAF, playin' FAF"

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.

He said, "I've been to the year 3000
Not much has changed, but they live underwater
And your great-great-great-granddaughter
Is playin' FAF, playin' FAF"

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.