You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Döring Markus <Ma...@tcc-products.de> on 2008/07/08 09:18:24 UTC

[Trinidad] Nullpointer from Google Bot

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) 

 


Re: [Trinidad] Nullpointer from Google Bot

Posted by Matthias Wessendorf <ma...@apache.org>.
On Tue, Jul 8, 2008 at 6:31 PM, Matthias Wessendorf <ma...@apache.org> wrote:
> On Tue, Jul 8, 2008 at 6:28 PM, Döring Markus
> <Ma...@tcc-products.de> 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:andrew.rw.robinson@gmail.com]
>> 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 <ma...@apache.org> 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 <ma...@apache.org> 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
>>>> <Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
>>>>> 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

AW: [Trinidad] Nullpointer from Google Bot

Posted by Döring Markus <Ma...@tcc-products.de>.
Don't look if it's submitting something, just calls a HTTP GET on one of my pages.

-----Ursprüngliche Nachricht-----
Von: mwessendorf@gmail.com [mailto:mwessendorf@gmail.com] Im Auftrag von Matthias Wessendorf
Gesendet: Dienstag, 8. Juli 2008 18:32
An: MyFaces Discussion
Betreff: Re: [Trinidad] Nullpointer from Google Bot

On Tue, Jul 8, 2008 at 6:28 PM, Döring Markus
<Ma...@tcc-products.de> wrote:
> Should work if the Agent is not null.

right.
would be good to know what the bot actually submits.

-M

>
> -----Ursprüngliche Nachricht-----
> Von: Andrew Robinson [mailto:andrew.rw.robinson@gmail.com]
> 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 <ma...@apache.org> 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 <ma...@apache.org> 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
>>> <Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
>>>> 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

Re: [Trinidad] Nullpointer from Google Bot

Posted by Matthias Wessendorf <ma...@apache.org>.
On Tue, Jul 8, 2008 at 6:28 PM, Döring Markus
<Ma...@tcc-products.de> wrote:
> Should work if the Agent is not null.

right.
would be good to know what the bot actually submits.

-M

>
> -----Ursprüngliche Nachricht-----
> Von: Andrew Robinson [mailto:andrew.rw.robinson@gmail.com]
> 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 <ma...@apache.org> 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 <ma...@apache.org> 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
>>> <Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
>>>> 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

AW: [Trinidad] Nullpointer from Google Bot

Posted by Döring Markus <Ma...@tcc-products.de>.
Should work if the Agent is not null.

-----Ursprüngliche Nachricht-----
Von: Andrew Robinson [mailto:andrew.rw.robinson@gmail.com] 
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 <ma...@apache.org> 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 <ma...@apache.org> 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
>> <Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
>>> 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
>

Re: [Trinidad] Nullpointer from Google Bot

Posted by Andrew Robinson <an...@gmail.com>.
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 <ma...@apache.org> 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 <ma...@apache.org> 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
>> <Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
>>> 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
>

Re: [Trinidad] Nullpointer from Google Bot

Posted by Matthias Wessendorf <ma...@apache.org>.
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 <ma...@apache.org> 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
> <Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
>> 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

AW: [Trinidad] Nullpointer from Google Bot

Posted by Döring Markus <Ma...@tcc-products.de>.
Thanks, JIRA is created:

https://issues.apache.org/jira/browse/TRINIDAD-1146


-----Ursprüngliche Nachricht-----
Von: mwessendorf@gmail.com [mailto:mwessendorf@gmail.com] Im Auftrag von Matthias Wessendorf
Gesendet: Dienstag, 8. Juli 2008 11:28
An: MyFaces Discussion
Betreff: Re: [Trinidad] Nullpointer from Google Bot

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
<Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
> 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

Re: [Trinidad] Nullpointer from Google Bot

Posted by Matthias Wessendorf <ma...@apache.org>.
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
<Ma...@tcc-products.de> 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:bubi@charmides.in-berlin.de]
> 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

AW: [Trinidad] Nullpointer from Google Bot

Posted by Döring Markus <Ma...@tcc-products.de>.
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:bubi@charmides.in-berlin.de] 
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)

 

 


Re: [Trinidad] Nullpointer from Google Bot

Posted by Burghard Britzke <bu...@charmides.in-berlin.de>.
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)
>


Re: [Trinidad] Nullpointer from Google Bot

Posted by "simon.kitching@chello.at" <si...@chello.at>.
Döring Markus schrieb:
>
> 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.
>

You might want to set up your app to return a "robots.txt" file.
http://en.wikipedia.org/wiki/Robots.txt