Hi All,

I've just switched over to tapestry 5.0.15 and I'm now seeing sporadic
NullPointerExceptions originating from the ContextAssetFactory.

Caused by: java.lang.NullPointerException
    at $Request_11cf6ca8ebe.getContextPath($Request_11cf6ca8ebe.java)
    at $Request_11cf6ca8e55.getContextPath($Request_11cf6ca8e55.java)
    at
org.apache.tapestry5.internal.services.ContextAssetFactory.createAsset(ContextAssetFactory.java:45)
    at $AssetFactory_11cf6ca8e7c.createAsset($AssetFactory_11cf6ca8e7c.java)
    at
org.apache.tapestry5.internal.services.AssetSourceImpl.createAssetFromResource(AssetSourceImpl.java:130)
    at
org.apache.tapestry5.internal.services.AssetSourceImpl.getAssetForResource(AssetSourceImpl.java:113)
    at
org.apache.tapestry5.internal.services.AssetSourceImpl.findRelativeAsset(AssetSourceImpl.java:104)
    at
org.apache.tapestry5.internal.services.AssetSourceImpl.getAsset(AssetSourceImpl.java:93)
    at $AssetSource_11cf6ca8e47.getAsset($AssetSource_11cf6ca8e47.java)
    at
org.apache.tapestry5.internal.bindings.AssetBindingFactory.newBinding(AssetBindingFactory.java:93)
    at
$BindingFactory_11cf6ca8e9b.newBinding($BindingFactory_11cf6ca8e9b.java)
    at
org.apache.tapestry5.internal.services.BindingSourceImpl.newBinding(BindingSourceImpl.java:80)


The line in question in the ContextAssetFactory is:

45:               final String contextPath = request.getContextPath() + "/"
+ resource.getPath();

The request implementation is using the JustInTimeObjectCreator at this
point and it looks like it's failing to build the Request correctly and
throwing this error.

If i restart jetty about 50% of the time the webapp will start fine and this
exception will never occur.
The rest of the time the webapp seems to startup fine but will always throw
this Exception when an asset is encountered on a page.
I'm using maven with the jetty plugin to run it and the webapp also uses an
overlay.

Does anybody have any thoughts on what could be causing this?

Many thanks

jack

Reply via email to