Jeremias Maerki wrote:

On 20.07.2007 11:52:15 Andreas L Delmelle wrote:


In addition to that there was a bug in FixedLength.equals() that made
the caching effect-less:

That was the most likely cause. The equals() method returning false because of this, would keep on creating separate instances. How they would be leaked into a subsequent run is not quite clear to me, though...

Because of the bug in PropertyCache. The two bugs just add to each other.

Thanks for spotting this bug in FixedLength.equals(). I rebuilt fop.jar and started a fresh profiling session. After 5000 renderings with only 16Mb the heap is staying around 3Mb. The number of FixedLength and WeakHashMap$entry object is staying fixed at around 300. Hip Hip Hooray!!!

Obviously we will continue to run a few more tests before assuming all is well, but it certainly appears to have fixed the problem! Funny that Andreas never ran into the issue though :-/


Reply via email to