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=detail&aid=548098&group_id=228
> 66&atid=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
> com.entrust.toolkit.x509.revocation.CollectionRS.check(CollectionRS.java)
>         at com.entrust.toolkit.x509.certstore.c.a(Node.java)
>         at com.entrust.toolkit.x509.certstore.c.a(Node.java)
>         at
> com.entrust.toolkit.x509.certstore.CollectionCS.validate(CollectionCS.java)
>         - locked <437fb078> (a
> com.entrust.toolkit.x509.certstore.CollectionCS)
>         at com.entrust.toolkit.credentials.Profile.a(Profile.java)
>         at com.entrust.toolkit.credentials.Profile.a(Profile.java)
>         - locked <43fe7ac0> (a com.entrust.toolkit.credentials.Profile)
>         at com.entrust.toolkit.credentials.Profile.<init>(Profile.java)
>         at com.entrust.toolkit.User.login(User.java)
>         - locked <43fcaab0> (a com.entrust.toolkit.User)
>         at com.candata.gateway.Encryption.<init>(Unknown Source)
>         at com.candata.gateway.CCRAAbstract.getEncryption(Unknown
> Source)
>         at com.candata.gateway.CCRAAbstract.recvMsg(Unknown Source)
>         at com.candata.gateway.CCRAPoll.run(Unknown Source)
>         at java.lang.Thread.run(Thread.java:484)
> 
> "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)
> 
> 
> 
> On Tue, 2002-04-23 at 22:59, marc fleury wrote:
> > So I commited a workaround for the RFE that jung has with SUN.
> > 
> > Essentially it all amounts to making the ULR mono-threaded and 
> > relinqueshing the locks as we go.  It's pretty simple stuff since it 
> > is a subset of the locking in the container.  Plus it is the kind of 
> > stuff I get off with :)
> > 
> > Ok seriously now, the stuff boots, however *i haven't tested it*. I 
> > know there is some multithreaded loading in the server because it 
> > locked when I put a buggy "workaround" and it comes from the 
> > clustering code BUT since I didn't have a reproducible case of 
> > deadlock in my code I haven't tested.
> > 
> > I don't know if this actually fixes anything, I just think it does.
> > 
> > Dave, Alarik, can I ask you guys to test if you deadlock.
> > please update from CVS for the latest JMX code. 
> > 
> > thanks please let me know on this thread if the stuff doesn't work 
> > (could very well be since, again,  I haven't tested it with a real 
> > deadlock).
> > 
> > most likely I will need a few iterations on this :)
> > 
> > marcf
> > 
> > PS: instructions
> > remove your current codebase
> > cvs co jboss-all
> > build/sh build.sh
> > cd output/jboss3.1...
> > put your files in the deploy dir
> > bin/sh run.sh
> > report what goes on
> > 
> > * * *
> > 
> > View thread online: 
> > http://jboss.org/forums/thread.jsp?forum=66&thread=13851
> > 
> > _______________________________________________
> > Jboss-development mailing list [EMAIL PROTECTED]
> > https://lists.sourceforge.net/lists/listinfo/jboss-development
> 
> 
> 
> _______________________________________________
> Jboss-development mailing list [EMAIL PROTECTED]
> https://lists.sourceforge.net/lists/listinfo/jboss-development



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

Reply via email to