cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Unico Hommes <un...@hippo.nl>
Subject Re: Blocker: Exception using cocoon:// protocol
Date Thu, 28 Oct 2004 13:10:56 GMT
Vadim Gritsenko wrote:

> Hey all,
>
> There is some issue with cocoon:// protocol that I can't wrap my head 
> around... It is blocking 2.1.6 release. NullPointerException occurs 
> when request's pipeline uses / includes another pipeline via cocoon:// 
> protocol. It is reproducable using multiple samples:
>
>   http://localhost:8888/samples/aggregation/aggregate
>   http://localhost:8888/samples/aggregation/aggregate2
>   http://localhost:8888/samples/modules/index.html
>   http://localhost:8888/samples/test/reader-mime-type/test20.html
>
> etc. Last one is the simpliest. Stacktrace in the last case is below. 
> When trying to debug I found out this sequence:
>  * "cocoon://test10.html" reader: ResourceReader.recycle()
>  * "cocoon://test10.html" source: SitemapSource.reset()
>  * CocoonComponentManager.endProcessing()
>  * EnvironmentWrapper instance: AbstractEnvironment.finishProcessing()
>    Here sourceResolver is set to null!
>  * Back to CocoonComponentManager.endProcessing() which calls:
>  * EnvironmentDescription.release()
>  * "test10.html" reader: ResourceReader.recycle()
>  * EnvironmentWrapper instance: AbstractEnvironment.release()
>    Here sourceResolver is already null!
>
> Any ideas?


I just committed a fix for this. My rationale:

CocoonComponentManager.EnvironmentDescriptor depends on Environment. But 
in CocoonComponentManager.endProcessing EnvironmentDescriptor is 
released *before* Environment is cleaned. According to the direction of 
the dependency this should be the other way around.

--
Unico

Mime
View raw message