On Jun 14, 2006, at 11:06 PM, Antonio Gallardo wrote:
Hi folks,
Carlos and I suspect we hit a recently introduced bug.
Steps to reproduce
==================
1. Open http://cocoon.zones.apache.org/demos/21branch/samples/
blocks/forms/form2bean.flow
2. Change "birthday date" to a valid date (just changing the year
to 2000 is enough).
3. Delete the unique contact in the repeater.
4. Now press "Add contact".
6. Fill the firstname (an "a" is enough).
7. Save the form (press "send" button).
Comments
========
We suspect the error was introduced in revision 410241 [1]. Can
anyone reproduce the bug and confirm the issue?
Yes, I can.
The Task Tree sample is another Cocoon sample to reproduce the problem:
3-Steps-Way to reproduce
========================
1. Open http://cocoon.zones.apache.org/demos/21branch/samples/blocks/
forms/do-taskTree.flow
2. Fill the 'Project name' (an "a" is enough).
3. Save the form (press "OK" button).
/Leo
=> java.lang.IllegalStateException: Cannot save model in phase
ProcessingPhase[Save model=3]
org.apache.cocoon.ProcessingException: Error calling continuation
at resource://org/apache/cocoon/forms/flow/javascript/Form.js:256:-1
at file:/home/cdemos/demos/21branch/BRANCH_2_1_X/build/webapp/
samples/blocks/forms/flow/forms_flow_example.js:172:-1
at <map:call> - file:/home/cdemos/demos/21branch/BRANCH_2_1_X/build/
webapp/samples/blocks/forms/sitemap.xmap:180:38
at <map:mount> - file:/home/cdemos/demos/21branch/BRANCH_2_1_X/build/
webapp/samples/blocks/sitemap.xmap:66:68
at <map:mount> - file:/home/cdemos/demos/21branch/BRANCH_2_1_X/build/
webapp/samples/sitemap.xmap:201:65
at <map:mount> - file:/home/cdemos/demos/21branch/BRANCH_2_1_X/build/
webapp/sitemap.xmap:1017:92
at org.apache.cocoon.ProcessingException.throwLocated
(ProcessingException.java:144)
at
org.apache.cocoon.components.flow.javascript.LocationTrackingDebugger.ge
tException(LocationTrackingDebugger.java:131)
at
org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpret
er.handleContinuation(FOM_JavaScriptInterpreter.java:840)
at
org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.invo
ke(CallFunctionNode.java:123)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i
nvoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(
PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:176)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i
nvoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(
PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:176)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i
nvoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(
PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:176)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode.i
nvoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNode.
invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invoke(
PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.process
(ConcreteTreeProcessor.java:176)
at org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at org.apache.cocoon.Cocoon.process(Cocoon.java:696)
at org.apache.cocoon.servlet.CocoonServlet.service
(CocoonServlet.java:1153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:
358)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle
(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
at org.mortbay.http.SocketListener.handleConnection
(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)
at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
Caused by: java.lang.IllegalStateException: Cannot save model in
phase ProcessingPhase[Save model=3]
at org.apache.cocoon.forms.formmodel.Form.informStartSavingModel
(Form.java:206)
at org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:271)
at org.apache.cocoon.forms.binding.NewJXPathBinding.doSave
(NewJXPathBinding.java:92)
at org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:256)
at org.apache.cocoon.forms.binding.ComposedJXPathBindingBase.doSave
(ComposedJXPathBindingBase.java:119)
at org.apache.cocoon.forms.binding.ContextJXPathBinding.doSave
(ContextJXPathBinding.java:106)
at org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:256)
at org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:275)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.mozilla.javascript.NativeJavaMethod.call
(NativeJavaMethod.java:230)
at org.mozilla.javascript.ScriptRuntime.call(ScriptRuntime.java:1244)
at
org.mozilla.javascript.continuations.ContinuationInterpreter.interpret
(ContinuationInterpreter.java:1134)
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_JavaScriptInterpret
er.handleContinuation(FOM_JavaScriptInterpreter.java:837)
... 56 more
Best Regards,
Antonio Gallardo
[1] http://svn.apache.org/viewvc?rev=410241&view=rev
********* Full stacktrace ****************
org.apache.cocoon.ProcessingException: Error calling continuation
at resource://org/apache/cocoon/forms/flow/javascript/
Form.js:256:-1
at file:/home/cdemos/demos/21branch/BRANCH_2_1_X/build/
webapp/samples/blocks/forms/flow/binding_example.js:89:-1
at resource://org/apache/cocoon/forms/flow/javascript/
Form.js:0:-1
at <map:call> - file:/home/cdemos/demos/21branch/
BRANCH_2_1_X/build/webapp/samples/blocks/forms/sitemap.xmap:180:38
at <map:mount> - file:/home/cdemos/demos/21branch/
BRANCH_2_1_X/build/webapp/samples/blocks/sitemap.xmap:66:68
at <map:mount> - file:/home/cdemos/demos/21branch/
BRANCH_2_1_X/build/webapp/samples/sitemap.xmap:201:65
at <map:mount> - file:/home/cdemos/demos/21branch/
BRANCH_2_1_X/build/webapp/sitemap.xmap:1017:92
at org.apache.cocoon.ProcessingException.throwLocated
(ProcessingException.java:144)
at
org.apache.cocoon.components.flow.javascript.LocationTrackingDebugger.
getException(LocationTrackingDebugger.java:131)
at
org.apache.cocoon.components.flow.javascript.fom.FOM_JavaScriptInterpr
eter.handleContinuation(FOM_JavaScriptInterpreter.java:840)
at
org.apache.cocoon.components.treeprocessor.sitemap.CallFunctionNode.in
voke(CallFunctionNode.java:123)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode
.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invok
e(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode
.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invok
e(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode
.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invok
e(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at
org.apache.cocoon.components.treeprocessor.sitemap.MountNode.invoke
(MountNode.java:117)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:46)
at
org.apache.cocoon.components.treeprocessor.sitemap.PreparableMatchNode
.invoke(PreparableMatchNode.java:130)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelineNode.invoke
(PipelineNode.java:142)
at
org.apache.cocoon.components.treeprocessor.AbstractParentProcessingNod
e.invokeNodes(AbstractParentProcessingNode.java:68)
at
org.apache.cocoon.components.treeprocessor.sitemap.PipelinesNode.invok
e(PipelinesNode.java:92)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:234)
at
org.apache.cocoon.components.treeprocessor.ConcreteTreeProcessor.proce
ss(ConcreteTreeProcessor.java:176)
at
org.apache.cocoon.components.treeprocessor.TreeProcessor.process
(TreeProcessor.java:252)
at org.apache.cocoon.Cocoon.process(Cocoon.java:696)
at org.apache.cocoon.servlet.CocoonServlet.service
(CocoonServlet.java:1153)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.mortbay.jetty.servlet.ServletHolder.handle
(ServletHolder.java:358)
at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch
(WebApplicationHandler.java:294)
at org.mortbay.jetty.servlet.ServletHandler.handle
(ServletHandler.java:567)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
at org.mortbay.jetty.servlet.WebApplicationContext.handle
(WebApplicationContext.java:525)
at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
at org.mortbay.http.HttpServer.service(HttpServer.java:879)
at org.mortbay.http.HttpConnection.service
(HttpConnection.java:789)
at org.mortbay.http.HttpConnection.handleNext
(HttpConnection.java:960)
at org.mortbay.http.HttpConnection.handle
(HttpConnection.java:806)
at org.mortbay.http.SocketListener.handleConnection
(SocketListener.java:218)
at org.mortbay.util.ThreadedServer.handle
(ThreadedServer.java:300)
at org.mortbay.util.ThreadPool$PoolThread.run
(ThreadPool.java:511)
Caused by: java.lang.IllegalStateException: Cannot save model in
phase ProcessingPhase[Save model=3]
at
org.apache.cocoon.forms.formmodel.Form.informStartSavingModel
(Form.java:206)
at
org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:271)
at
org.apache.cocoon.forms.binding.RepeaterJXPathBinding.doSave
(RepeaterJXPathBinding.java:225)
at
org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:256)
at
org.apache.cocoon.forms.binding.ComposedJXPathBindingBase.doSave
(ComposedJXPathBindingBase.java:119)
at
org.apache.cocoon.forms.binding.ContextJXPathBinding.doSave
(ContextJXPathBinding.java:106)
at
org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:256)
at
org.apache.cocoon.forms.binding.JXPathBindingBase.saveFormToModel
(JXPathBindingBase.java:275)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke
(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke
(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.mozilla.javascript.NativeJavaMethod.call
(NativeJavaMethod.java:230)
at org.mozilla.javascript.ScriptRuntime.call
(ScriptRuntime.java:1244)
at
org.mozilla.javascript.continuations.ContinuationInterpreter.interpret
(ContinuationInterpreter.java:1134)
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_JavaScriptInterpr
eter.handleContinuation(FOM_JavaScriptInterpreter.java:837)
... 56 more