Re: AW: [JBoss-dev] Workaround for JUNG's RFE and load deadlock

2002-04-24 Thread Dave Smith

No file uploaded ..
On Wed, 2002-04-24 at 09:55, Jung , Dr. Christoph wrote:
 I hope this patch will also meet your scenario of having 2 threads coming
 through a single UnifiedClassLoader ...
 
 http://sourceforge.net/tracker/index.php?func=detailaid=548098group_id=228
 66atid=376687
 
 Weird,
 CGJ
 -Ursprüngliche Nachricht-
 Von: Dave Smith [mailto:[EMAIL PROTECTED]] 
 Gesendet: Mittwoch, 24. April 2002 13:45
 An: [EMAIL PROTECTED]
 Betreff: Re: [JBoss-dev] Workaround for JUNG's RFE and load deadlock
 
 
 Well my simple test cases worked but I pulled out the heavy hitters and
 managed to get a dead lock. Stack traces follow ...
 
 Thread-23 prio=5 tid=0x81a4f60 nid=0x69cb waiting on monitor
 [0xbe7fe000..0xbe7ffad8]
 at java.lang.Object.wait(Native Method)
 - waiting on 43a28660 (a
 org.jboss.mx.loading.UnifiedLoaderRepository)
 at java.lang.Object.wait(Object.java:420)
 at
 org.jboss.mx.loading.UnifiedLoaderRepository.sync(UnifiedLoaderRepository.ja
 va:717)
 - locked 43a28660 (a
 org.jboss.mx.loading.UnifiedLoaderRepository)
 at
 org.jboss.mx.loading.UnifiedLoaderRepository.releaseLock(UnifiedLoaderReposi
 tory.java:313)
 at
 org.jboss.mx.loading.UnifiedLoaderRepository.loadClass(UnifiedLoaderReposito
 ry.java:261)
 at
 org.jboss.mx.loading.UnifiedClassLoader.loadClass(UnifiedClassLoader.java:21
 7)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
 at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
 - locked 43f72c18 (a org.jboss.mx.loading.UnifiedClassLoader)
 at iaik.security.cipher.j.a(RawCipher.java)
 at iaik.security.cipher.n.a(RawBlockCipher64.java)
 at iaik.security.cipher.r.engineInit(BufferedCipher.java)
 at javax.crypto.Cipher.init(Cipher.java)
 at iaik.pkcs.pkcs7.SignerInfo.encodeCalled(SignerInfo.java)
 at iaik.asn1.ASN1Object.encodeObject(ASN1Object.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.ConstructedType.encode(ConstructedType.java)
 at iaik.asn1.ASN1Object.encodeObject(ASN1Object.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.ConstructedType.encode(ConstructedType.java)
 at iaik.asn1.SET.encode(SET.java)
 at iaik.asn1.ASN1Object.encodeObject(ASN1Object.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.ConstructedType.encode(ConstructedType.java)
 at iaik.asn1.ASN1Object.encodeObject(ASN1Object.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.CON_SPEC.encode(CON_SPEC.java)
 at iaik.asn1.ASN1Object.encodeObject(ASN1Object.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.ConstructedType.encode(ConstructedType.java)
 at iaik.asn1.ASN1Object.encodeObject(ASN1Object.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.DerCoder.a(DerCoder.java)
 at iaik.asn1.DerCoder.encode(DerCoder.java)
 - locked 441342d0 (a iaik.asn1.SEQUENCE)
 at iaik.asn1.DerCoder.encodeTo(DerCoder.java)
 at iaik.asn1.DerCoder.encodeTo(DerCoder.java)
 at
 iaik.pkcs.pkcs7.ContentInfoStream.writeTo(ContentInfoStream.java)
 at com.entrust.toolkit.a.run(PKCS7EncodeStream.java)
 at java.lang.Thread.run(Thread.java:484)
 
 
 CCRAPoll prio=5 tid=0x81b3940 nid=0x69b4 waiting for monitor entry
 [0xbb5ff000..0xbb5ffad8]
 at
 org.jboss.mx.loading.UnifiedLoaderRepository.lock(UnifiedLoaderRepository.ja
 va:283)
 - waiting to lock 43f72c18 (a
 org.jboss.mx.loading.UnifiedClassLoader)
 at
 org.jboss.mx.loading.UnifiedLoaderRepository.loadClass(UnifiedLoaderReposito
 ry.java:156)
 at
 org.jboss.mx.loading.UnifiedClassLoader.loadClass(UnifiedClassLoader.java:21
 7)
 at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
 at java.security.Security.getImpl(Security.java:815)
 at java.security.Signature.getInstance(Signature.java:172)
 at iaik.x509.X509CRL.verify(X509CRL.java)
 at iaik.x509.X509CRL.verify(X509CRL.java)
 at
 com.entrust.toolkit.x509.revocation.X509CRLRS.validateCRL(X509CRLRS.java)
 at
 com.entrust.toolkit.x509.revocation.CachedCRLRS.loadCRLs(CachedCRLRS.java)
 - locked 437fbb80 (a
 com.entrust.toolkit.x509.revocation.CachedCRLRS)
 at
 com.entrust.toolkit.x509.revocation.X509CRLRS.findCRL(X509CRLRS.java)
 - locked 437fbb80 (a
 com.entrust.toolkit.x509.revocation.CachedCRLRS)
 at
 com.entrust.toolkit.x509.revocation.X509CRLRS.check(X509CRLRS.java)
 at
 com.entrust.toolkit.x509.revocation.CollectionRS.check(CollectionRS.java)
 at
 

Re: AW: [JBoss-dev] Workaround for JUNG's RFE and load deadlock

2002-04-24 Thread marc fleury

This is about right, although I haven't gone through the analysis, I will commit this 
and Dave if you can try it I would appreciate it.  It is the case of 2 threads going 
throught the same UCL one through loadClassInternal and one through loadClass.

Jung, i believe your RFE is very valid, there is a total assymetry between LCI and LC 
that are just broken.  If you allow one you must allow the other, otherwise you are 
juggling like we do

marcf

* * *

View thread online: http://jboss.org/forums/thread.jsp?forum=66thread=13890

___
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development