btw. I have a timer thread that watches a message queue and then
performs lucene lookups, so every time
that timer thread invokes my object, its a new thread.

I tried calling detachCurrentThread in the object's method after the
attach and the detach threw a java compiler exception right away.

#
# A fatal error has been detected by the Java Runtime Environment:
#
#  SIGSEGV (0xb) at pc=0x00522e51, pid=23974, tid=3075853168
#
# JRE version: 6.0_20-b02
# Java VM: Java HotSpot(TM) Client VM (16.3-b01 mixed mode, sharing
linux-x86 )
# Problematic frame:
# C  [libjcc.so+0x9e51]  _ZN6JCCEnv15deleteGlobalRefEP8_jobjecti+0x171
#
# An error report file with more information is saved as:
# 
/home/darren/Gridwave/product/trunk/symphony/server/software/hs_err_pid23974.log
#
# If you would like to submit a bug report, please visit:
#   http://java.sun.com/webapps/bugreport/crash.jsp

It seems I can't use the pylucene object as a singleton because new
instances are created by new threads that need to be attached.

Tricky this is.

On Fri, 2010-07-16 at 16:59 -0400, Darren Govoni wrote:

> Ok, thanks Andi.
> 
> On Fri, 2010-07-16 at 20:04 +0200, Andi Vajda wrote:
> 
> > On Jul 16, 2010, at 18:48, Darren Govoni <[email protected]> wrote:
> > 
> > > Hi,
> > >  I have a situation where I have multiple (4) python objects that use
> > > pylucene and initVM's and attach to their own threads.
> > > It works fine for a bit, but eventually calls to
> > > vm.attachCurrentThread()  hangs and never returns across those  
> > > objects -
> > > each in a separate thread. I only call getVMEnv() once in each objects
> > > init.
> > >
> > > I guess I'd like to know if this is something I'm doing wrong or can
> > > fix?
> > >
> > > I'm on the latest build (but this problem occurred before updating)
> > 
> > Try calling attachCurrentThread() only once per thread and reusing  
> > these threads instead of creating and throwing them away. If you still  
> > must dispose of threads, try calling detachCurrentThread() but it's  
> > not guaranteed to work safely if anything in Python is still holding  
> > any java object references.
> > 
> > Andi..
> > 
> > >
> > > thanks,
> > > Darren
> 
> 


Reply via email to