When I return to the FAF client after quitting the game, I am given this error message:
The game itself runs without any issues, and this error is just a minor annoyance, but I don't know what causes it.
The relevant part of the log file is this:
2024-01-02T21:30:24.425-08:00 DEBUG 12580 --- [FAF Client] [JJsonPeer] c.f.c.fa.relay.ice.IceAdapterCallbacks : ICE adapter connection state changed to: Disconnected
2024-01-02T21:30:24.815-08:00 INFO 12580 --- [FAF Client] [ForkJoinPool.commonPool-worker-9] com.faforever.client.game.GameRunner : Forged Alliance terminated with exit code 0
2024-01-02T21:30:24.822-08:00 INFO 12580 --- [FAF Client] [ForkJoinPool.commonPool-worker-9] c.f.client.fa.relay.ice.IceAdapterImpl : Ignoring call to ICE adapter as we are not connected: quit([])
2024-01-02T21:30:24.823-08:00 ERROR 12580 --- [FAF Client] [JavaFX Application Thread] com.faforever.client.game.GameRunner : Game could not be hosted
java.lang.NullPointerException: Cannot invoke "com.faforever.client.domain.GameBean.getTitle()" because "game" is null
at com.faforever.client.game.GameRunner.askForGameRate(GameRunner.java:425)
at com.faforever.client.game.GameRunner.handleTermination(GameRunner.java:417)
at java.base/java.util.concurrent.CompletableFuture$UniAccept.tryFire(CompletableFuture.java:718)
at java.base/java.util.concurrent.CompletableFuture.postComplete(CompletableFuture.java:510)
at java.base/java.util.concurrent.CompletableFuture.postFire(CompletableFuture.java:614)
at java.base/java.util.concurrent.CompletableFuture$UniHandle.tryFire(CompletableFuture.java:914)
at java.base/java.util.concurrent.CompletableFuture$Completion.exec(CompletableFuture.java:483)
at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:387)
at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1312)
at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1843)
at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1808)
at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:188)
2024-01-02T21:30:25.227-08:00 INFO 12580 --- [FAF Client] [ForkJoinPool.commonPool-worker-9] c.f.client.fa.relay.ice.IceAdapterImpl : ICE adapter terminated normally
I can post my entire log file if it is needed. This happens if I quit from the lobby, quit from the game, or the game completes normally. The error message is the same every time.
From my limited understanding of the FAF client's code, this looks like a race condition between threads to me. But I could easily be mistaken.