Bug 27816

Summary: switch to paranoidcocoonservlet
Product: Lenya Reporter: Gregor J. Rothfuss <gregor>
Component: MiscellaneousAssignee: Lenya Developers <dev>
Status: NEW ---    
Severity: enhancement CC: dev
Priority: P3    
Version: Trunk   
Target Milestone: 2.0.1   
Hardware: Other   
OS: other   

Description Gregor J. Rothfuss 2004-03-20 18:23:59 UTC
the solution in http://wiki.cocoondev.org/Wiki.jsp?page=EndorsedLibsProblem is
appealing.

a quick test showed problems with 

java.lang.ClassCastException
	at
org.apache.lenya.cms.cocoon.acting.DelegatingAuthorizerAction.setHistory(DelegatingAuthorizerAction.java:87)

and others.
Comment 1 Gregor J. Rothfuss 2004-11-14 02:23:34 UTC
vadim just mentioned that it does not provide full isolation. if your code does
regular cp loading, it wont work..

it might make more sense to wait for real blocks.
Comment 2 Torsten Schlabach 2005-02-14 22:49:49 UTC
I did a quick test with the SVN of 1_2_X as of today. I seemed to work in the
first place. I was able to start Lenya and browse some pages, both in Live and
Authoring.

>> a quick test showed problems with 

>> java.lang.ClassCastException
>>	at
>>
org.apache.lenya.cms.cocoon.acting.DelegatingAuthorizerAction.setHistory(DelegatingAuthorizerAction.java:87)

When did that come up? When starting or upon what action?

>> vadim just mentioned that it does not provide full isolation. if your code 
>> does regular cp loading, it wont work..

What is "regular cp loading"? Does Lenya do that? What does "not work" mean?
Exceptions or loading the wrong classes? Which may lead to less obvious problems.

The Xalan / Xerces issue is a nightmare if you are in shared environments, i.e.,
you have to host different virtual hosts in one servlet container. What makes it
really hard is that for Xalan / Xerces the rule "newer is better" does not
apply. We have seen lots of examples where a particular Lenya version did not
work with a newer Xerces / Xalan, so just always upgrading to the lastest
versions is not really an option.

As I lern from the recent discussion on the Cocoon lists, "real blocks" will
still take a while, so it might be worth re-investigating this bug.
Comment 3 Gregor J. Rothfuss 2005-02-14 22:56:48 UTC
(In reply to comment #2)
> I did a quick test with the SVN of 1_2_X as of today. I seemed to work in the
> first place. I was able to start Lenya and browse some pages, both in Live and
> Authoring.

good news! i last tried about a year ago.


> When did that come up? When starting or upon what action?

on startup

> What is "regular cp loading"? Does Lenya do that? What does "not work" mean?

the paranoid servlet only changes the order of classloading. if you have your
own classloader, it will not catch that. (lenya does not). i spent quite some
time the last month to get cocoon running on weblogic with the paranoid servlet,
so i gained experience with the issues..

> Exceptions or loading the wrong classes? Which may lead to less obvious problems.
> 
> The Xalan / Xerces issue is a nightmare if you are in shared environments, i.e.,
> you have to host different virtual hosts in one servlet container. What makes it
> really hard is that for Xalan / Xerces the rule "newer is better" does not
> apply. We have seen lots of examples where a particular Lenya version did not
> work with a newer Xerces / Xalan, so just always upgrading to the lastest
> versions is not really an option.

correct. to make matters worse, xalan used to ship with BCEL in the same jar,
which clashed with javaflow...

> As I lern from the recent discussion on the Cocoon lists, "real blocks" will
> still take a while, so it might be worth re-investigating this bug.

i am currently not sure it is worth the trouble, but if someone has the
motivation to do so..

this would especially be helpful for screwed up containers like weblogic or
websphere..