Adam Heath wrote:
> Adam Heath wrote:
>> I just had an OutOfMemoryError on one of our deployments.  I then ran
>> jmap, to do a heap dump, and looked at the resulting java.hprof binary
>> file using IBM's HeapAnalyzer(1), and jhat.
>>
>> What I found, was a WeakHashMap inside dbcp, that contained 346000
>> WeakHashMap$Entry objects, taking up 125M of memory, out of 193M total
>> heap.  These Entry objects contain Transaction instances, not Connections.
>>
>> Has anyone ran into something similiar?  This is against ofbiz version
>> 595296.
>>
>> ps: I'm currently running the ofbiz test cases in this ofbiz version on
>> an 8-way machine, with 8G of ram, underneath hprof, trying to track this
>> down.
>>
>> 1: http://www.alphaworks.ibm.com/tech/heapanalyzer
> 
> Got it.  This version of ofbiz is using commons-dbcp 20070730, and a
> leak fix was done on 20081012.  I'll retest, you can ignore this mail
> for now.

In detail, there was a WeakHashMap, that contained a Transaction key,
pointed to a TransactionContext, that referenced the previous
Transaction key.

So, while the key itself was a WeakRef, the value had a hard reference
back to the key.  Insta-Leak(tm)!

Reply via email to