[Yanel-dev] Navigation Resource

basZero baszero at gmail.com
Thu Jun 30 09:57:05 CEST 2011


Hi Michael,
I am still confused why this can happen...
During my further analysis I found a code section which is NOT null pointer
save (but this is not related to the scenario below, must should get
fixed!!):

See TranslationResource.java:

                    String userAgent = getRequest().getHeader("User-Agent");

                    String os = getOS(userAgent);

I would recommend to fix the method getOS() itself so that it first checks
whether the argument is NULL.
If it does not get checked in the method itself, the code using that method
must be aware of that hidden weakness (checking whether it is not null).

Shall I send a patch for the getOS() method? I guess it is clear what I
mean...

Cheers
Balz

On Thu, Jun 30, 2011 at 9:45 AM, basZero <baszero at gmail.com> wrote:

> Hi Michi,
>
> we just had a little incident where for a certain unknown reason the header
> section of the page (Navigation) could not be rendered.
>
> In the log, I see this Nullpointer:
> 65195001 2011-06-30 09:27:28,215 [http-80-103] ERROR
> org.wyona.yanel.impl.resources.navigation.NavigationResource.getView():220
>  - java.lang.NullPointerException (/de/header.yanel, Name: Zwischengas, ID:
> zwischengas, Mount-Point: /, No reverse proxy set)
> java.lang.NullPointerException
> at
> org.wyona.yanel.impl.resources.navigation.NavigationResource.getOS(NavigationResource.java:374)
> at
> org.wyona.yanel.impl.resources.navigation.NavigationResource.getView(NavigationResource.java:173)
>  at
> org.wyona.yanel.impl.resources.navigation.NavigationResource.getView(NavigationResource.java:98)
> at
> org.wyona.yanel.core.source.ResourceResolver.resolve(ResourceResolver.java:75)
>  at
> org.wyona.yanel.core.source.SourceResolver.resolve(SourceResolver.java:67)
> at
> org.wyona.yanel.core.transformation.XIncludeTransformer.startElement(XIncludeTransformer.java:67)
>  at
> org.apache.xml.serializer.ToXMLSAXHandler.closeStartTag(ToXMLSAXHandler.java:204)
> at
> org.apache.xml.serializer.ToSAXHandler.flushPending(ToSAXHandler.java:277)
>  at
> org.apache.xml.serializer.ToXMLSAXHandler.endElement(ToXMLSAXHandler.java:243)
> at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1399)
>  at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
> at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
>  at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
> at
> org.apache.xalan.templates.ElemLiteralResult.execute(ElemLiteralResult.java:1374)
>  at
> org.apache.xalan.transformer.TransformerImpl.executeChildTemplates(TransformerImpl.java:2411)
> at org.apache.xalan.templates.ElemTemplate.execute(ElemTemplate.java:392)
>
>
> My opinion is: there can't be a Nullpointer Exception at that location when
> the getOS() method is called from the getView() method, because getView()
> makes sure that no null is passed into getOS().
>
> How do you explain this? Any idea?
>
> However, the system gets halted due to this error for some seconds (in the
> case today for 10 seconds), recovers and continues to work fine.
>
> Cheers
> Balz
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.wyona.org/pipermail/yanel-development/attachments/20110630/d7ea202a/attachment.html>


More information about the Yanel-development mailing list