Uploaded image for project: 'MyFaces Core'
  1. MyFaces Core
  2. MYFACES-3554

REGRESSION: 2.0.12/2.1.6 (and above) fail on state saving

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 2.0.12, 2.0.13, 2.1.6, 2.1.7
    • 2.0.14, 2.1.8
    • None
    • None
    • Tomcat 7.0.25

    Description

      Hi guys,

      Thanks again for all the great work you do on MyFaces!

      There appears to have been an identical regression between MyFaces 2.0.11 and 2.0.12, and between MyFaces 2.1.5 and 2.1.6. My apologies for not picking this up earlier. This regression is likely related to a suite of unit tests I gave you in MYFACES-2935, though unfortunately I guess my suite didn't cover this particular bug?

      I attach 4 versions of the same sample application. You'll see it works for the 2.0.11/2.1.5 versions, but not the 2.0.12/2.1.6 versions. To reproduce:

      1. Run the app
      2. On the opening page click on contact 'Homer Simpson'
      3. Click Edit

      In the regressed versions you will see:

      java.lang.IllegalStateException: component with duplicate id "form:j_id_b" found
      org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIdsStatefulComponents(CheckDuplicateIdFaceletUtils.java:54)
      org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIdsStatefulComponents(CheckDuplicateIdFaceletUtils.java:75)
      org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIdsStatefulComponents(CheckDuplicateIdFaceletUtils.java:75)
      org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIdsStatefulComponents(CheckDuplicateIdFaceletUtils.java:75)
      org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIdsStatefulComponents(CheckDuplicateIdFaceletUtils.java:75)
      org.apache.myfaces.view.facelets.compiler.CheckDuplicateIdFaceletUtils.checkIdsStatefulComponents(CheckDuplicateIdFaceletUtils.java:35)
      org.apache.myfaces.view.facelets.DefaultFaceletsStateManagementStrategy.saveView(DefaultFaceletsStateManagementStrategy.java:488)
      org.apache.myfaces.application.StateManagerImpl.saveView(StateManagerImpl.java:166)
      org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1619)
      org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:264)
      org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:115)
      org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
      javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)

      I'm assuming this is on your end, but if it's a case of you tightening up spec compliance and exposing a bug in my code, please let know!

      Regards,

      Richard.

      Attachments

        1. addressbook-faces.2.0.12.war
          5.69 MB
          Kennard Consulting
        2. addressbook-faces.2.0.11.war
          5.62 MB
          Kennard Consulting
        3. addressbook-faces.2.1.6.war
          5.79 MB
          Kennard Consulting
        4. addressbook-faces.2.1.5.war
          5.72 MB
          Kennard Consulting

        Activity

          People

            lu4242 Leonardo Uribe
            kennardconsulting Kennard Consulting
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: