[Open/Need More Info] Guests joining games in progress crash them
-
Lately it frequently happens to me that I see people joining and leaving my host immediately, making it crash. Games getting stuck is an old story, but I don't recall it ever happened in the past with such frequency, or at least not it being related to guest just joining to observe. This is the conversation I had about it, right now in the lobby. I think this is a pretty major issue, if really that frequent, and I will post the error log next time it happens to me:
(18.25.51) Cernel: the guy joining and leaving crashed the game, brb
(18.26.29) Cernel: it's bock up
(18.27.22) epinikion: hi Cernel, often it comes back after a while
(18.27.23) Cernel: You just slapped samstreeter
(18.27.33) epinikion: hoping for you
(18.27.52) Cernel: I'm playing in my private host; so I'm lucky to have the autosave myself and I killed it with taskmanager
(18.28.00) epinikion: uh ok
(18.28.04) epinikion: nt a bot
(18.28.13) Cernel: yep thankfully
(18.28.24) epinikion: at least
(18.28.28) Cernel: does it happen often
(18.28.40) epinikion: such joining leaving attacks hurt
(18.28.40) Cernel: that people joining games in progress clearly not having the map crash the whole game?
(18.28.52) epinikion: too often i would say
(18.28.52) Cernel: I believe it must be that they don't have the map
(18.29.07) Cernel: practually what sometimes happen to me
(18.29.09) epinikion: i dont know if thats the only reason
(18.29.13) Cernel: is that I'm playing a game
(18.29.18) epinikion: but yes thats almost always the reason
bayder has left
Curro has left
(18.29.33) Cernel: and someone joins and leave it immediately (he probably joined not having the map)
(18.29.45) Cernel: and I get a java error/exception
(18.29.52) Cernel: and the game is stuck
(18.30.01) Cernel: is this what happens in bots too?
(18.30.13) epinikion: same in bot just no java message
(18.30.20) Cernel: ah
(18.30.29) Cernel: I remember in the past this was not happening
(18.30.43) epinikion: i would agree
(18.30.46) Cernel: it is something that happens since I guess no more than 1 year?
(18.30.57) epinikion: could be
(18.31.02) Cernel: at least not so frequently
(18.31.21) epinikion: well in the past when i havent the map i could not join
paragon has joined
(18.31.57) epinikion: i am not sure if the players w/o Map see themselves joining
JackariahHooch has joined
(18.32.10) epinikion: but when i play in the bot
(18.32.13) epinikion: i see theier names -
@Cernel A user without the map (I assume from the immediate leaving of the same) just joined my host, but this time I don't seem to have had any issues.
-
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.
-
That should be easy to test. I don't want to do it and crash someones game though : )
-
@LaFayette Actually I would suspect it is peeps deliberately crashing the game and have witnessed it myself as well. Generally occurs if they don't have the map or have a really old engine.
-
It just happened. A user joined and left my host immediately, and the game froze, except only that I can still scroll the board.
Console:
giu 16, 2019 4:06:11 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 AnthonyNeyra 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
-
Hard to say based on that stack trace, errors in the
unifiedInvocationHandler
tend to be compatibility issues. -
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 more
The 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