In z/OS V2R1, Language Environment (LE) introduced optimization changes to the dynamic_cast call that allowed the possibility of an incorrect return value. After upgrading z/OS to V2R1, you may experience abends in WebSphere Message Broker or IBM Integration Bus on a fairly frequent basis. These abends might occur at various points in a message flow, as the message is propagated from one node to the next.
It is recommended that all users of WebSphere Message Broker or IBM Integration Bus on z/OS that have upgraded to z/OS V2R1 request and apply PTF UI17014.
WebSphere Message Broker or IBM Integration Bus make use of the C++ dynamic_cast call to obtain a pointer to a specific object subtype. This object is obtained from a pointer to a generic supertype that contains specific context information relevant to the message flow node that is currently being executed.
In z/OS V2R1, Language Environment (LE) introduced optimization changes to the dynamic_cast call that resulted in a small timing window that allowed the possibility of an incorrect return value.
As a result, you might get an abend when WebSphere Message Broker or IBM Integration Bus attempts to access an object of the casted type and this is not a valid object. WebSphere Message Broker or IBM Integration Bus tries to access an invalid storage address and this results in the abend(s).
This issue is resolved by z/OS APAR PI15855 and is available in PTF UI17014. Further details of APAR PI15855 can be found at:
PI15855: DYNAMIC_CAST NOT RETURNING THE CORRECT POINTER
Though the abend stack might look different each time, the root cause is usually the same. Below is a list of some of the commonly occurring traceback stacks, containing the last calls on each of the stacks, that are the result of APAR PI15855: