[pylucene-dev] Hang in allocating in Boehm GC
in TermBuffer::toTerm
Andi Vajda
vajda at osafoundation.org
Wed Jan 3 10:45:37 PST 2007
On Wed, 3 Jan 2007, Aaron Lav wrote:
> On Wed, Dec 27, 2006 at 01:43:52PM -0800, Andi Vajda wrote:
>>
>> On Wed, 27 Dec 2006, Aaron Lav wrote:
>>
>>> My guess is that this isn't a PyLucene bug per se, but this mailing
>>> list seems like one of the best sources of expertise on gcj-compiled
>>> Lucene, so I'm asking if anyone else has seen anything like this, or
>>> has any ideas.
>>
>> You're probably correct. A way to find out is to build PyLucene from svn
>> sources with a recent gcj 4.2.0 snapshot built for your platform as
>> outlined here [1] which I sent out after I got a sane PyLucene built
>> (passing make test) on AMD x86-64 Ubuntu Edgy.
>
> In case anyone's curious, we recompiled gcj 3.4.6 with -DLARGE_CONFIG,
> since gcj's boehm-gc/Makefile.dist says:
> # -DLARGE_CONFIG tunes the collector for unusually large heaps.
> # Necessary for heaps larger than about 500 MB on most machines.
> # Recommended for heaps larger than about 64 MB.
> and our heap was larger than 500MB. The problem hasn't recurred
> since.
Yes, LARGE_CONFIG is also mentionned in PyLucene's INSTALL where it describes
how to build gcj 3.4.x. In that release series, Boehm GC will create a root
set for each shared library in the process even though only PyLucene is
using libgcj. When running a process with lots of shared libraries, the
dreaded 'too many root sets' error is worked around that way.
Andi..
More information about the pylucene-dev
mailing list