Fixes are available
8.5.5.5: WebSphere Application Server V8.5.5 Fix Pack 5
8.5.5.6: WebSphere Application Server V8.5.5 Fix Pack 6
8.5.5.7: WebSphere Application Server V8.5.5 Fix Pack 7
8.5.5.8: WebSphere Application Server V8.5.5 Fix Pack 8
8.5.5.9: WebSphere Application Server V8.5.5 Fix Pack 9
8.5.5.10: WebSphere Application Server V8.5.5 Fix Pack 10
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
8.5.5.17: WebSphere Application Server V8.5.5 Fix Pack 17
8.5.5.20: WebSphere Application Server V8.5.5.20
8.5.5.18: WebSphere Application Server V8.5.5 Fix Pack 18
8.5.5.19: WebSphere Application Server V8.5.5 Fix Pack 19
8.5.5.16: WebSphere Application Server V8.5.5 Fix Pack 16
8.5.5.21: WebSphere Application Server V8.5.5.21
APAR status
Closed as program error.
Error description
When BPM has not so many documents, 10 concurrent users run CCD scenario 10 rounds including LoanProcess, data change notification and Shared BO BPDs, it runs well. But now there are 190,592 documents and 1,315,522 tasks in BPM, and try 10 concurrent users run CCD 10 rounds, upload documents failed and it throws the following exceptions: [9/16/14 3:51:37:322 CDT] 00000158 LocalExceptio E CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "createDocument" on bean "BeanId(IBM_BPM_WebAPI_DE0821.AppCluster#integration-clients-ejb .jar#ECMIntegrationClient, null)". Exception data: javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils .createSystemException(MethodMarshallerUtils.java:1363) at org.apache.axis2.jaxws.marshaller.impl.alt.MethodMarshallerUtils .demarshalFaultResponse(MethodMarshallerUtils.java:1089) at org.apache.axis2.jaxws.marshaller.impl.alt.DocLitWrappedMethodMa rshaller.demarshalFaultResponse(DocLitWrappedMethodMarshaller.ja va:680) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.getFaultRe sponse(JAXWSProxyHandler.java:626) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.createResp onse(JAXWSProxyHandler.java:566) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIM ethod(JAXWSProxyHandler.java:432) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invoke(JAX WSProxyHandler.java:213) at com.sun.proxy.$Proxy192.createDocument(Unknown Source) at com.ibm.bpm.integration.ecm.impl.ECMIntegrationClientBean.create Document(ECMIntegrationClientBean.java:151) at com.ibm.bpm.integration.ecm.EJSLocalCSLECMIntegrationClient_40d9 2831.createDocument(EJSLocalCSLECMIntegrationClient_40d92831.jav a) at com.ibm.bpm.integration.runtime.ECMIntegrationServices$5.run(ECM IntegrationServices.java:644) at com.ibm.bpm.integration.runtime.ECMIntegrationServices$5.run(ECM IntegrationServices.java:641) at com.ibm.bpm.integration.runtime.ECMIntegrationServices.executeWi thCorrectAuthentication(ECMIntegrationServices.java:2637) at com.ibm.bpm.integration.runtime.ECMIntegrationServices.executeWi thCorrectAuthentication(ECMIntegrationServices.java:2579) at com.ibm.bpm.integration.runtime.ECMIntegrationServices.createDoc ument(ECMIntegrationServices.java:641) at com.ibm.bpm.integration.runtime.ECMIntegrationServices.createDoc umentForClient(ECMIntegrationServices.java:520) at com.ibm.bpm.integration.runtime.ECMIntegrationServices.createDoc umentForClient(ECMIntegrationServices.java:484) at com.lombardisoftware.portal.servlet.ECMDocumentServlet.createDoc ument(ECMDocumentServlet.java:850) at com.lombardisoftware.portal.servlet.ECMDocumentServlet.access$90 0(ECMDocumentServlet.java:80) at com.lombardisoftware.portal.servlet.ECMDocumentServlet$CreateDoc umentHandler.doPost(ECMDocumentServlet.java:262) at com.lombardisoftware.portal.servlet.ECMDocumentServlet.doPost(EC MDocumentServlet.java:1108) at javax.servlet.http.HttpServlet.service(HttpServlet.java:595) at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWr apper.java:1230) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser vletWrapper.java:779) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser vletWrapper.java:478) AS BPM DEV recommend, the root cause there is a NPE in WAS: java.lang.NullPointerException at com.ibm.xml.xlxp2.jaxb.marshal.impl.SerializationContext.getObje ctIndex(SerializationContext.java:199) at org.oasis_open.docs.ns.cmis.core._200908.CmisPropertiesType_JAXB _Serialization_Stub.write(org.oasis_open.docs.ns.cmis.core._2009 08.CmisPropertiesType_JAXB_Serialization_Stub.java) at org.oasis_open.docs.ns.cmis.messaging._200908.CreateDocument_JAX B_Serialization_Stub.write(org.oasis_open.docs.ns.cmis.messaging ._200908.CreateDocument_JAXB_Serialization_Stub.java) at com.ibm.xml.xlxp2.jaxb.marshal.JAXB_Serialization_Root_Stub.writ e(com.ibm.xml.xlxp2.jaxb.marshal.JAXB_Serialization_Root_Stub.ja va) at com.ibm.xml.xlxp2.jaxb.marshal.MarshallerImpl.marshal(Marshaller Impl.java:165) at org.apache.axis2.datasource.jaxb.JAXBDSContext$1.run(JAXBDSConte xt.java:501) at org.apache.axis2.java.security.AccessController.doPrivileged(Acc essController.java:76) at org.apache.axis2.datasource.jaxb.JAXBDSContext.marshalByElement( JAXBDSContext.java:486) at org.apache.axis2.datasource.jaxb.JAXBDSContext.marshal(JAXBDSCon text.java:446) at org.apache.axis2.jaxws.message.databinding.impl.JAXBBlockImpl._o utputFromBO(JAXBBlockImpl.java:189) at org.apache.axis2.jaxws.message.impl.BlockImpl.outputTo(BlockImpl .java:371) at org.apache.axis2.jaxws.message.impl.BlockImpl.serialize(BlockImp l.java:295) at org.apache.axiom.om.impl.llom.OMSourcedElementImpl.internalSeria lize(OMSourcedElementImpl.java:781) at org.apache.axiom.om.impl.llom.OMElementImpl.internalSerialize(OM ElementImpl.java:967) at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.serializeIntern ally(SOAPEnvelopeImpl.java:283) at org.apache.axiom.soap.impl.llom.SOAPEnvelopeImpl.internalSeriali ze(SOAPEnvelopeImpl.java:245) at org.apache.axiom.om.impl.llom.OMSerializableImpl.serializeAndCon sume(OMSerializableImpl.java:207) at org.apache.axis2.transport.http.SOAPMessageFormatter.writeTo(SOA PMessageFormatter.java:74) at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.writeMessag e(SOAPOverHTTPSender.java:3423) at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.sendChunked Request(SOAPOverHTTPSender.java:898) at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.sendSOAPReq uest(SOAPOverHTTPSender.java:817) at com.ibm.ws.websvcs.transport.http.SOAPOverHTTPSender.send(SOAPOv erHTTPSender.java:589) at com.ibm.ws.websvcs.transport.http.HTTPTransportSender.invoke(HTT PTransportSender.java:366) at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:556) at org.apache.axis2.description.OutInAxisOperationClient.send(OutIn AxisOperation.java:406) at org.apache.axis2.description.OutInAxisOperationClient.executeImp l(OutInAxisOperation.java:229) at org.apache.axis2.client.OperationClient.execute(OperationClient. java:165) at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationContro ller.execute(AxisInvocationController.java:578) at org.apache.axis2.jaxws.core.controller.impl.AxisInvocationContro ller.doInvoke(AxisInvocationController.java:127) at org.apache.axis2.jaxws.core.controller.impl.InvocationController Impl.invoke(InvocationControllerImpl.java:93) at org.apache.axis2.jaxws.client.proxy.JAXWSProxyHandler.invokeSEIM ethod(JAXWSProxyHandler.java:419)
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server * **************************************************************** * PROBLEM DESCRIPTION: JAXB class generation process is not * * completing initialization in initial * * thread before access by subsequent * * threads. * **************************************************************** * RECOMMENDATION: Install a fix pack that contains this * * APAR. * **************************************************************** Possible NullPointerException may be thrown in JAXB Serialization Context, due to accessing a null map object. The root cause of this issue is due to multiple threads accessing this map before the JAXB class generation process completes its intialization on this map object. Sample stack trace: java.lang.NullPointerException at com.ibm.xml.xlxp2.jaxb.marshal.impl.SerializationContext.getObje ctIndex(SerializationContext.java:199) at org.oasis_open.docs.ns.cmis.core._200908.CmisPropertiesType_JAXB _Serialization_Stub.write(org.oasis_open.docs.ns.cmis.core._2009 08.CmisPropertiesType_JAXB_Serialization_Stub.java) at org.oasis_open.docs.ns.cmis.messaging._200908.CreateDocument_JAX B_Serialization_Stub.write(org.oasis_open.docs.ns.cmis.messaging ._200908.CreateDocument_JAXB_Serialization_Stub.java) at com.ibm.xml.xlxp2.jaxb.marshal.JAXB_Serialization_Root_Stub.writ e(com.ibm.xml.xlxp2.jaxb.marshal.JAXB_Serialization_Root_Stub.ja va) at com.ibm.xml.xlxp2.jaxb.marshal.MarshallerImpl.marshal(Marshaller Impl.java:165)
Problem conclusion
The JAXB code generator's process for generating a class first starts with initializing the class - where it writes static fields - and finishes with putting that class in a map where it can be accessed by subsequent threads. The issue was a multi-threading problem where the generated class was not finishing its initialization in thread 1 before it is accessed by other threads. Henceforth, by the time multiple threads attempt to read the static fields, they will read a null object because those objects have not finished being initialized. The issue was fixed by ensuring that the initial thread generating the class properly propogates all updated writes to subsequent threads. The fix for this APAR is currently targeted for inclusion in fix pack 8.5.5.5. Please refer to the Recommended Updates page for delivery information: http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
Temporary fix
Comments
APAR Information
APAR number
PI32953
Reported component name
WEBS APP SERV N
Reported component ID
5724H8800
Reported release
850
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2015-01-19
Closed date
2015-01-29
Last modified date
2015-01-29
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
WEBS APP SERV N
Fixed component ID
5724H8800
Applicable component levels
R850 PSY
UP
Document Information
Modified date:
27 April 2022