IBM Support

IV27827: BLOCKING REGISTRATION OF INTERESTED OPERATION WITH POLLSET SELECTOR AFTER APPLYING APAR IV27286

Subscribe

You can track all active APARs for this component.

 

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