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]
