On Tue, Jul 8, 2008 at 6:31 PM, Matthias Wessendorf <[EMAIL PROTECTED]> wrote: > On Tue, Jul 8, 2008 at 6:28 PM, Döring Markus > <[EMAIL PROTECTED]> wrote: >> Should work if the Agent is not null. > > right.
which is the case, see CoreRenderingCtx._initializeAgent(); so, I'll commit the fix > would be good to know what the bot actually submits. > > -M > >> >> -----Ursprüngliche Nachricht----- >> Von: Andrew Robinson [mailto:[EMAIL PROTECTED] >> Gesendet: Dienstag, 8. Juli 2008 18:02 >> An: MyFaces Discussion >> Betreff: Re: [Trinidad] Nullpointer from Google Bot >> >> Looks like it should be : >> >> private Icon _getIcon(RenderingContext arc) >> { >> return (Agent.PLATFORM_MACOS.equals(arc.getAgent().getPlatformName())) ? >> _macOSIcon : >> _icon; >> } >> >> This way an NPE can never be thrown. Basically the constant should be >> compared to a variable in case the variable is null, where the >> constant is never null. >> >> >> On Tue, Jul 8, 2008 at 3:34 AM, Matthias Wessendorf <[EMAIL PROTECTED]> >> wrote: >>> This is the method in question: >>> >>> private Icon _getIcon(RenderingContext arc) >>> { >>> return (arc.getAgent().getPlatformName().equals( >>> Agent.PLATFORM_MACOS)) ? >>> _macOSIcon : >>> _icon; >>> } >>> >>> Will take a look after I am back from vacation :-) >>> >>> -M >>> >>> >>> On Tue, Jul 8, 2008 at 11:28 AM, Matthias Wessendorf <[EMAIL PROTECTED]> >>> wrote: >>>> Hi Markus, >>>> >>>> there is already a issue to support other agents, like the KDE-browser >>>> (forgot the name). >>>> I think that this is a related issue. >>>> >>>> Can you enter your problem to jira and link to this? >>>> >>>> I am not 100% sure but it might be a similar issue (yes, I know the >>>> stack is different). >>>> https://issues.apache.org/jira/browse/TRINIDAD-1109 >>>> >>>> -M >>>> >>>> On Tue, Jul 8, 2008 at 9:52 AM, Döring Markus >>>> <[EMAIL PROTECTED]> wrote: >>>>> 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 >>>>> >>>>> >>>>> >>>>> 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) >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>>> -- >>>> Matthias Wessendorf >>>> >>>> further stuff: >>>> blog: http://matthiaswessendorf.wordpress.com/ >>>> sessions: http://www.slideshare.net/mwessendorf >>>> mail: matzew-at-apache-dot-org >>>> >>> >>> >>> >>> -- >>> Matthias Wessendorf >>> >>> further stuff: >>> blog: http://matthiaswessendorf.wordpress.com/ >>> sessions: http://www.slideshare.net/mwessendorf >>> mail: matzew-at-apache-dot-org >>> >> > > > > -- > Matthias Wessendorf > > further stuff: > blog: http://matthiaswessendorf.wordpress.com/ > sessions: http://www.slideshare.net/mwessendorf > mail: matzew-at-apache-dot-org > -- Matthias Wessendorf further stuff: blog: http://matthiaswessendorf.wordpress.com/ sessions: http://www.slideshare.net/mwessendorf mail: matzew-at-apache-dot-org

