PQ55719: ABEND0C4 IN APPLICATION SERVER REGION. ABEND ISSUER=BBORLEXT, ABEND IN *PATHNAM/UNICODE2UTF | |||||||||||||||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||||||||||||||
![]() APAR status Closed as program error. Error description ABEND0C4 in Application server region. Dump Title is: DUMP TITLE=COMPON=WEBSPHERE Z/OS, COMPID=5655A9801,ISSUER= BBORLEXT, ABEND in *PATHNAM/unicode2UTF Looking at the Traceback: of the ABENDING TCB from the SVC Dump (using the IPCS command: <IP VERBX LEDATA 'CEEDUMP, ASID(xxx), TCB(yyyyy), DSA(zzzzz)'> at the top of the traceback you will see: Traceback: PU Offset Entry E Addr E Offset Statement Load -18311E42 unicode2UTF 18D381B0 -18311E42 AME +0000013C jni_GetStringUTFChars 18C5F200 +0000013C AME +00000086 Java_com_ibm_som_corba_rt_StubServices_printerr 10B2D218 +00000086 +00000102 1545CE5C +00000102 +000004D8 mmipSelectInvokeJavaMethod . The exception is occuring in method 'unicode2UTF', which is a java method, but is caused because the WebSphere code does not check for the 'printerr' call to be passing a 'null' string. It is the responsibility of the caller of the jni call.Local fix Problem summary **************************************************************** * USERS AFFECTED: All users of WebSphere Application Server * * V4.0.1 for z/OS and OS/390. * **************************************************************** * PROBLEM DESCRIPTION: ABENDS0C4/ABEND0C4 occurs while trying * * to print a null object using println * * in the System.err outputstream. * * The WebSphere Application Server code * * is intercepting the println call and * * rather than passing the call to the * * JVM, which can handle a null object * * in println. When the WebSphere * * Application Server code passes the * * null object to the JNI the abend * * occurs. * **************************************************************** * RECOMMENDATION: * **************************************************************** The method "println" in the PrintStreamErrWriter class needs to check that it has not received a NULL java.lang.String as its input parameter before calling StubServices.println. The StubServices.println method makes a JNI call to C++ which in turn calls the JNI function getStringUTFChars. This JNI function assumes that the string being passed is not NULL and does not check the string before creating a UTF string out of the string being passed. So when a null string is passed it causes an ABEND0C4 and the JVM is unable to recover.Problem conclusion The JVM handles a null object in println by returning a string containing the characters "null" as output. To keep the output from StubServices.println acting like the JVM, a check has been put in the PrintStreamErrWriter class to see if the string being passed is null and if it is then return a string that contains the character string "null" to the output stream. APAR PQ55719 is associated with SERVICE LEVEL W401015 of WebSphere Application Server V4.0.1 for z/OS and OS/390.Temporary fix Comments
APAR is sysrouted FROM one or more of the following: APAR is sysrouted TO one or more of the following: UQ61834 Modules/Macros
|
Document Information |
Product categories: Software > Application Servers >
Distributed Application & Web Servers > WebSphere Application
Server for z/OS
Operating system(s):
Software version: 400
Software edition:
Reference #: PQ55719
IBM Group: Software Group
Modified date: Feb 2, 2002
(C) Copyright IBM Corporation 2000, 2006. All Rights Reserved.