IBM Support

IV74341: DEADLOCK IN JSSE SSLSOCKETIMPL WHEN PERFORMING A SELF-INITIATED CLOSE

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

 

APAR status

  • Closed as program error.

Error description

  • Error Message, as reported by customer:
    Some threads become parked indefinitely while performing a
    self-initiated close after receiving the SSLException
    "close_notify message cannot be sent". Each hang involves 2
    threads, a ReentrantLock and synchronization on a SSLSocketImpl
    instance. One thread is always parked awaiting a ReentrantLock
    and the other thread is always blocked in a
    SSLSocketImpl.isClosed() call awaiting the SSLSocketImpl
    instance lock held by the parked thread.
    
    Stack Trace, if applicable:
    N/A
    
    Other Error Information, as reported by customer:
    N/A
    

Local fix

  • N/A
    

Problem summary

  • Deadlock in JSSE SSLSocketImpl when performing a self-initiated
    close
    
    ERROR DESCRIPTION:
    Some threads become parked indefinitely while performing a
    self-initiated close after receiving the SSLException
    "close_notify message cannot be sent". Each hang involves 2
    threads, a ReentrantLock and synchronization on a SSLSocketImpl
    instance. One thread is always parked awaiting a ReentrantLock
    and the other thread is always blocked in a
    SSLSocketImpl.isClosed() call awaiting the SSLSocketImpl
    instance lock held by the parked thread.
    

Problem conclusion

  • The fix is to change the connectionState to volatile so that
    there is no need to call a synchronized method to get the
    connection state to resolve the deadlock.
    The associated RTC PR is 94824
    The associated Austin CMVC defect is 116768
    The associated Hursley CMVC defect is 202840
    The associated APAR is IV74341
    JVMs affected : Java 5.0, Java 6.0, Java 6.1, Java 7.0 and Java
    7.1
    The fix was delivered for Java 5.0 SR16 FP14, Java 6.0 SR16
    FP15, Java 6.1 SR8 FP15, Java 7.0 SR9 FP20 and Java 7.1 SR3 FP20
    The affected jar is "ibmjsseprovider2.jar".
    The build level of this jar for the affected releases is
    "20150709"
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV74341

  • Reported component name

    JAVA SECURE SOC

  • Reported component ID

    TIVSECJSS

  • Reported release

    100

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2015-06-18

  • Closed date

    2015-07-28

  • Last modified date

    2015-07-28

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    JAVA SECURE SOC

  • Fixed component ID

    TIVSECJSS

Applicable component levels

  • R100 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCZL3Z","label":"JSSE"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"100","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
28 July 2015