APAR status
Closed as program error.
Error description
Error Message: N/A . Stack Trace: 3XMTHREADINFO "main" J9VMThread:0x0000000110B7EC00, j9thread_t:0x000000011014E480, java/lang/Thread:0x0700000000002330, state:R, prio=5 3XMTHREADINFO1 (native thread ID:0x491B3, native priority:0x5, native policy:UNKNOWN) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at sun/nio/ch/PollsetArrayWrapper.pollsetCtl(Native Method) 4XESTACKTRACE at sun/nio/ch/PollsetArrayWrapper.setInterest(PollsetArrayWrapper.j ava:178) 4XESTACKTRACE at sun/nio/ch/PollsetSelectorImpl.putEventOps(PollsetSelectorImpl.j ava:176) 4XESTACKTRACE at sun/nio/ch/SocketChannelImpl.translateAndSetInterestOps(SocketCh annelImpl.java:803) 4XESTACKTRACE at sun/nio/ch/SelectionKeyImpl.nioInterestOps(SelectionKeyImpl.java :129) 4XESTACKTRACE at sun/nio/ch/SelectionKeyImpl.interestOps(SelectionKeyImpl.java:77 ) 4XESTACKTRACE at Select.main(Select.java:47) 3XMTHREADINFO3 Native callstack: 4XENATIVESTACK (0x0000000110C625FC) 4XENATIVESTACK (0x0900000003BF3D00 <OSB>libj9vm24.so+0x11d00<CSB>) 4XENATIVESTACK (0x0900000003BF3FB0 <OSB>libj9vm24.so+0x11fb0<CSB>) 4XENATIVESTACK (0x0900000003C81F94 <OSB>libj9prt24.so+0x1f94<CSB>) 4XENATIVESTACK (0x0900000003BF3E64 <OSB>libj9vm24.so+0x11e64<CSB>) 4XENATIVESTACK (0x0900000003BF43AC <OSB>libj9vm24.so+0x123ac<CSB>) 4XENATIVESTACK (0x0900000003BF8B9C <OSB>libj9vm24.so+0x16b9c<CSB>) 4XENATIVESTACK JavaMain+0x390 (0x0000000100001420 <OSB>java+0x1420<CSB>) 4XENATIVESTACK _pthread_body+0xdc (0x09000000005F94F0 <OSB>libpthreads.a+0x34f0<CSB>) 3XMTHREADINFO "Thread-5" J9VMThread:0x0000000112294500, j9thread_t:0x00000001122210E0, java/lang/Thread:0x07000000000DD438, state:R, prio=5 3XMTHREADINFO1 (native thread ID:0x54199, native priority:0x5, native policy:UNKNOWN) 3XMTHREADINFO3 Java callstack: 4XESTACKTRACE at sun/nio/ch/PollsetArrayWrapper.pollsetPoll(Native Method) 4XESTACKTRACE at sun/nio/ch/PollsetArrayWrapper.poll(PollsetArrayWrapper.java:214 ) 4XESTACKTRACE at sun/nio/ch/PollsetSelectorImpl.doSelect(PollsetSelectorImpl.java :74) 4XESTACKTRACE at sun/nio/ch/SelectorImpl.lockAndDoSelect(SelectorImpl.java:81) 4XESTACKTRACE at sun/nio/ch/SelectorImpl.select(SelectorImpl.java:92) 4XESTACKTRACE at sun/nio/ch/SelectorImpl.select(SelectorImpl.java:96) 4XESTACKTRACE at Select$1.run(Select.java:31) 3XMTHREADINFO3 Native callstack: 4XENATIVESTACK Java_sun_nio_ch_PollsetArrayWrapper_pollsetPoll+0xc0 (0x0900000004677AC8 <OSB>libnio.so+0x5ac8<CSB>) 4XENATIVESTACK (0x0900000003C2CA54 <OSB>libj9vm24.so+0x4aa54<CSB>) 4XENATIVESTACK (0x0900000003BEDC20 <OSB>libj9vm24.so+0xbc20<CSB>) 4XENATIVESTACK (0x0900000003C81F94 <OSB>libj9prt24.so+0x1f94<CSB>) 4XENATIVESTACK (0x0900000003BEDB40 <OSB>libj9vm24.so+0xbb40<CSB>) 4XENATIVESTACK (0x0900000003C6DC70 <OSB>libj9thr24.so+0x1c70<CSB>) 4XENATIVESTACK _pthread_body+0xdc (0x09000000005F94F0 <OSB>libpthreads.a+0x34f0<CSB>) . In AIX, the interested operation registration request with pollset selector was not blocking till 64 requests were made in sequence when the selector is in poll operation. From Java 6 SR10 onwards, the interested operation registration request operation is blocking for the first request itself similar to poll selector provider. In Linux with Epoll Selector provider, the interested operation registration request is never blocked when the selector is in poll operation.
Local fix
Problem summary
In AIX, the blocking nature of pollset selector was not exposed till Java 6 SR10 as the pollset implementation introduces a cache which will register the requests to the operating system only when the cache reaches the threshold (64 requests) or during the next poll operation. In Java 6 SR10, the cache was removed to avoid a narrow timing window between java and native layer. As a result, the pollset selector try to register the first interstOps request to the native layer and end up in blocking state.
Problem conclusion
This defect will be fixed in: 6.0.0 SR12 6.0.1 SR4 7.0.0 SR3 . The JVM is updated to introduce the caching mechanism back and increase the cache size to 1024 so that the interested operation registration request with pollset selector will not happen in normal application scenario. The chances of having 1024 concurrent interested operation registration requests is very remote which will be addressed by a future line item.
Temporary fix
Comments
APAR Information
APAR number
IV27827
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-09-11
Closed date
2012-10-08
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