IBM Support

PK84862: AIX-JDKIS NOT RETURING THE CORRECT MESSAGE FOR SOCKET EXCEPTION

Subscribe

You can track all active APARs for this component.

 

APAR status

  • Closed as program error.

Error description

  • Error Message: This issue is reported on AIX-JDK-142.
    Problem Scenario:
    In any java application if we try to set any option (like
    TCP_NODELAY) for the socket fd which is already close
    (PreClose() or Dup) then JVM will throw following exception:
    Exception in thread "main" java.net.SocketException: A system
    call received a parameter that is not valid.
            at java.net.PlainSocketImpl.socketSetOption(Native
    Method)
            at
    java.net.PlainSocketImpl.setOption(PlainSocketImpl.java:292)
            at java.net.Socket.setTcpNoDelay(Socket.java:805)
            at Foo.main(Foo.java:40)
    But this exception says that parameter pass to the
    socketSetOption() is not valid, but actual scenario is of socket
    reset, which can create a confusion for user and is not
    directing them to the correct direction to diagnose the problem.
    .
    Stack Trace: N/A
    .
    

Local fix

  • We changed this exception error message according to the
    IEEE-Open Group Base Specifications for setsockopt() subroutine
    (AIX API adhere to these specifications).
    
    http://www.opengroup.org/onlinepubs/009695399/functions/setsocko
    pt.html
    After making the changes in JVM is will show following exception
    message:
    Exception in thread "main" java.net.SocketException: The
    specified  option is invalid at the specified socket level or
    the socket has been shut down.
    This message gives the pretty much clear idea on the possible
    reason of failure which can direct customer to the correct
    direction to diagnose the failure. So I modified the code
    accordingly so that it should throw the correct message to the
    user.
    

Problem summary

  • AIX-JDK is not returning the correct message for socket
    exception.
    

Problem conclusion

  • This defect will be fixed in:
    1.4.2 SR13-1 (AIX)
    .
    JDK-CL code is updated so that it must return the correct
    message for socket exception.
    .
    To obtain the fix:
    Install build 20090525 or later
    

Temporary fix

Comments

APAR Information

  • APAR number

    PK84862

  • Reported component name

    JAVA(1.3/1.4 CO

  • Reported component ID

    5648C9800

  • Reported release

    42A

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2009-04-16

  • Closed date

    2009-05-26

  • Last modified date

    2009-05-26

  • 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(1.3/1.4 CO

  • Fixed component ID

    5648C9800

Applicable component levels

  • R42A PSN

       UP

[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SUPPORT","label":"IBM Worldwide Support"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"1.4.2","Edition":"","Line of Business":{"code":"","label":""}}]

Document Information

Modified date:
09 February 2022