Details
-
Bug
-
Status: Open
-
Major
-
Resolution: Unresolved
-
2.2.1.Final
-
None
-
None
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.