Hello Christopher,

Thank you very much for your advice. I'll try it and report about
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