Hello Christopher,

It works really!
Many thanks!

PV> Hello Christopher,

PV> Thank you very much for your advice. I'll try it and report about
PV> result.

CO>> After further analysis this seems to be the same problem as a known 
CO>> Rhino bug: http://bugzilla.mozilla.org/show_bug.cgi?id=115717. It's 
CO>> marked as WORKSFORME but I just verified that it was never fixed for 
CO>> this case and is still a problem in Rhino15_R4 and Rhino15_R4.1. I 
CO>> believe the problem is actually with the "break" inside a "try" block. 
CO>> Here is a simplified test case:

CO>> function test() {
CO>>   while (true) {
CO>>     try {
CO>>       break;
CO>>     } catch (e) {
CO>>     }
CO>>   }
CO>>   try {
CO>>     throw "x";
CO>>   } catch (e) {
CO>>   }
CO>> }

CO>> test();

CO>> The try is never cleaned up if the break is hit and leaves the catch 
CO>> stack corrupted. I don't know when I'll be able to fix this. So to 
CO>> workaround it set a variable inside the try and move break outside.

CO>> HTH,

CO>> Chris

CO>> Christopher Oliver wrote:

>>> This is a bug in the JavaScript interpreter. I'll check in a fix 
>>> shortly. In the meantime to workaround this you could try adding this 
>>> in your function:
>>>
>>> function login() {
>>>   try {
>>>      try {
>>>        try {
>>>        } catch(e) {
>>>        }
>>>      } catch(e) {
>>>      }
>>>    } catch (e) {
>>>    }
>>>    ...
>>> }
>>>
>>> To force the catch stack size to 3.
>>>
>>> Another workaround would be to move the code containing one of your 
>>> try blocks into a subroutine.
>>>
>>> Regards,
>>>
>>> Chris
>>>
>>> Peter Velychko wrote:
>>>
>>>> Hello Christopher,
>>>>
>>>> My flowscript looks like the following:
>>>> var user, permittedRubrics;
>>>>
>>>> function login(errorMsg) {
>>>>    var login = "";
>>>>    var password = "";
>>>>    while (true) {
>>>>        var viewData = {
>>>>                         errorMsg : errorMsg,
>>>>                         login : login,
>>>>                         password : password
>>>>                       };
>>>>        cocoon.sendPageAndWait("screens/ru/admin/login.jx", viewData);
>>>>        errorMsg = null;
>>>>
>>>>        login = cocoon.request.getParameter("login");
>>>>        password = cocoon.request.getParameter("psw");
>>>>
>>>>        if (login != "" && password != "") {
>>>>            try {
>>>>                var userReg = factory.createUserRegistry();
>>>>                user = userReg.getUserWithLogin(login, password);
>>>>                userReg.release();
>>>>
>>>>                if (user != undefined) {
>>>>                    break;
>>>>                } else {
>>>>                    errorMsg = "No such user or bad password";
>>>>                }
>>>>            }
>>>>            catch (e) {}
>>>>        } else {
>>>>            errorMsg = "Please input correct values";
>>>>        }
>>>>    }
>>>>    // collecting rubrics permitted for the user
>>>>    try {
>>>>        var userReg2 = factory.createUserRegistry();
>>>>        if (userReg2.existsPermission(user, "manageAllDocuments")) {
>>>>            // getting all rubrics
>>>>            permittedRubrics = getAllRubrList();
>>>>        } else {
>>>>            permittedRubrics = userReg2.getPermittedRubrics(user);
>>>>        }
>>>>    }
>>>>    catch (e) {
>>>>        cocoon.log.error("--> Exception "+e);
>>>>    }
>>>>
>>>>    // area where exception arises
>>>>    try {
>>>>        userReg2.release();
>>>>    }
>>>>    catch (e) {
>>>>        cocoon.log.error("--> Exception "+e);
>>>>    }
>>>>    userReg = null;
>>>>           var session = cocoon.session;
>>>>
>>>>    rubrView("Rubric List");
>>>> }
>>>>
>>>> The exception arises without any visible reason for me.
>>>>
>>>> CO> What does your flowscript look like?
>>>>
>>>> CO> Peter Velychko wrote:
>>>>
>>>>  
>>>>
>>>>>> Hello All,
>>>>>>
>>>>>> Could anyone help me with the following error?
>>>>>> ERROR   (2004-01-23) 17:39.03:234   [sitemap.] 
>>>>>> (/private/continue.1c29510e1319484e1e178266285e076570517f14) 
>>>>>> Thread-13/PipelineNode: 2
>>>>>> java.lang.ArrayIndexOutOfBoundsException: 2
>>>>>>       at 
>>>>>> org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:374)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:190)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.mozilla.javascript.continuations.ContinuationInterpreter.interpret(ContinuationInterpreter.java:138)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.mozilla.javascript.continuations.InterpretedFunctionImpl.call(InterpretedFunctionImpl.java:121)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1244)
>>>>>>       at 
>>>>>> org.mozilla.javascript.ScriptableObject.callMethod(ScriptableObject.java:1591) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpreter.handleContinuation(FOM_JavaScriptInterpreter.java:606)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invoke(CallFunctionNode.java:151)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:152)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:354)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:307)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke(MountNode.java:133)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:84)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.invoke(PreparableMatchNode.java:164)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke(PipelineNode.java:163)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.invokeNodes(AbstractParentProcessingNode.java:108)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(PipelinesNode.java:152)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:354)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.cocoon.components.treeprocessor.TreeProcessor.process(TreeProcessor.java:307)
>>>>>>  
>>>>>>
>>>>>>       at org.apache.cocoon.Cocoon.process(Cocoon.java:656)
>>>>>>       at 
>>>>>> org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java:1112) 
>>>>>>
>>>>>>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>>>>>       at 
>>>>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:260)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:170)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
>>>>>>       at 
>>>>>> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:386)
>>>>>>  
>>>>>>
>>>>>>       at 
>>>>>> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534) 
>>>>>>
>>>>>>       at 
>>>>>> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:530)
>>>>>>  
>>>>>>
>>>>>>       at java.lang.Thread.run(Thread.java:534)
>>>>>>
>>>>>>
>>>>>> My environment is the following:
>>>>>> jdk 1.4.2
>>>>>> tomcat 4.1.18
>>>>>> cocoon 2.1.3
>>>>>>
>>>>>> Thank you in advance.
>>>>
>>>> CO> 
>>>> ---------------------------------------------------------------------
>>>> CO> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>>> CO> For additional commands, e-mail: [EMAIL PROTECTED]
>>>

CO>> ---------------------------------------------------------------------
CO>> To unsubscribe, e-mail: [EMAIL PROTECTED]
CO>> For additional commands, e-mail: [EMAIL PROTECTED]


-- 
Best regards,
Peter Velychko                            
[EMAIL PROTECTED]


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to