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


Reply via email to