Index: lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java =================================================================== diff -u -rf4d538fe4dbd4575c45b6fc3f203ea0bde22efa4 -rd9d91ea8c7d238f840afe89689c902d856f2ba6d --- lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision f4d538fe4dbd4575c45b6fc3f203ea0bde22efa4) +++ lams_common/src/java/org/lamsfoundation/lams/web/session/SessionManager.java (.../SessionManager.java) (revision d9d91ea8c7d238f840afe89689c902d856f2ba6d) @@ -239,12 +239,20 @@ Map> result = new TreeMap<>(); for (Entry entry : loginMapping.entrySet()) { HttpSession session = entry.getValue(); - UserDTO user = (UserDTO) session.getAttribute(AttributeNames.USER); + UserDTO user = null; + try { + user = (UserDTO) session.getAttribute(AttributeNames.USER); + } catch (Exception e) { + if (log.isDebugEnabled()) { + log.debug("Session " + session.getId() + " is already invalidated"); + } + } List sessionInfo = new LinkedList<>(); - sessionInfo.add(user.getFirstName()); - sessionInfo.add(user.getLastName()); - sessionInfo.add(new Date(session.getLastAccessedTime())); - sessionInfo.add(sessionCreatedDateFormatter.format(new Date(session.getCreationTime()))); + sessionInfo.add(user == null ? "Invalidated" : user.getFirstName()); + sessionInfo.add(user == null ? "session" : user.getLastName()); + sessionInfo.add(user == null ? null : new Date(session.getLastAccessedTime())); + sessionInfo + .add(user == null ? null : sessionCreatedDateFormatter.format(new Date(session.getCreationTime()))); sessionInfo.add(session.getId()); result.put(entry.getKey(), sessionInfo); }