ICEfaces
  1. ICEfaces
  2. ICE-11100

Weblogic 12.2.1.1.0 failures with ace:showcase

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Invalid
    • Affects Version/s: EE-3.3.0.GA_P04
    • Fix Version/s: EE-3.3.0.GA_P04
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      Amazon AWS Weblogic 12.2.1.1.0
      ICEfaces EE-3.3.0_P04 RC1 Jenkins build 1
      All browsers.
    • Assignee Priority:
      P1

      Description

      Several failures were seen in the showcase application when testing with Amazon AWS Weblogic 12.2.1.1.0.
      Please see Part 1 and Part 2.

      Failures Part 1:
      All browsers - Interacting with these demos causes a Server Internal error
      accordion > Pane Change
      checkboxButton > Custom Style
      dataTable > ALL Demos except Overview
      maskedEntry > Label Position, Required Styling
      menu > Layout, Events, Effects
      menuBar > Effects, Click to Display
      panel > Overview, Listener
      progressBar > Polling, Client & Server
      resizable > Resize Listener
      sliderEntry > Input, Listener, Submit
      textEntry/textAreaEntry > AutoTab, Label Position, Indicator text, Required Styling
      tooltip > Delegate
      tree > Lazy Loading, Drag Drop, Selection

      Stack Trace:
      java.lang.NullPointerException
              at org.icefaces.impl.context.DOMPartialRenderCallback.visit(DOMPartialViewContext.java:814)
              at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1611)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIForm.visitTree(UIForm.java:371)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at org.icefaces.impl.context.DOMPartialViewContext.renderSubtrees(DOMPartialViewContext.java:466)
              at org.icefaces.impl.context.DOMPartialViewContext.processPartial(DOMPartialViewContext.java:174)
              at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:973)
              at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1778)
              at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:426)
              at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
              at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:286)
              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:139)
              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:604)
              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
              at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
              at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
              at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
              at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25)
              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
              at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:32)
              at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:78)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3683)
              at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3649)
              at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
              at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
              at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
              at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
              at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2433)
              at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2281)
              at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2259)
              at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1686)
              at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1646)
              at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:270)
              at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:348)
              at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:333)
              at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:54)
              at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
              at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:640)
              at weblogic.work.ExecuteThread.execute(ExecuteThread.java:406)
              at weblogic.work.ExecuteThread.run(ExecuteThread.java:346)
      <Jul 11, 2016, 3:16:55,681 PM EDT> <Error> <javax.enterprise.resource.webcontainer.jsf.application> <BEA-000000> <Error Rendering View[/showcase.xhtml]
      java.lang.NullPointerException
              at org.icefaces.impl.context.DOMPartialRenderCallback.visit(DOMPartialViewContext.java:814)
              at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1611)
              at javax.faces.component.UIComponent.visitTree(UIComponent.java:1622)
              at javax.faces.component.UIForm.visitTree(UIForm.java:371)
              Truncated. see log file for complete stacktrace

      Failures Part 2:
      For the following issues, no server or console errors were logged:

      autoCompleteEntry > all demos except Overview
      1.) List does not render when entering text into the autoCompleteEntry
      2.) After failure from #1 you can not navigate to any further demos in the autoCompleteEntry group.

      comboBox > all demos except Overview
      1.) Selections made from the comboBoxes are not updated on page.
      2.) After failure from #1 you can not navigate to any further demos in the comboBox group.

      confirmationDialog > all demos
      1.) Selections made are not updated on page.
      2.) After failure from #1 you can not navigate to any further demos in the confirmationDialog group.

      contextMenu> all demos except Overview
      1.) Selections made are not updated on page.
      2.) After failure from #1 you can not navigate to any further demos in the contextMenu group.

      dataExporter > all demos except Overview
      1.) Files can not be exported.
      2.) After failure from #1 you can not navigate to any further demos in the dataExporter group.

      dateTimeEntry> all demos except Overview
      1.) Popup calendars not rendered, page not updated after submit
      2.) After failure from #1 you can not navigate to any further demos in the dateTimeEntry group.

      dialog > effects and Size
      1.) Effects not rendered, page not updated after submit.
      2.) After failure from #1 you can not navigate to any further demos in the dialog group.

      draggable/droppable > Effects and Size
      1.) Changes to settings are not applied.
      2.) After failure from #1 you can not navigate to any further demos in the draggable/droppable group.

      list > all demos except Overview
      1.) Page is not updated when selecting from list.
      2.) After failure from #1 you can not navigate to any further demos in the list group.

      menuBar > Dynamic
      1.) MenuBar does not render
      2.) After failure from #1 you can not navigate to any further demos in the menuBar group.

      panelStack > all demos except Overview
      1.) Values fail to update.
      2.) After failure from #1 you can not navigate to any further demos in the panelStack group.

      progressBar > Push
      1.) ProgressBar can not be activated.

      progressBar > Client Side
      1.) ProgressBar can be started but fails when an NCI page popup appears.
      2.) After failure from #1 you can not navigate to any further demos in the progressBar group.

      radioButton > Overview, Custom Style
      1.) NCI appears after selecting the buttons a few times.
      2.) Button selections do not persist

      selectMenu, simpleSelectOneMenu > all demos except Overview
      1.) Values fail to update.
      2.) After failure from #1 you can not navigate to any further demos in the selectMenu/simpleSelect groups.

      tabSet > Overview, Server Side, Proxy
      1.) Can not change tabs.
      2.) After failure from #1 you can not navigate to any further demos in the tabSet group.

      In the failing demos that use jsf or ace input components, selecting a new value just resets to the default value.

        Issue Links

          Activity

          Hide
          Mircea Toma added a comment - - edited

          Take component out of the view whenever transitory children are added dynamically to avoid having them duplicated by the JSF state saving mechanism. The commit is a back port of ICE-10335 and ICE-10438 fixes that we already have in ICEfaces 4.

          Show
          Mircea Toma added a comment - - edited Take component out of the view whenever transitory children are added dynamically to avoid having them duplicated by the JSF state saving mechanism. The commit is a back port of ICE-10335 and ICE-10438 fixes that we already have in ICEfaces 4.
          Hide
          Ken Fyten added a comment -

          The weblogic.xml is required in order for the server to attempt to use JSF 2.1.

          Show
          Ken Fyten added a comment - The weblogic.xml is required in order for the server to attempt to use JSF 2.1.
          Hide
          Mircea Toma added a comment -

          It turns out that the server side runs with Mojarra 2.1.29 but the jsf.js resource (the JSF bridge code) served to the browser is from Mojarra 2.2.8. This is when including weblogic.xml file. The view state update format is different in Mojarra 2.2.8 vs 2.1.29 we end up with the issues described above.

          Replacing Weblogic's included Mojarra library with 2.1.29 version fixes all the problems. As an alternate solution I tried using a shared library as described in https://docs.oracle.com/cd/E24329_01/web.1211/e21049/configurejsfandjtsl.htm#WBAPP199 but it did not solve the issue.

          Show
          Mircea Toma added a comment - It turns out that the server side runs with Mojarra 2.1.29 but the jsf.js resource (the JSF bridge code) served to the browser is from Mojarra 2.2.8. This is when including weblogic.xml file. The view state update format is different in Mojarra 2.2.8 vs 2.1.29 we end up with the issues described above. Replacing Weblogic's included Mojarra library with 2.1.29 version fixes all the problems. As an alternate solution I tried using a shared library as described in https://docs.oracle.com/cd/E24329_01/web.1211/e21049/configurejsfandjtsl.htm#WBAPP199 but it did not solve the issue.
          Hide
          Liana Munroe added a comment - - edited

          Verified workaround with ICEfaces EE-3.3.0.GA_P04 Jenkins build 2 showcase. FF 43, Chrome 51, IE 11.
          I replaced the glassfish.jsf.jar found in Oracle-BEA/WebLogic_Server-12.2.1.1.0/wlserver/modules with the javax.faces.jar from the Jenkins build. (renaming it to glassfish.jsf.jar).
          The showcase.war was built using servlet-profile. The weblogic.xml file was added to the web-inf folder.
          All issues described in this JIRA no longer occur.

          Show
          Liana Munroe added a comment - - edited Verified workaround with ICEfaces EE-3.3.0.GA_P04 Jenkins build 2 showcase. FF 43, Chrome 51, IE 11. I replaced the glassfish.jsf.jar found in Oracle-BEA/WebLogic_Server-12.2.1.1.0/wlserver/modules with the javax.faces.jar from the Jenkins build. (renaming it to glassfish.jsf.jar). The showcase.war was built using servlet-profile. The weblogic.xml file was added to the web-inf folder. All issues described in this JIRA no longer occur.
          Hide
          Mircea Toma added a comment -

          This is not an issue caused by ICEfaces.

          Show
          Mircea Toma added a comment - This is not an issue caused by ICEfaces.

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Liana Munroe
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: