Bug 1005110

Summary: ClassLoader memory leak with EJB Asynchronous invocations
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Jaikiran Pai <jpai>
Component: EJBAssignee: David M. Lloyd <david.lloyd>
Status: CLOSED CURRENTRELEASE QA Contact: Jan Martiska <jmartisk>
Severity: unspecified Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.1.0, 6.0.1, 6.1.1CC: dimitris
Target Milestone: ER1   
Target Release: EAP 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
In some situations, asynchronous EJB calls could result in the deployment's classloader being "leaked". This occurred because the execute method could lead to new thread creation. When this occurs the new thread assigns itself the context classloader of the parent thread, which would be the classloader of the deployment. To prevent this the Thread Context Classloader (TCCL) is set to `null` before the execute method is invoked, and then restored afterwards. Asynchronous EJB calls can no longer result in deployment classloader leaks.
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-15 16:55:31 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jaikiran Pai 2013-09-06 09:05:56 UTC
Using asynchronous EJB call via @Asynchronous annotation leads to class loader leak.

This was reported in WildFly upstream https://issues.jboss.org/browse/WFLY-1375 and was fixed there. The bug is applicable to EAP 6 too.

Comment 2 Jan Martiska 2013-09-18 08:29:49 UTC
Verified in EAP 6.2.0.ER1.

Comment 8 Dimitris Andreadis 2013-10-24 18:28:00 UTC
Assigning jpai EJB issues to david.lloyd. Please re-assign to Cheng or others as needed.