The exception filter is doing nothing more than catching every exception and
redirecting to another view.
And the exception filter is just at one point in the stack trace, the
NullPointer happens at
org.apache.myfaces.trinidadinternal.renderkit.core.skin.MacOSSwitcherIcon._getIcon(MacOSSwitcherIcon.java:104)
so it's not my code causing the problem.
Btw. we're using
Myfaces 1.1.5
Facelets 1.1.13
Trindidad 1.0.7
on
JBoss 4.2.2
Just to have it all: the exception filter:
private final static Log log = LogFactory.getLog(ExceptionFilter.class);
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
try {
chain.doFilter(request, response);
} catch (Throwable thr) {
log.error("Error occured in jsf request processing: " +
thr.getMessage(), thr);
httpResponse.reset();
httpResponse.sendRedirect(httpRequest.getContextPath()+"/faces/error.xhtml");
}
}
Von: Burghard Britzke [mailto:[EMAIL PROTECTED]
Gesendet: Dienstag, 8. Juli 2008 09:34
An: MyFaces Discussion
Betreff: Re: [Trinidad] Nullpointer from Google Bot
Every NullPointerException is caused by a missing initialization.
My first guess is an initialization error in
de.tccproducts.dps.web.utils.lifecycle.ExceptionFilter.doFilter
<http://web.utils.lifecycle.ExceptionFilter.doFilter>
sincerely,
burghard.
Am 08.07.2008 um 09:18 schrieb Döring Markus:
Hi List,
since our application went live, we get some nullpointer during night. Some
research has shown that the IP that is accessing the site is known as some
"Google Bot" scanning links, ect.
Don't know why the nullpointer happens, looks like the Google Bot sends some
"strange" MacOS header in the request.
Can someone have a look at this? It's not critical because it's no real user,
but it's not nice to get a nullpointer every night.
Greetings
Markus
________________________________
Log session start time Tue Jul 08 02:32:27 CEST 2008
Time
Thread
Level
Category
Message
896715047
http-0.0.0.0-8080-4
ERROR
facelets.viewhandler
Error Rendering View[/error.xhtml]
java.lang.NullPointerException
at
org.apache.myfaces.trinidadinternal.renderkit.core.skin.MacOSSwitcherIcon._getIcon(MacOSSwitcherIcon.java:104)
at
org.apache.myfaces.trinidadinternal.renderkit.core.skin.MacOSSwitcherIcon.renderIcon(MacOSSwitcherIcon.java:61)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputUtils.renderIcon(OutputUtils.java:284)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.OutputUtils.renderIcon(OutputUtils.java:254)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ShowDetailRenderer.renderDisclosureIcon(ShowDetailRenderer.java:184)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ShowDetailRenderer.renderDisclosureIcon(ShowDetailRenderer.java:194)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.ShowDetailRenderer.encodeAll(ShowDetailRenderer.java:91)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
at
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:711)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:304)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer.encodeChild(PanelGroupLayoutRenderer.java:188)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer._encodeChildren(PanelGroupLayoutRenderer.java:154)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:106)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
at
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:711)
at
org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode._renderComponent(UIComponentUINode.java:337)
at
org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:279)
at
org.apache.myfaces.trinidadinternal.uinode.UIComponentUINode.render(UIComponentUINode.java:256)
at
org.apache.myfaces.trinidadinternal.ui.composite.ContextPoppingUINode$ContextPoppingRenderer.render(ContextPoppingUINode.java:240)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
at
org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
at
org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
at
org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderIndexedChildren(BorderLayoutRenderer.java:56)
at
org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.BorderLayoutRenderer.renderContent(BorderLayoutRenderer.java:86)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
at
org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderChild(BaseRenderer.java:425)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:343)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderIndexedChild(BaseRenderer.java:235)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.renderContent(BaseRenderer.java:142)
at
org.apache.myfaces.trinidadinternal.ui.BaseRenderer.render(BaseRenderer.java:93)
at
org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafRenderer.render(XhtmlLafRenderer.java:84)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:358)
at
org.apache.myfaces.trinidadinternal.ui.BaseUINode.render(BaseUINode.java:313)
at
org.apache.myfaces.trinidadinternal.ui.composite.UINodeRenderer.renderWithNode(UINodeRenderer.java:104)
at
org.apache.myfaces.trinidadinternal.ui.composite.UINodeRenderer.render(UINodeRenderer.java:50)
at
org.apache.myfaces.trinidadinternal.uinode.UIXComponentUINode.renderInternal(UIXComponentUINode.java:192)
at
org.apache.myfaces.trinidadinternal.uinode.UINodeRendererBase.encodeEnd(UINodeRendererBase.java:70)
at
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:711)
at
org.apache.myfaces.trinidad.render.RenderUtils.encodeRecursive(RenderUtils.java:70)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:299)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeAllChildren(CoreRenderer.java:321)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.renderContent(PanelPartialRootRenderer.java:64)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.renderContent(BodyRenderer.java:139)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.PanelPartialRootRenderer.encodeAll(PanelPartialRootRenderer.java:119)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.BodyRenderer.encodeAll(BodyRenderer.java:79)
at
org.apache.myfaces.trinidad.render.CoreRenderer.delegateRenderer(CoreRenderer.java:335)
at
org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.DocumentRenderer.encodeAll(DocumentRenderer.java:80)
at
org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:224)
at
org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:711)
at
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:252)
at
com.sun.facelets.tag.jsf.ComponentSupport.encodeRecursive(ComponentSupport.java:249)
at
com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:579)
at
org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:182)
at
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:41)
at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:132)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:140)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:250)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:207)
at
org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:161)
at
org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
de.tccproducts.dps.web.utils.lifecycle.ExceptionFilter.doFilter(ExceptionFilter.java:39)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
at
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:157)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:262)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:446)
at java.lang.Thread.run(Thread.java:595)