Vadim Gritsenko wrote: > > It's actually very easy to reproduce: > 1. cvs up > 2. build clean; build > 3. cocoon servlet > 4. http://localhost:8888/samples/blocks/portal/portal > 5. login > 6. JSR-168 tab > > Exception is printed neatly within "JSR-168 Cocoon Portlet" > content pane. > > Please bear in mind, call stack here is the following: > CocoonServlet > Cocoon (1) > Treeprocessor, ... > CopletSource > ManagedCocoonPortlet > Cocoon (2) > EnvironmentHelper > > Where, (1) and (2) are the same instance of the Cocoon class, > on the same thread. I think that's why it is confused. Here > is head of trace. > Ah, ok, than life is much simpler :) The check currently assumes that on method entry the stack stored in the thread local is empty. Thus it checks on exit if the stack is empty again. We could store the current number of elements in the stack on method entry and check if the stack has the same size on exit. This would just be a local int variable. WDYT?
Carsten
