Am 11.05.2011 18:26, schrieb Andi Vajda:
> There shouldn't be any random threads. Threads don't just appear out of thin 
> air. You create them. If there is a chance that they call into the JVM, then 
> attachCurrentThread().

I've already made sure, that all our code and threads are calling a
hook, which attaches the thread to the JVM. But I don't have control
over all threads. Some threads are created in third party libraries. I
would have to check and patch every third party tool, we are using.

>> I wonder, why it wasn't noticed earlier.
> 
> Did anything else change in your application besides the Python version ?
> 32-bit to 64-bit ? (more memory used, more frequent GCs)
> Something in the code ?

I done testing with the same code base on a single machine. The Python
2.7 branch of our application just has a few changes like python2.6 ->
python2.7. Nothing else is different. JCC and Lucence are compiled from
the very same tar ball with the same version of GCC. We had very few
segfaults in our test suite over the past months (more than five test
runs every day, less than one crash per week). With Python 2.7 I'm
seeing crashes three of five test runs.

The example code crashes both Python 2.6.6. + JCC 2.7 + PyLucene 3.0.3
and Python 2.7.1 + JCC 2.8 + PyLucene 3.1.0 on my laptop (Ubuntu 10.10
X86_64).

Christian

Reply via email to