Jeremias Maerki wrote:
On 20.07.2007 11:52:15 Andreas L Delmelle wrote:
<snip/>
In addition to that there was a bug in FixedLength.equals() that made
the caching effect-less:
http://svn.apache.org/viewvc?view=rev&rev=557934
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 :-/
Chris