IBM Support

IV23868: DEADLOCK OBSERVED WHILE INTERRUPTING A THREAD DOING SOCKETCHANNEL.OPEN() AFTER APPLYING APAR IV13299

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: Deadlock occurred when a thread doing
    SocketChannel.open() is interrupted by another thread.
    .
    Stack Trace: "Thread-6" J9VMThread:0x032E0200,
    j9thread_t:0x03E20A28,
    Blocked on: java/lang/Object@0x5BB179B8
    Owned by: "Thread-5"
    (J9VMThread:0x03300D00, java/lang/Thread:0x5BAD0D30)
    Java callstack:
    at java/nio/channels/spi/AbstractSelectableChannel
    .implCloseChannel(AbstractSelectableChannel.java:212)
    at
    java/nio/channels/spi/AbstractInterruptibleChannel$1.interrupt
    (AbstractInterruptibleChannel.java:158)
    at java/lang/Thread.interrupt(Thread.java:525)
    "Thread-5" J9VMThread:0x03300D00, j9thread_t:0x03E238D0,
    Blocked on: java/lang/Thread$ThreadLock@0x5BAD19D8
    Owned by: "Thread-6" (J9VMThread:0x032E0200,
    java/lang/Thread:0x5BAD0C30)
    Java callstack:
    at java/lang/Thread.blockedOn(Thread.java:1071)
    at sun/reflect/NativeMethodAccessorImpl.invoke0(Native Method)
    at sun/reflect/NativeMethodAccessorImpl.invoke
    (NativeMethodAccessorImpl.java:60)
    at sun/reflect/DelegatingMethodAccessorImpl.invoke
    (DelegatingMethodAccessorImpl.java:37)
    at java/lang/reflect/Method.invoke(Method.java:611)
    at sun/misc/SharedSecrets$1.blockedOn(SharedSecrets.java:117)
    at java/nio/channels/spi/AbstractInterruptibleChannel
    .blockedOn(AbstractInterruptibleChannel.java:209)
    at java/nio/channels/spi/AbstractInterruptibleChannel.end
    (AbstractInterruptibleChannel.java:197)
    at
    sun/nio/ch/SocketChannelImpl.connect(SocketChannelImpl.java:530)
    at java/nio/channels/SocketChannel.open(SocketChannel.java:157)
    .
    

Local fix

Problem summary

  • The deadlock occurred due to a lock contention between
    SocketChannel open and interrupt threads when a thread
    establishing a socket connection is interrupted by another
    thread.
    

Problem conclusion

  • This defect will be fixed in:
    6.0.0 SR11
    6.0.1 SR4
    7.0.0 SR3
    .
    JVM NIO channel code is updated to avoid the lock contention
    between SocketChannel open and interrupt threads.
    

Temporary fix

Comments

APAR Information

  • APAR number

    IV23868

  • Reported component name

    JAVA CLASS LIBS

  • Reported component ID

    620700130

  • Reported release

    600

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt

  • Submitted date

    2012-06-27

  • Closed date

    2012-06-27

  • Last modified date

    2012-11-02

  • 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 CLASS LIBS

  • Fixed component ID

    620700130

Applicable component levels

  • R600 PSY

       UP

  • R700 PSY

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCVQ3Y","label":"Java Class Libraries"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"6.0","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
02 November 2012