Uploaded image for project: 'Seam 2'
  1. Seam 2
  2. JBSEAM-5000

EJB proxy class memory leak using pageflows

This issue belongs to an archived project. You can view it, but you can't modify it. Learn more

    XMLWordPrintable

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.

      Attachments

        Activity

          People

            Unassigned Unassigned
            jimmycav_jira Jamie Cavanaugh (Inactive)
            Archiver:
            ranumula@redhat.com Raju Anumula

            Dates

              Created:
              Updated:
              Archived: