avalon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Peter Donald <pe...@realityforge.org>
Subject Re: ClassLoader Deadlock issue
Date Mon, 03 Feb 2003 12:55:41 GMT
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: avalon-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: avalon-dev-help@jakarta.apache.org


Mime
View raw message