PK84862: AIX-JDKIS NOT RETURING THE CORRECT MESSAGE FOR SOCKET EXCEPTION
Closed as program error.
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 .
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.
AIX-JDK is not returning the correct message for socket exception.
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
Reported component name
Reported component ID
Last modified date
APAR is sysrouted FROM one or more of the following:
APAR is sysrouted TO one or more of the following:
Fixed component name
Fixed component ID
Applicable component levels