Weld AbstractConversationContext calls conversation.end() without checking if its transient

Solution Unverified - Updated

Environment

  • JBoss Enterprise Application Platform (EAP) 6.x

Issue

The following error occurs.

JBWEB000211: Session event listener threw exception: org.jboss.weld.exceptions.IllegalStateException: WELD-000215 Attempt to call end() on a transient conversation
    at org.jboss.weld.context.conversation.ConversationImpl.end(ConversationImpl.java:114) [weld-core-1.1.17.SP2-redhat-1.jar:1.1.17.SP2-redhat-1]
    at org.jboss.weld.context.AbstractConversationContext.destroy(AbstractConversationContext.java:299) [weld-core-1.1.17.SP2-redhat-1.jar:1.1.17.SP2-redhat-1]
    at org.jboss.weld.context.http.HttpConversationContextImpl.destroy(HttpConversationContextImpl.java:12) [weld-core-1.1.17.SP2-redhat-1.jar:1.1.17.SP2-redhat-1]
    at org.jboss.weld.context.http.HttpSessionContextImpl.destroy(HttpSessionContextImpl.java:42) [weld-core-1.1.17.SP2-redhat-1.jar:1.1.17.SP2-redhat-1]
    at org.jboss.weld.servlet.WeldListener.sessionDestroyed(WeldListener.java:93) [weld-core-1.1.17.SP2-redhat-1.jar:1.1.17.SP2-redhat-1]

Resolution

This issue is reported in the following bugzilla (and community JIRA). And the fix has been backported and incorporated in EAP 6.4 CP14 (6.4.14).

Components
Category

This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.