APAR status
Closed as program error.
Error description
Error Message: Deadlock occurred when a thread doing java.nio.channels.SocketChannel.read() is interrupted by another thread. . Stack Trace: Thread-6" J9VMThread:0x00000000007AB300, j9thread_t:0x00007F5CB011C6D0, java/lang/Thread:0x00000000FFEB7FD8, Blocked on: java/lang/Thread$ThreadLock@0x00000000FFEB80B0 Owned by: "main" (J9VMThread:0x0000000000643500, java/lang/Thread:0x00000000E003A648) Java callstack: at java/lang/Thread.blockedOn(Thread.java:1088) at java/lang/Access.blockedOn(Access.java:41) at java/nio/channels/spi/AbstractInterruptibleChannel.blockedOn(Abs tractInterruptibleChannel.java:229) at java/nio/channels/spi/AbstractInterruptibleChannel.end(AbstractI nterruptibleChannel.java:216) at sun/nio/ch/SocketChannelImpl.poll(SocketChannelImpl.java:970) (entered lock: java/lang/Object@0x00000000FFEC9ED0, entry count: 1) at sun/nio/ch/SocketAdaptor$SocketInputStream.read(SocketAdaptor.ja va:216) (entered lock: java/lang/Object@0x00000000FFEC9EC0, entry count: 1) at sun/nio/ch/ChannelInputStream.read(ChannelInputStream.java:115) (entered lock: sun/nio/ch/SocketAdaptor$SocketInputStream@0x00000000FFECA700, entry count: 1) at java/nio/channels/Channels$ReadableByteChannelImpl.read(Channels .java:396) (entered lock: java/lang/Object@0x00000000FFECA948, entry count: 1) "main" J9VMThread:0x0000000000643500, j9thread_t:0x0000000000609060, java/lang/Thread:0x00000000E003A648, Blocked on: java/lang/Object@0x00000000FFEC9EC0 Owned by: "Thread-6" (J9VMThread:0x00000000007AB300, java/lang/Thread:0x00000000FFEB7FD8) Java callstack: at java/nio/channels/spi/AbstractSelectableChannel.implCloseChannel (AbstractSelectableChannel.java:245) at java/nio/channels/spi/AbstractInterruptibleChannel$1.interrupt(A bstractInterruptibleChannel.java:176) (entered lock: java/lang/Object@0x00000000FFEC9EA0, entry count: 1) at java/lang/Thread.interrupt(Thread.java:559) (entered lock: java/lang/Thread$ThreadLock@0x00000000FFEB80B0, entry count: 1) .
Local fix
Problem summary
The deadlock occurred due to a lock contention between SocketChannel read and interrupt threads when a thread reading data from a socket channel is interrupted by another thread.
Problem conclusion
JDK NIO channel code is updated to avoid the lock contention between SocketChannel read and interrupt threads. . This APAR will be fixed in the following Java Releases: 8 SR2 (8.0.2.0) . Contact your IBM Product's Service Team for these Service Refreshes and Fix Packs. For those running stand-alone, information about the available Service Refreshes and Fix Packs can be found at: https://www.ibm.com/developerworks/java/jdk/
Temporary fix
Comments
APAR Information
APAR number
IV76044
Reported component name
JAVA CLASS LIBS
Reported component ID
620700130
Reported release
800
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt
Submitted date
2015-08-14
Closed date
2015-09-23
Last modified date
2015-09-23
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
R800 PSY
UP
[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSNVBF","label":"Runtimes for Java Technology"},"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.0","Line of Business":{"code":"LOB36","label":"IBM Automation"}}]
Document Information
Modified date:
21 February 2022