Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-6842

Seam businessProcess and persistenceContexts are leaked when conversationTimeout occurs

    Details

    • Type: Bug
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 4.3.0.GA_CP09
    • Fix Version/s: TBD EAP 4
    • Component/s: Seam2
    • Labels:
      None
    • Steps to Reproduce:
      Hide

      1) Deploy seam numberguess application.
      2) Access to http://host:port/seam-numberguess/.
      3) The above two objects are not removed, when conversationTimeout occurs.

      Show
      1) Deploy seam numberguess application. 2) Access to http://host:port/seam-numberguess/ . 3) The above two objects are not removed, when conversationTimeout occurs.
    • Workaround:
      Workaround Exists
    • Workaround Description:
      Hide

      1) Download attached ConversationTimeoutWorkaround.java
      2) Compile ConversationTimeoutWorkaround.java
      3) Add the compiled class file to jboss-seam-numberguess.ear/jboss-seam-numberguess.jar

      Show
      1) Download attached ConversationTimeoutWorkaround.java 2) Compile ConversationTimeoutWorkaround.java 3) Add the compiled class file to jboss-seam-numberguess.ear/jboss-seam-numberguess.jar
    • Release Notes Text:
      Hide
      It was discovered that the <methodname>ServerConversationContext.flush()</methodname> method created unnecessary PersistentContext and BusinessContext instances which remained in memory until the HTTP Session was invalidated. In some cases this caused a minor memory leak. The memory leak issue is now fixed by adding a condition to the method which creates PersistentContext and BusinessContext instances only when needed. This functionality fixes the memory leak issue.
      Show
      It was discovered that the <methodname>ServerConversationContext.flush()</methodname> method created unnecessary PersistentContext and BusinessContext instances which remained in memory until the HTTP Session was invalidated. In some cases this caused a minor memory leak. The memory leak issue is now fixed by adding a condition to the method which creates PersistentContext and BusinessContext instances only when needed. This functionality fixes the memory leak issue.
    • Release Notes Docs Status:
      Documented as Resolved Issue
    • Docs QE Status:
      ON_QA

      Description

      Backport of JBPAPP-6751.

      The following two objects are leaked, when conversationTimeout occurs.

      org.jboss.seam.bpm.businessProcess
      org.jboss.seam.persistence.persistenceContexts

      This is not a permanent leak, because if associated HTTP session is invalidated, the above objects are removed.
      The object size of the leaked objects are very small,
      so this is not a serious memory leak issue.

      This can be easily reproduced with the seam numberguess application.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  manaRH Marek Novotny
                  Reporter:
                  ksato Keiichi Sato
                  Writer:
                  Jared Morgan
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: