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




      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.




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