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