Chris Ochs created JRUBY-6475: --------------------------------- Summary: md5 digest causes thread lock Key: JRUBY-6475 URL: https://jira.codehaus.org/browse/JRUBY-6475 Project: JRuby Issue Type: Bug Components: Core Classes/Modules Affects Versions: JRuby 1.6 Reporter: Chris Ochs Priority: Minor
Seems like the MessageDigest instance might need to be cached? Ran into this when running an app that hits a cloud service that requires digest auth. When it hits it's locking up 20% or so of our tomcat app threads. java.lang.Thread.State: BLOCKED (on object monitor) at java.security.Provider.getService(Provider.java:663) - locked <0x00000005e0066ee0> (a sun.security.provider.Sun) at sun.security.jca.ProviderList.getService(ProviderList.java:314) at sun.security.jca.GetInstance.getInstance(GetInstance.java:140) at java.security.Security.getImpl(Security.java:659) at java.security.MessageDigest.getInstance(MessageDigest.java:129) at org.jruby.RubyDigest.createMessageDigest(RubyDigest.java:94) at org.jruby.RubyDigest.access$100(RubyDigest.java:55) at org.jruby.RubyDigest$DigestBase.setAlgorithm(RubyDigest.java:436) at org.jruby.RubyDigest$DigestBase.<init>(RubyDigest.java:367) at org.jruby.RubyDigest$DigestBase$1.allocate(RubyDigest.java:347) at org.jruby.RubyClass.allocate(RubyClass.java:219) at org.jruby.RubyClass.newInstance(RubyClass.java:833) at org.jruby.RubyDigest$DigestClass.s_digest(RubyDigest.java:330) at org.jruby.RubyDigest$DigestClass$s$0$0$s_digest.call(RubyDigest$DigestClass$s$0$0$s_digest.gen:65535) at org.jruby.RubyClass.finvoke(RubyClass.java:557) at org.jruby.javasupport.util.RuntimeHelpers.invoke(RuntimeHelpers.java:541) at org.jruby.RubyBasicObject.callMethod(RubyBasicObject.java:385) at org.jruby.RubyDigest$DigestClass.s_hexdigest(RubyDigest.java:337) at org.jruby.RubyDigest$DigestClass$s$0$1$s_hexdigest.call(RubyDigest$DigestClass$s$0$1$s_hexdigest.gen:65535) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:211) at org.jruby.internal.runtime.methods.DynamicMethod.call(DynamicMethod.java:207) at org.jruby.runtime.callsite.CachingCallSite.call(CachingCallSite.java:167) at rubyjit.Net::HTTP::DigestAuth#auth_header_D173E8C29FEF2D3CE8377C6586B4B48E8974A164.__file__(/home/tomcat/e1-apache-tomcat-7.0.23/webapps/ROOT/WEB-INF/config/initializers/extensions/digest_auth.rb:49) -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://jira.codehaus.org/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira --------------------------------------------------------------------- To unsubscribe from this list, please visit: http://xircles.codehaus.org/manage_email