Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 4.0
-
Fix Version/s: 4.0
-
Component/s: Sample Apps
-
Labels:None
-
Environment:ICEfaces4 trunk rev. 42137/ 42492
Server: Tomcat 7.0.42
Browsers: all
-
Assignee Priority:P2
-
Affects:Compatibility/Configuration
Description
showcase sub-menus cannot be accessed due to a server-side error if using javax.faces.PARTIAL_STATE_SAVING=false && Mojarra JSF, see error below and the screen shot attached.
This is not an issue if using MyFaces JSF (and javax.faces.PARTIAL_STATE_SAVING=false).
This issue occurs also with older revision #'s such as ICEfaces 4 Trunk Jenkins Build 577 (rev. 42137).
Steps:
- build showcase with Mojarra JSF, and using the partialStateSavings=false context-param:
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>
- load showcase in any browser and click on the left-side menu to access any component, as example DataTable > ace:dataTable -> the following error is seen in server log:
Sep 03, 2014 10:01:12 AM com.sun.faces.context.ExceptionHandlerImpl log
1100: JSF1073: java.lang.RuntimeException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=failed to append element[tag: body; attributes: ] into #document
Sep 03, 2014 10:01:12 AM com.sun.faces.context.ExceptionHandlerImpl log
1100: failed to append element[tag: body; attributes: ] into #document
java.lang.RuntimeException: failed to append element[tag: body; attributes: ] into #document
at org.icefaces.impl.context.DOMResponseWriter.appendToCursor(DOMResponseWriter.java:504)
at org.icefaces.impl.context.DOMResponseWriter.startElement(DOMResponseWriter.java:292)
at com.sun.faces.renderkit.html_basic.BodyRenderer.encodeBegin(BodyRenderer.java:79)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:864)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.
at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.insertBefore(CoreDocumentImpl.java:396)
at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:238)
at org.icefaces.impl.context.DOMResponseWriter.appendToCursor(DOMResponseWriter.java:499)
... 28 more
This is not an issue if using MyFaces JSF (and javax.faces.PARTIAL_STATE_SAVING=false).
This issue occurs also with older revision #'s such as ICEfaces 4 Trunk Jenkins Build 577 (rev. 42137).
Steps:
- build showcase with Mojarra JSF, and using the partialStateSavings=false context-param:
<context-param>
<param-name>javax.faces.PARTIAL_STATE_SAVING</param-name>
<param-value>false</param-value>
</context-param>
- load showcase in any browser and click on the left-side menu to access any component, as example DataTable > ace:dataTable -> the following error is seen in server log:
Sep 03, 2014 10:01:12 AM com.sun.faces.context.ExceptionHandlerImpl log
1100: JSF1073: java.lang.RuntimeException caught during processing of RENDER_RESPONSE 6 : UIComponent-ClientId=, Message=failed to append element[tag: body; attributes: ] into #document
Sep 03, 2014 10:01:12 AM com.sun.faces.context.ExceptionHandlerImpl log
1100: failed to append element[tag: body; attributes: ] into #document
java.lang.RuntimeException: failed to append element[tag: body; attributes: ] into #document
at org.icefaces.impl.context.DOMResponseWriter.appendToCursor(DOMResponseWriter.java:504)
at org.icefaces.impl.context.DOMResponseWriter.startElement(DOMResponseWriter.java:292)
at com.sun.faces.renderkit.html_basic.BodyRenderer.encodeBegin(BodyRenderer.java:79)
at javax.faces.component.UIComponentBase.encodeBegin(UIComponentBase.java:864)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1854)
at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1859)
at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:456)
at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:133)
at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:337)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:120)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:219)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:647)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:1852)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:744)
Caused by: org.w3c.dom.DOMException: HIERARCHY_REQUEST_ERR: An attempt was made to insert a node where it is not permitted.
at com.sun.org.apache.xerces.internal.dom.CoreDocumentImpl.insertBefore(CoreDocumentImpl.java:396)
at com.sun.org.apache.xerces.internal.dom.NodeImpl.appendChild(NodeImpl.java:238)
at org.icefaces.impl.context.DOMResponseWriter.appendToCursor(DOMResponseWriter.java:499)
... 28 more
Issue Links
- depends on
-
ICE-10438 Components restored in wrong order when using full state management
- Closed
Need to document this as a Known Issue for the Release Notes for 4.0.