Uploaded image for project: 'Weld'
  1. Weld
  2. WELD-833

ConcurrentModificationException while deactivating conversations

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Done
    • Affects Version/s: 1.1.0.CR3, 1.1.0.Final, TBC
    • Fix Version/s: 1.1.1.Final
    • Component/s: Conversations
    • Labels:
      None

      Description

      If a conversation gets deactivated, the code which actually iterates the map of conversations in org.jboss.weld.context.AbstractConversationContext is erroneous and easily runs into a ConcurrentModificationException if there is more than one conversation. We consider this a pretty serious defect because its not possible to use JBoss AS 6.0 GA for a real-world application.

      See attached patch for a fix.

        Gliffy Diagrams

          Issue Links

            Activity

            Hide
            vetler Vetle Leinonen-Roeim added a comment -

            This needs to be fixed in Glassfish 3.1 as well.

            Show
            vetler Vetle Leinonen-Roeim added a comment - This needs to be fixed in Glassfish 3.1 as well.
            Hide
            alesj Ales Justin added a comment -

            We're planning a Weld 1.1.1 release in the next couple of days,
            which will include this (and other) fix(es).

            Show
            alesj Ales Justin added a comment - We're planning a Weld 1.1.1 release in the next couple of days, which will include this (and other) fix(es).
            Hide
            v.lukoyanov Vasilii Lukoyanov added a comment -

            Looking forward to get fixed version asap.

            Show
            v.lukoyanov Vasilii Lukoyanov added a comment - Looking forward to get fixed version asap.
            Hide
            alesj Ales Justin added a comment -

            I'll close this, as the code should be fixed,
            but we're still missing a proper test.

            Show
            alesj Ales Justin added a comment - I'll close this, as the code should be fixed, but we're still missing a proper test.
            Hide
            oranheim Ove Ranheim added a comment -

            I experience the same issue with Seam Solder and Faces 3.0.0.Final.

            For JBoss 6 users we have to wait for 6.0.1, and I've found a workaround.

            Instead of e.g.:

            @Begin
            void beginConversation();

            @End
            void endConversation();

            You may write:

            void beginConversation()
            {
            if (conversation.isTransient())

            { conversation.begin(); }

            }

            void endConversation()
            {
            if (!conversation.isTransient())

            { conversation.end(); }

            }

            This would be a workaround this issue for Weld 1.1.0.Final users. However, for Seam Faces the interceptor (org.jboss.seam.faces.context.conversation.ConversationBoundaryInterceptor) would not be able to discover manual call to conversation begin / end.

            Show
            oranheim Ove Ranheim added a comment - I experience the same issue with Seam Solder and Faces 3.0.0.Final. For JBoss 6 users we have to wait for 6.0.1, and I've found a workaround. Instead of e.g.: @Begin void beginConversation(); @End void endConversation(); You may write: void beginConversation() { if (conversation.isTransient()) { conversation.begin(); } } void endConversation() { if (!conversation.isTransient()) { conversation.end(); } } This would be a workaround this issue for Weld 1.1.0.Final users. However, for Seam Faces the interceptor (org.jboss.seam.faces.context.conversation.ConversationBoundaryInterceptor) would not be able to discover manual call to conversation begin / end.

              People

              • Assignee:
                alesj Ales Justin
                Reporter:
                asiandub Jan Groth
              • Votes:
                11 Vote for this issue
                Watchers:
                19 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Development