Bugs item #985318, was opened at 2004-07-05 13:23
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=985318&group_id=22866

Category: JBossServer
Group: None
Status: Open
Resolution: None
Priority: 9
Submitted By: Ulf Schroeter (schrouf)
Assigned to: Ulf Schroeter (schrouf)
Summary: Serious connection leak in connection pool

Initial Comment:
org.jboss.resource.connectionmanager.InternalManagedC
onnectionPool contains a serious synchronization bug in 
method returnConnection(). 

The code 

if (cl.hasPermit())
{
       cl.grantPermit(false);
       permits.release();
}

has to be included into the synchronized code section 
after cls.add(cl). Otherwise it is possible that the 
returned connection will be handed out to another 
thread in getConnection() before reaching the finally 
block in returnConnection(). In this situation the 
releasing thread will call cl.grantPermit(false) on a 
connection that is already in use by another thread ( 
overwriting its cl.grantPermit(true) on that connection). 
This will cause a non-execution of the semaphore 
release on next return of that connection which leads to 
a final internal semaphore permit count of 1 (no 
connection pooling at all...)

I will fix this in Brach_3_2 and HEAD

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=376685&aid=985318&group_id=22866


-------------------------------------------------------
This SF.Net email sponsored by Black Hat Briefings & Training.
Attend Black Hat Briefings & Training, Las Vegas July 24-29 - 
digital self defense, top technical experts, no vendor pitches, 
unmatched networking opportunities. Visit www.blackhat.com
_______________________________________________
JBoss-Development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to