Cloud Platform

Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Post your ideas

Start by posting ideas and requests to enhance a product or service. Take a look at ideas others have posted and upvote them if they matter to you,

  1. Post an idea

  2. Upvote ideas that matter most to you

  3. Get feedback from the IBM team to refine your idea

Help IBM prioritize your ideas and requests

The IBM team may need your help to refine the ideas so they may ask for more information or feedback. The offering manager team will then decide if they can begin working on your idea. If they can start during the next development cycle, they will put the idea on the priority list. Each team at IBM works on a different schedule, where some ideas can be implemented right away, others may be placed on a different schedule.

Receive a notification on the decision

Some ideas can be implemented at IBM, while others may not fit within the development plans for the product. In either case, the team will let you know as soon as possible. In some cases, we may be able to find alternatives for ideas which cannot be implemented in a reasonable time.

If you encounter any issues accessing the Ideas portals, please send email describing the issue to ideasibm@us.ibm.com for resolution.

For more information about IBM's Ideas program visit ibm.com/ideas.

Status Future consideration
Workspace WebSphere Liberty
Created by Guest
Created on Nov 27, 2021

Enhance liberty to recover from java.io.IOException: EDC5122I Input/output error. (errno2=0x12AA044F)

TCP socket the Liberty is listening on becomes unusable. This causes connection attempts to the Liberty server to fail. This can happen when the z/OS system is running in a CINET environment (to be able run multiple TCPIP stacks) versus an INET environment (where only 1 TCPIP stack can run) and the Liberty server is started after TCPIP is up, but before PAGENT is up (with AT-TLS). It can also happen if TCPIP is restarted.

When TCPIP initializes and AT-TLS is configured it will register to USS as a socket transport provider but does not send the final notification to USS until PAGENT starts and installs the AT-TLS policy definitions (and outputs message EZZ4250I). It is this final notification that causes USS to fail the accept call with the EIO if SO_EioIfNewTP has been set.


We found that Java always sets SO_EioIfNewTP in an CINET environment by design.


To recover from such EIO error, it becomes responsibility of the Liberty to restart the socket and automatically recover from this condition, rather than forcing the end user to recover it.

Our understanding is that some customers use CINET to separate internal and external IP traffic into different TCP/IP stacks.

We are aware that starting z/OSMF after all TCP/IP ingredients are active avoids the problem, however there is a catch. Our z/OS component has a function that does not require AT-TLS and works fine without it. Now we are providing new function which does require AT-TLS to be configured and running. Our concern is that customers that did not use AT-TLS will try our new function, will bring up AT-TLS and that will break the active z/OSMF server (that is based on the Liberty). It may seem a minor issue, but given the time it took to investigate the problem (original defect was open over 5 months before root cause was established, after collecting dozens of dumps and trace files), it could be frustrating for a customer.


Idea priority Medium
Why is it useful?

The system should be able to recover from architectured error signals, rather than forcing the end user to discover the correct sequence of starting different components and to adjust their operational procedures to compensate for a lack of such recovery.

Who would benefit from this idea? Customers are able to use and appreciate new functions rather than deal with inter-product dependencies. IBM enjoys improved customer relations and loyalty because customers get to enjoy new functions "out of the box" versus dealing with configuration issues first.