GC leaks debugging

Andrew Haley aph@redhat.com
Wed Apr 6 18:33:00 GMT 2011


On 04/06/2011 03:29 PM, Erik Groeneveld wrote:
>>> The tests work fine on OpenJDK. What could cause GCJ to grow the heap
>>> infinitely?
>>>> I don't know because you won't show me the tests.
>> Yeah, of course, sorry. I forgot to tell a few things.
>> This problem has been bothering me quite some time now, and I decided
> to solve it once and forever. I have written many different test, but
> I am still not able to pinpoint a simple program to demonstrate the
> results. The problem occurred initially while using Lucene, but later
> on also with Owlim. Having written all kinds of test programs with
> Lucene, from doing almost nothing to fully fletched indexing, I can
> make no definite conclusions yet.
>> I am now circling around the problem, trying to enclose it from
> different sides and I seek your help for giving me hints on what to
> look for. It is not lightly that I decided to bring it into this
> mailing-list, knowing that it would claim many peoples time.
>> Now the test I am running is attached. It indexes a very simple
> document with a unique id each, first assuring is it deleted. And
> each loop, it reopens the index-reader and searcher. This test starts
> to get in trouble above 10,000,000 loops (documents). The problem is
> that when I remove code (I tested systematically), it only takes
> longer for the heap to explode. The only test that ran properly was
> when I only created Documents and not index them. So perhaps it has
> to do something with I/O.

Just as a clue: there are thousands of unclosed FileInputStreams and
FileDescriptors. At a mad guess, someone is not closing their files but
hoping that finalization will do it instead.
I was using:
	gnu::gcj::util::GCInfo::enumerate(JvNewStringUTF("LuceneDump"));
and
 /usr/local/bin/gc-analyze TestDump001
Eventually, I get a
Exception in thread "main" java.lang.IndexOutOfBoundsException
 at java.nio.Buffer.checkIndex(Buffer.java:331)
from gc-analyze. I may be able to find out what is causing that.
Andrew.


More information about the Java mailing list

AltStyle によって変換されたページ (->オリジナル) /