Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA
-
Fix Version/s: EE-3.3.0.GA, 4.0.BETA
-
Component/s: ACE-Components
-
Labels:None
-
Environment:MyFaces portal
-
Assignee Priority:P1
Description
It is intermittent and seems easiest to recreate in Safari but did see it in other browsers (Chrome, IE). Using dragging and dropping the modal dialog may work find or could generate the following service side exception and then display the NCI popup.
{noformat}
java.lang.ArrayIndexOutOfBoundsException: -1
at org.icefaces.ace.component.dnd.DroppableRenderer.decode(DroppableRenderer.java:65)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:469)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1379)
at org.apache.myfaces.context.servlet.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:731)
at org.apache.myfaces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:214)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:956)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIForm.visitTree(UIForm.java:354)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartialExecute(PartialViewContextImpl.java:420)
at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:401)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:281)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:281)
at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1488)
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1372)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:759)
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:38)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at com.liferay.faces.bridge.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:100)
at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:128)
at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:178)
{noformat}
{noformat}
java.lang.ArrayIndexOutOfBoundsException: -1
at org.icefaces.ace.component.dnd.DroppableRenderer.decode(DroppableRenderer.java:65)
at javax.faces.component.UIComponentBase.decode(UIComponentBase.java:469)
at javax.faces.component.UIComponentBase.processDecodes(UIComponentBase.java:1379)
at org.apache.myfaces.context.servlet.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:731)
at org.apache.myfaces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:214)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:956)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIForm.visitTree(UIForm.java:354)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at javax.faces.component.UIComponent.visitTree(UIComponent.java:984)
at javax.faces.component.UIComponentBase.visitTree(UIComponentBase.java:1167)
at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartialExecute(PartialViewContextImpl.java:420)
at org.apache.myfaces.context.servlet.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:401)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:281)
at javax.faces.context.PartialViewContextWrapper.processPartial(PartialViewContextWrapper.java:88)
at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:281)
at javax.faces.component.UIViewRoot$ApplyRequestValuesPhaseProcessor.process(UIViewRoot.java:1488)
at javax.faces.component.UIViewRoot._process(UIViewRoot.java:1372)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:759)
at org.apache.myfaces.lifecycle.ApplyRequestValuesExecutor.execute(ApplyRequestValuesExecutor.java:38)
at org.apache.myfaces.lifecycle.LifecycleImpl.executePhase(LifecycleImpl.java:170)
at org.apache.myfaces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at com.liferay.faces.bridge.BridgePhaseResourceImpl.execute(BridgePhaseResourceImpl.java:100)
at com.liferay.faces.bridge.BridgeImpl.doFacesRequest(BridgeImpl.java:128)
at javax.portlet.faces.GenericFacesPortlet.serveResource(GenericFacesPortlet.java:178)
{noformat}
Looks like there may be some additional variables involved. I had another draggable portlet on the page (Data Table Integration Example ) and it looks like if you drag the modal on to that other portlet, the exception occurs.
Steps I used to reproduce:
<!-- Specifying these listeners in this order as per http://issues.liferay.com/browse/FACES-1511 -->
<listener>
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
</listener>
<listener>
<listener-class>com.liferay.faces.bridge.servlet.BridgeSessionListener</listener-class>
</listener>