Peter, Thanks for the insight into the problem. I have managed to work around it without the patch simply by writing a ClassPreloader service, which starts before any of my other services and preloads and classes that are defined in the corresponding configuration file.
thanks once again </jima> > -----Original Message----- > From: Peter Donald [mailto:[EMAIL PROTECTED]] > Sent: Monday, February 03, 2003 11:56 PM > To: [EMAIL PROTECTED] > Cc: [EMAIL PROTECTED] > Subject: Re: ClassLoader Deadlock issue > > > Hi, > > On Fri, 31 Jan 2003 15:10, Jim Alateras wrote: > > Here is a full dump of the deadlock after moving everything to the SAR > > file. It occurs as one of my stage handlers starts up and > attempts to load > > a class. This happens quite often now and I was wonderign > whether you can > > suggest a work around. > > Ok - the problem is that one of the classes that used during > deserializtion > has static initializers that other classes that happens at smae time as > phoenix is loading another class. > > I think it is a bug in the priordial classloader but it should be > able to be > worked around. I have just sent a patch that should try to avoid this > particular deadlock but it will still be possible that other > deadlocks could > occur. > > If you know you are going to be running on Sun JVMs all the time then try > doing a > > Class.forName( "sun.security.util.SignatureFileVerifier" ); > > In the code during your blocks startup. This will try to force > the classes to > load and maybe avoid this deadlock. However you may need to do this for a > couple of other classes. It is an ugly hack but until I can > rework Phoenix to > force load all of its own classes it may be the best thing you can do. > > If deadlock still occurs can you send me the log again (in particular the > deadlock section in trace). > > Suns crappy launcher classloader sucks and this is just one of > the issues it > has ;( > > -- > Cheers, > > Peter Donald > Doubt is not a pleasant condition, but certainty is absurd. > -- Voltaire --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]