[Open/Need More Info] Guests joining games in progress crash them
-
Again:
giu 19, 2019 1:00:21 AM games.strategy.engine.framework.ServerGame lambda$addObserver$1 GRAVE: Failed to join game java.lang.RuntimeException: Exception on remote at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:54) at com.sun.proxy.$Proxy26.joinGame(Unknown Source) at games.strategy.engine.framework.ServerGame.lambda$addObserver$1(ServerGame.java:205) at java.lang.Thread.run(Unknown Source) Caused by: games.strategy.engine.message.ConnectionLostException: Connection to dermarc lost at games.strategy.engine.message.UnifiedMessengerHub.connectionRemoved(UnifiedMessengerHub.java:176) at games.strategy.net.AbstractServerMessenger.notifyConnectionsChanged(AbstractServerMessenger.java:493) at games.strategy.net.AbstractServerMessenger.removeConnection(AbstractServerMessenger.java:655) at games.strategy.net.AbstractServerMessenger.socketError(AbstractServerMessenger.java:672) at games.strategy.net.nio.NioSocket.error(NioSocket.java:91) at games.strategy.net.nio.NioReader.loop(NioReader.java:122) ... 1 more -
Again:
lug 02, 2019 9:08:02 PM games.strategy.engine.framework.ServerGame lambda$addObserver$1 GRAVE: Failed to join game java.lang.RuntimeException: Exception on remote at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:54) at com.sun.proxy.$Proxy26.joinGame(Unknown Source) at games.strategy.engine.framework.ServerGame.lambda$addObserver$1(ServerGame.java:205) at java.lang.Thread.run(Unknown Source) Caused by: games.strategy.engine.message.ConnectionLostException: Connection to Zaitsev29 lost at games.strategy.engine.message.UnifiedMessengerHub.connectionRemoved(UnifiedMessengerHub.java:176) at games.strategy.net.AbstractServerMessenger.notifyConnectionsChanged(AbstractServerMessenger.java:493) at games.strategy.net.AbstractServerMessenger.removeConnection(AbstractServerMessenger.java:655) at games.strategy.net.AbstractServerMessenger.socketError(AbstractServerMessenger.java:672) at games.strategy.net.nio.NioSocket.error(NioSocket.java:91) at games.strategy.net.nio.NioReader.loop(NioReader.java:122) ... 1 more -
@LaFayette said in Guests joining games in progress crash them:
I suspect this could be people with the latest pre-release joining the latest release. IMO we should probably update it so that 1.10 clients do not join the 1.9 lobby.
According to this conversation I just had, the latest issue happened when a user having the same version I'm using (1.9.0.0.13066) tried to join my private host without having the map I was playing (270bc_variants).
So I guess this is a pretty major bug that might not be solved by just a new release.Lobby chatlog:
(21.09.41) samstreeter: You were slapped by samstreeter
(21.09.53) samstreeter: its frozen
(21.10.09) Cernel: yes
(21.10.22) Cernel: You just slapped Zaitsev29
(21.10.25) Cernel: hey zaitsev
colin has joined
(21.10.33) ubernaut: hi
(21.10.35) Zaitsev29: hey
(21.10.36) Cernel: can you tell me what version of triplea you are using
(21.10.36) colin: hi
(21.10.43) Zaitsev29: why?
(21.10.44) Zaitsev29: dunno
(21.10.54) Cernel: start triplea on local and look at the version and tell here please
(21.11.10) Zaitsev29: why?
(21.11.30) Cernel: because you froze my game joining it
Zaitsev29 has left
LittleJonny has left
Zaitsev29 has joined
(21.12.24) Zaitsev29: 1.9.0.0.13066
(21.12.27) Zaitsev29: engine version
(21.12.30) Cernel: thanks
(21.12.48) Cernel: that is the same version that I'm using
(21.13.01) Zaitsev29: strange
(21.13.05) Zaitsev29: srry bout that
(21.13.27) Cernel: did you have the map when you joined, or did you get kicked for lacking it?
(21.13.47) Cernel: the 270bc_variants map
(21.14.01) Zaitsev29: no i had to download it
(21.14.07) Cernel: ok thanks -
@Cernel i think that's happened to me as well.
-
@ubernaut Probably it keeps happening to pretty much everyone, especially if you play uncommon maps; latest case:
lug 04, 2019 3:52:22 AM games.strategy.engine.framework.ServerGame lambda$addObserver$1 GRAVE: Failed to join game java.lang.RuntimeException: Exception on remote at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:54) at com.sun.proxy.$Proxy26.joinGame(Unknown Source) at games.strategy.engine.framework.ServerGame.lambda$addObserver$1(ServerGame.java:205) at java.lang.Thread.run(Unknown Source) Caused by: games.strategy.engine.message.ConnectionLostException: Connection to Jim lost at games.strategy.engine.message.UnifiedMessengerHub.connectionRemoved(UnifiedMessengerHub.java:176) at games.strategy.net.AbstractServerMessenger.notifyConnectionsChanged(AbstractServerMessenger.java:493) at games.strategy.net.AbstractServerMessenger.removeConnection(AbstractServerMessenger.java:655) at games.strategy.net.AbstractServerMessenger.socketError(AbstractServerMessenger.java:672) at games.strategy.net.nio.NioSocket.error(NioSocket.java:91) at games.strategy.net.nio.NioReader.loop(NioReader.java:122) ... 1 moreThe frequency at which this happen makes me think that the crash is simply related to joining without having the map, at least with the current stable. My suggestion to the developers would be to do some testing in lobby, by joining hosts without having the map of the game that it is in progress. Let me know if you need a subject.
-
@Cernel i have been playing TWW in the lobby for live battles for the last couple weeks at least twice game has gotten screwed when someone joined, once was mid-battle.
-
This last time I actually waited several minutes, and the host went back working. Next time it happens I will try waiting up to 10 minutes, as well. So, I guess it might be a case similar to the delay you get when someone joins, except lingering for a very long time.
-
@ubernaut It's actually a minor issue for me, since I privately host (so I just go grab the latest autosave), but I guess it is a serious annoyance if you play in a bot?
-
@Cernel if they join in between battles you have to restart the phase.
-
This is the last one I report, as the music is always the same:
lug 06, 2019 10:33:48 PM games.strategy.engine.framework.ServerGame lambda$addObserver$1 GRAVE: Failed to join game java.lang.RuntimeException: Exception on remote at games.strategy.engine.message.UnifiedInvocationHandler.invoke(UnifiedInvocationHandler.java:54) at com.sun.proxy.$Proxy26.joinGame(Unknown Source) at games.strategy.engine.framework.ServerGame.lambda$addObserver$1(ServerGame.java:205) at java.lang.Thread.run(Unknown Source) Caused by: games.strategy.engine.message.ConnectionLostException: Connection to jefflaub lost at games.strategy.engine.message.UnifiedMessengerHub.connectionRemoved(UnifiedMessengerHub.java:176) at games.strategy.net.AbstractServerMessenger.notifyConnectionsChanged(AbstractServerMessenger.java:493) at games.strategy.net.AbstractServerMessenger.removeConnection(AbstractServerMessenger.java:655) at games.strategy.net.AbstractServerMessenger.socketError(AbstractServerMessenger.java:672) at games.strategy.net.nio.NioSocket.error(NioSocket.java:91) at games.strategy.net.nio.NioReader.loop(NioReader.java:122) ... 1 more -
And, yes, it seems like it is just a long delay. Waiting some minutes fixes it.
-
Apparently, if your game-mate disconnects while the game is frozen, for the mentioned issue, the connection lost save you get fails to load. This is the error I get:
ago 18, 2019 6:20:14 PM games.strategy.engine.framework.startup.mc.GameSelectorModel load GRAVE: Error loading game file: C:\Users\001\triplea\savedGames\autoSave\connection_lost_on_ago_18_at_18_15.tsvg, null java.io.EOFException at java.util.zip.GZIPInputStream.readUByte(Unknown Source) at java.util.zip.GZIPInputStream.readUShort(Unknown Source) at java.util.zip.GZIPInputStream.readHeader(Unknown Source) at java.util.zip.GZIPInputStream.<init>(Unknown Source) at java.util.zip.GZIPInputStream.<init>(Unknown Source) at games.strategy.engine.framework.GameDataManager.loadGame(GameDataManager.java:75) at games.strategy.engine.framework.GameDataManager.loadGame(GameDataManager.java:58) at games.strategy.engine.framework.startup.mc.GameSelectorModel.load(GameSelectorModel.java:81) at games.strategy.engine.framework.startup.ui.panels.main.game.selector.GameSelectorPanel.lambda$selectSavedGameFile$4(GameSelectorPanel.java:258) at games.strategy.engine.framework.ui.background.BackgroundTaskRunner.lambda$runInBackground$0(BackgroundTaskRunner.java:50) at games.strategy.engine.framework.ui.background.BackgroundTaskRunner$1.doInBackground(BackgroundTaskRunner.java:121) at javax.swing.SwingWorker$1.call(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at javax.swing.SwingWorker.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source) -
@Cernel The error you posted seems to indicate a corrupt savegame.
Corrupt in the way that something aborted the saving process before it was able to finish.Not entirely sure on what to do about that, nobody here has an in-depth understanding of the networking code and as long we don't have a reliable way to reproduce this "freeze" we'd just be poking around in the dark

-
@RoiEX Well, as I said, this bug appears to be widespread, it happens not always but frequently when, assumingly, users without the map try to join a host, and, once it happens, it seems that the second bug about the corrupted savegame always happens, then, if the hosted player loses connection while the game is frozen.
If I may think of a indirect way of addressing this problem, that way would be logically to invert how the process currently works, for joining games you don't have the map for. Meaning possibly checking for the map's availability (and eventually autodirecting the user to download it from the repository) on your terminal before connecting to the game, or trying to (so that the participants will not even notice if anyone without the map is trying to connect to their game). Also, this way, redirecting to download missing maps in the repository would feel a tad cleaner, if it wouldn't require yourself to crash and lag games first.
Practically, I suppose, the host would need to store the info about what map is being used for that game, like now it keeps the info about what game name is being played, or what is the current round, etc..
I supposed you could even rename the "Name" column in lobby as "Game Name" column, then having a second "Map Name" column next to it, to tell what map is being played there.
-
@Cernel
I created a Pull Request that should at least prevent the stacktrace, on the host and hopefully take a couple of bugs caused by this with it.
https://github.com/triplea-game/triplea/pull/5018
I don't know how much this improves this particular problem, but it should achieve at least a little bit -
@RoiEX Well, anyways, whatever fixes to the program is not really a fix until a lobby compatible with the latest prerelease is out and used by most. That is becoming more and more of a problem, as also there are a number of new features (for new maps) that you cannot use for lobby games. I hope a new lobby in which to use the latest prerelease will be out soon; it has been a while without, by now.
-
Need More Info? It is just something that happens frequently, but not always, when people not having the map try to join games in progress. It happens when both the hoster and the guest are using the current stable. The issue is a very long delay, of several minutes, during which the game is completely frozen for gameplay purposes (you can still scroll the board etc.). If anyone of the participants disconnects while the game is frozen, the game disappears and you get a corrupted connection lost save, that fails to load.
I cannot see what else can be said, on the matter, from the user's side.
-
-
@LaFayette Yes, I posted it in here mostly because I was talking with @epinicion, and in general wanted to see how many people around here were having this issue, as well, and almost no actual lobby users are GitHub readers, I think. But by now I don't think there is really anything more to test out about this issue, so I guess I can see to summarize it in GitHub (maybe soon).
-
@LaFayette I can actually clarify and close this topic at the same time. @Cernel @epinikion and many others have talked about this but it really should be revisited after the next stable is released and all are restricted to the same NEW basic stable. We have many players that enjoy ? using very old game engines to screw things up on purpose is my belief. The other possibility is they just can't be bothered to dl the latest stable. I have witnessed this problem occur both in my own host rarely and in many bots. Thus I do not believe it can be properly addressed until all and bots are the same again. Just my, "Two Cents," worth.
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login