Details

      Description

      We have found a PermGen leak when an EJB is accessed during a pageflow.

      Attached is a sample project that reproduces the issue.

      It appears to happen only if a conversation scoped component that injects a remote EJB is referenced by an action on a pageflow transition. It also occurs if the component access the EJB via a JNDI lookup.

      We can reproduce it on WebLogic, but not on GlassFish. However it seems related to SEAM and pageflows, as it only occurs during a pageflow, and changing when the EJB is looked up affects whether or not the leak will be present.

      Steps to reproduce (using example app):
      1) deploy jsf library (follow standard instructions for weblogic)
      2) deploy the two EARs (memleak-ejb-ear-0.0.1-SNAPSHOT.ear and memleak-web-ear-0.0.1-SNAPSHOT.ear)

      3) access the sample web-app at /web/home.seam

      Clicking the buttons goes through a cycle of three pages that exercise the code that produces the leak. There's a jmeter test plan included.

      You can see the leaked classes (they look like: class memleak/MyEJBImpl_ehtkps_MyEJBImpl_1031_WLStub) by running jrcmd print_class_summary, or if using a Sun JVM, by using a tool like VisualVM.

        Gliffy Diagrams

          Attachments

            Activity

              People

              • Assignee:
                Unassigned
                Reporter:
                jimmycav Jamie Cavanaugh
              • Votes:
                1 Vote for this issue
                Watchers:
                2 Start watching this issue

                Dates

                • Created:
                  Updated: