[JBossCache] - List of objects in pojocache - null elements appear randomly
by magic.moose
Hey,
Not sure how to describe the problem, it's really random stuff, so far I couldn't track the way to reproduce on demand.
Anyway, configuration:
jboss-cache 1.4
java 5.
imagine list of objects stored under custom fqn/region in pojocache. default AopLRUEvictionPolicy. timetolive 60secs. Every element of the list is an initialized object. Not aspected, but serialized. The elements are stored as separated tree nodes (that's the behavior of cached collections). So far so good.
When I start hitting the cache i am getting, very randomly, a list (AOPProxy) where some (not all) elements are null ! I was suspecting eviction process, but nulls do not appear with the same frequency as region eviction. I do not modify the list in any way from any other thread (like reordering) or at least I haven't found such place.
I realize more info may be required, but at this point, has anyone ever bumped into something similar?
Thanks,
mm
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4088372#4088372
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4088372
18 years, 7 months
[JBoss Seam] - Re: NPE in SeamSecurity (getCookieValue(Selector.java:59))
by amerk
We are using Seam 1.2.1 GA and we can't switch to Seam 2.0 in our project and we have a similar problem.
The stacktrace of an "normal" (none JSF-Request) request with the Seam Context Filter:
2007-09-24 08:05:26,776 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/locmgmt]] Session event listener threw exception
java.lang.NullPointerException
at org.jboss.seam.mock.MockExternalContext.getRequestCookieMap(MockExternalContext.java:184)
at org.jboss.seam.core.Selector.getCookie(Selector.java:61)
at org.jboss.seam.core.Selector.getCookieValue(Selector.java:72)
at org.jboss.seam.security.Identity.initCredentialsFromCookie(Identity.java:88)
at org.jboss.seam.security.Identity.create(Identity.java:83)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
at org.jboss.seam.Component.callComponentMethod(Component.java:1834)
at org.jboss.seam.Component.callCreateMethod(Component.java:1757)
at org.jboss.seam.Component.newInstance(Component.java:1746)
at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:175)
at org.jboss.seam.contexts.Lifecycle.beginSession(Lifecycle.java:235)
at org.jboss.seam.servlet.SeamListener.sessionCreated(SeamListener.java:41)
at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:384)
at org.apache.catalina.session.StandardSession.setId(StandardSession.java:356)
at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:824)
at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:290)
at org.apache.catalina.connector.Request.doGetSession(Request.java:2225)
at org.apache.catalina.connector.Request.getSession(Request.java:2024)
at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:831)
at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
at javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletRequestWrapper.java:215)
at org.jboss.seam.web.ContextFilter.doFilter(ContextFilter.java:47)
at com.agcs.locmgmt.web.seam.TransactionalSeamServletFilter.doFilter(TransactionalSeamServletFilter.java:70)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.planetj.servlet.filter.compression.CompressingFilter.doFilter(CompressingFilter.java:217)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:57)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at com.agcs.locmgmt.web.seam.CookieMapServletFilter.doFilter(CookieMapServletFilter.java:55)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:175)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:767)
at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:697)
at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:889)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
I don't understand why the selector using the MockupExternalContext. The Mockup Object is only created on the ExceptionFilter in the "endWebRequestAfterException" method.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4088365#4088365
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4088365
18 years, 7 months