diff --git a/Mage.Server/src/main/java/mage/server/UserManager.java b/Mage.Server/src/main/java/mage/server/UserManager.java index 64c74c39c93..3c5db1a7e30 100644 --- a/Mage.Server/src/main/java/mage/server/UserManager.java +++ b/Mage.Server/src/main/java/mage/server/UserManager.java @@ -182,7 +182,7 @@ public class UserManager { } public void handleException(Exception ex) { - if (!ex.getMessage().equals("No message")) { + if (ex != null && !ex.getMessage().equals("No message")) { logger.fatal("", ex); } } diff --git a/Mage.Server/src/main/java/mage/server/game/GameSession.java b/Mage.Server/src/main/java/mage/server/game/GameSession.java index a395a155c5b..fd59bb8c32a 100644 --- a/Mage.Server/src/main/java/mage/server/game/GameSession.java +++ b/Mage.Server/src/main/java/mage/server/game/GameSession.java @@ -56,6 +56,7 @@ import mage.view.GameClientMessage; import mage.view.GameView; import mage.view.LookedAtView; import mage.view.SimpleCardsView; +import org.apache.log4j.Logger; /** * @@ -63,6 +64,8 @@ import mage.view.SimpleCardsView; */ public class GameSession extends GameWatcher { + private static final Logger logger = Logger.getLogger(GameSession.class); + private final UUID playerId; private final boolean useTimeout; @@ -277,7 +280,10 @@ public class GameSession extends GameWatcher { public void kill() { if (game != null) { + logger.debug("GameSession.kill before player quit for game"); game.quit(playerId); + } else { + logger.error("GameSession.kill game object missing playerId: " + (playerId == null ? "[null]":playerId)); } } diff --git a/Mage/src/mage/game/GameImpl.java b/Mage/src/mage/game/GameImpl.java index a794c6f3ae0..db09699d250 100644 --- a/Mage/src/mage/game/GameImpl.java +++ b/Mage/src/mage/game/GameImpl.java @@ -943,17 +943,19 @@ public abstract class GameImpl implements Game, Serializable { @Override public synchronized void quit(UUID playerId) { + logger.debug("GameImpl.quit start " + playerId); if (state != null) { Player player = state.getPlayer(playerId); if (player != null) { - logger.debug("gameImpl.quit" + player.getName() + " quits the game"); + logger.debug("GameImpl.quit " + player.getName() + " quits the game"); player.quit(this); }else { - logger.error(new StringBuilder("gameImpl.quit - player not found - playerId: ").append(playerId)); + logger.error(new StringBuilder("GameImpl.quit - player not found - playerId: ").append(playerId)); } } else { - logger.error(new StringBuilder("gameImpl.quit - state not found - playerId: ").append(playerId)); + logger.error(new StringBuilder("GameImpl.quit - state not found - playerId: ").append(playerId)); } + logger.debug("GameImpl.quit end " + playerId); } @Override