It seems that there are two memory leaks in the
libgcj:
1. Every call to java.util.Calendar.getInstance
creates a new (currently uncollectible) class. The
same is true for the deprecated methods which call
Calendar.getInstance() internally. This is probably
okay, because Calendar.getInstance() is known to be
expensive.
Anyhow, the next problem is odd: If I link my
application explicitly against the libgcjgc.so (right
before the libgcj.so), then the amount of memory stays
bound, if not, then the memory grows until an out of
memory error occurs.
The only reason I can think of is that the GC has
traced false pointers. Probably this a known problem?