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

Reply via email to