-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 André,
On 11/16/2010 1:21 PM, André Warnier wrote: > WARNING: Exception processing manager > org.apache.catalina.session.standardmana...@a20981 background process > java.lang.IllegalStateException: getAttributeNames: Session already > invalidated > at > org.apache.catalina.session.StandardSession.getAttributeNames(StandardSession.java:1052) > > at > org.apache.catalina.session.StandardSessionFacade.getAttributeNames(StandardSessionFacade.java:120) > > at com.ericsson.mars.jspbean.LoginBean.logout(LoginBean.java:2366) > at > com.ericsson.mars.jspbean.LoginBean.valueUnbound(LoginBean.java:2450) Just to add a bit more for reference: > at > org.apache.catalina.session.StandardSession.removeAttributeInternal(StandardSession.java:1654) > at > org.apache.catalina.session.StandardSession.expire(StandardSession.java:756) > at > org.apache.catalina.session.StandardSession.isValid(StandardSession.java:592) > at > org.apache.catalina.session.ManagerBase.processExpires(ManagerBase.java:680) It looks like LoginBean implements HttpSessionBindingListener and it's being triggered during the expiration of the session. I actually don't see any reason why this code should cause an exception: 1. The valueUnbound method must be called after the value is inaccessible via HttpSession.getAttribute 2. There is no way for a client to check the validity of an HttpSession object before calling getAttribute (or setAttribute for that matter) The HttpSession interface javadoc says "For session that are invalidated or expire, notifications are sent after the session has been invalidated or expired." which means that, at least, the state above is correct. > The above is a WARNING message, indicating that Tomcat has caught > something unusual. The important point there is that it is a WARNING. So, 3 things: 1. This is an exception, not some fatal condition 2. This exception is being caught a logged, so you shouldn't worry too much 3. This is logged as a WARNING, so you shouldn't worry too much Now, if this exception is actually causing the container to shut itself down, then it's a serious problem. Here's how you can check: 1. Start Tomcat normally 2. Log into your webapp 3. Log out of your webapp (this should trigger LoginBean.valueUnbound) 4. See if Tomcat shuts down If Tomcat stays running, then you're okay so far. Now: 1. Change the session timeout from whatever it is (default=30 minutes) to 1 minute 2. Start Tomcat normally 3. Log into your webapp 4. Wait 2 minutes (use a stopwatch) 5. Try to do something with your webapp If Tomcat stays running, then this exception is just a warning and your stability problems lie elsewhere. - -chris -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkzi9HQACgkQ9CaO5/Lv0PAKUQCgtKUMQlT0Zy75blGbOi5K8Hce lEMAnR43PzXl79cADDCXZBgejk1e1cT7 =CCSL -----END PGP SIGNATURE----- --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org