[Open/Need More Info] Guests joining games in progress crash them


  • Moderators

    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


  • Moderators

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


  • Admin

    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.


  • Donators

    @LaFayette

    That should be easy to test. I don't want to do it and crash someones game though : )


  • Donators Moderators Admin

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


  • Moderators

    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
    

  • Admin

    Hard to say based on that stack trace, errors in the unifiedInvocationHandler tend to be compatibility issues.


  • Moderators

    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
    

  • Moderators

    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
    

  • Moderators

    @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


  • Donators Moderators

    @Cernel i think that's happened to me as well.


  • Moderators

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


  • Donators Moderators

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


  • Moderators

    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.


  • Moderators

    @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?


  • Donators Moderators

    @Cernel if they join in between battles you have to restart the phase.


  • Moderators

    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
    

  • Moderators

    And, yes, it seems like it is just a long delay. Waiting some minutes fixes it.


  • Moderators

    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)
    

  • Admin

    @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 😞


Log in to reply
 

29084
1487
1723
Who's Online
Visitors Today