Fixes are available
8.5.5.10: WebSphere Application Server V8.5.5 Fix Pack 10
9.0.0.1: WebSphere Application Server traditional V9.0 Fix Pack 1
9.0.0.2: WebSphere Application Server traditional V9.0 Fix Pack 2
8.5.5.11: WebSphere Application Server V8.5.5 Fix Pack 11
9.0.0.3: WebSphere Application Server traditional V9.0 Fix Pack 3
9.0.0.4: WebSphere Application Server traditional V9.0 Fix Pack 4
8.5.5.12: WebSphere Application Server V8.5.5 Fix Pack 12
9.0.0.5: WebSphere Application Server traditional V9.0 Fix Pack 5
9.0.0.6: WebSphere Application Server traditional V9.0 Fix Pack 6
8.5.5.13: WebSphere Application Server V8.5.5 Fix Pack 13
9.0.0.7: WebSphere Application Server traditional V9.0 Fix Pack 7
9.0.0.8: WebSphere Application Server traditional V9.0 Fix Pack 8
8.5.5.14: WebSphere Application Server V8.5.5 Fix Pack 14
9.0.0.9: WebSphere Application Server traditional V9.0 Fix Pack 9
9.0.0.10: WebSphere Application Server traditional V9.0 Fix Pack 10
8.5.5.15: WebSphere Application Server V8.5.5 Fix Pack 15
9.0.0.11: WebSphere Application Server traditional V9.0 Fix Pack 11
9.0.5.0: WebSphere Application Server traditional Version 9.0.5 Refresh Pack
9.0.5.1: WebSphere Application Server traditional Version 9.0.5 Fix Pack 1
9.0.5.2: WebSphere Application Server traditional Version 9.0.5 Fix Pack 2
8.5.5.17: WebSphere Application Server V8.5.5 Fix Pack 17
9.0.5.3: WebSphere Application Server traditional Version 9.0.5 Fix Pack 3
9.0.5.4: WebSphere Application Server traditional Version 9.0.5 Fix Pack 4
9.0.5.5: WebSphere Application Server traditional Version 9.0.5 Fix Pack 5
WebSphere Application Server traditional 9.0.5.6
9.0.5.7: WebSphere Application Server traditional Version 9.0.5 Fix Pack 7
9.0.5.8: WebSphere Application Server traditional Version 9.0.5.8
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
9.0.5.9: WebSphere Application Server traditional Version 9.0.5.9
9.0.5.10: WebSphere Application Server traditional Version 9.0.5.10
8.5.5.16: WebSphere Application Server V8.5.5 Fix Pack 16
8.5.5.21: WebSphere Application Server V8.5.5.21
9.0.5.11: WebSphere Application Server traditional Version 9.0.5.11
APAR status
Closed as program error.
Error description
While attempting to map a request the code finds a partition id and then attempts to map it to a cloneid so that it can determine if the request has affinity to a cluster that we found hosting the web module. During this mapping there is a small timing window where another request could come in to do the same thing and cause the following NullPointerException: [1/15/16 16:15:20:812 EST] FFDC Exception:java.lang.NullPointerException SourceId:com.ibm.ws.proxy.dwlm.http.HttpMapODCFilter.doFilte r ProbeId:1 Reporter:com.ibm.ws.proxy.dwlm.http.HttpMapODCFilter@3cb65b8 c java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcce ssorImpl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMe thodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ws.xd.dwlm.client.XDHttpSessionAffinityModule.getRea lCloneId(XDHttpSessionAffinityModule.java:135) at com.ibm.ws.xd.dwlm.client.HttpAffinityUtil.getTargetClusterB yCloneId(HttpAffinityUtil.java:804) at com.ibm.ws.xd.dwlm.client.HttpAffinityUtil._getAffinityClust er(HttpAffinityUtil.java:324) at com.ibm.ws.xd.dwlm.client.HttpAffinityUtil.getAffinityCluste r(HttpAffinityUtil.java:115) at com.ibm.ws.xd.dwlm.client.HttpRequestClassification.classify Request(HttpRequestClassification.java:278) at com.ibm.ws.xd.dwlm.client.HttpRequestClassification.classify Request(HttpRequestClassification.java:132) at com.ibm.ws.xd.dwlm.client.XDDWLMClientServiceContextImpl.ini tClusterNode(XDDWLMClientServiceContextImpl.java:643) at com.ibm.ws.xd.dwlm.client.BaseDWLMClientServiceContextImpl.s etODCNode(BaseDWLMClientServiceContextImpl.java:94) at com.ibm.ws.xd.dwlm.client.XDDWLMClientServiceContextImpl.set ODCNode(XDDWLMClientServiceContextImpl.java:898) at com.ibm.ws.xd.dwlm.client.XDRequestMapperImpl.mapRequestToOD CNode(XDRequestMapperImpl.java:255) at com.ibm.ws.xd.dwlm.client.XDRequestMapperImpl.mapRequest(XDR equestMapperImpl.java:242) at com.ibm.ws.xd.dwlm.client.XDRequestMapperImpl.mapRequest(XDR equestMapperImpl.java:90) at com.ibm.ws.proxy.channel.http.HttpProxyServiceContextImpl.se tDefaultRequestMapping(HttpProxyServiceContextImpl.java:1617 ) at com.ibm.ws.proxy.dwlm.http.HttpMapODCFilter.doFilter(HttpMap ODCFilter.java:53) at com.ibm.ws.proxy.filter.http.HttpFilterImpl.doFilter(HttpFil terImpl.java:98) at com.ibm.ws.proxy.filter.http.HttpFilterChain.doRequestFilter Chain(HttpFilterChain.java:343) at com.ibm.ws.proxy.filter.http.HttpFilterChain.doRequestFilter ChainWrapper(HttpFilterChain.java:263) at com.ibm.ws.proxy.filter.http.HttpFilterChain.doRequestFilter Chain(HttpFilterChain.java:242) at com.ibm.ws.proxy.channel.http.HttpProxyConnectionLink.proces sRequestWork(HttpProxyConnectionLink.java:567) at com.ibm.ws.proxy.channel.http.HttpProxyConnectionLink.ready( HttpProxyConnectionLink.java:330) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleD iscrimination(HttpInboundLink.java:463) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleN ewRequest(HttpInboundLink.java:530) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.process Request(HttpInboundLink.java:316) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.com plete(HttpICLReadCallback.java:88) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.future Completed(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(Abstract AsyncFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(As yncChannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:2 04) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(Result Handler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
Local fix
Problem summary
**************************************************************** * USERS AFFECTED: All users of IBM WebSphere Application * * Server WAS ND edition- Virtual * * Enterprise/IM Component using the On Demand * * Router (ODR) * **************************************************************** * PROBLEM DESCRIPTION: A null pointer exception is encountered * * when attempting to service a request * * through the Java ODR causing the * * request to fail. * **************************************************************** * RECOMMENDATION: * **************************************************************** When a request arrives the ODR does multiple things to ensure it is routed correctly. One of the things it does is map the request to web module. When attempting to map the request the code may find a partition id and attempt to map it to a cloneid so that it can determine if the request should have affinity to a particular cluster where the web module is deployed. During this mapping there was a small timing window where another request could come attempting to do the same mapping before it is complete and the interaction between the two requests can cause one of them to fail with the following NullPointerException: FFDC Exception:java.lang.NullPointerException SourceId:com.ibm.ws.proxy.dwlm.http.HttpMapODCFilter.doFilter ProbeId:1 Reporter:com.ibm.ws.proxy.dwlm.http.HttpMapODCFilter@3cb65b8c java.lang.NullPointerException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor Impl.java:60) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod AccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:611) at com.ibm.ws.xd.dwlm.client.XDHttpSessionAffinityModule.getRealClo neId(XDHttpSessionAffinityModule.java:135) at com.ibm.ws.xd.dwlm.client.HttpAffinityUtil.getTargetClusterByClo neId(HttpAffinityUtil.java:804) at com.ibm.ws.xd.dwlm.client.HttpAffinityUtil._getAffinityCluster(H ttpAffinityUtil.java:324) at com.ibm.ws.xd.dwlm.client.HttpAffinityUtil.getAffinityCluster(Ht tpAffinityUtil.java:115) at com.ibm.ws.xd.dwlm.client.HttpRequestClassification.classifyRequ est(HttpRequestClassification.java:278) at com.ibm.ws.xd.dwlm.client.HttpRequestClassification.classifyRequ est(HttpRequestClassification.java:132) at com.ibm.ws.xd.dwlm.client.XDDWLMClientServiceContextImpl.initClu sterNode(XDDWLMClientServiceContextImpl.java:643) at com.ibm.ws.xd.dwlm.client.BaseDWLMClientServiceContextImpl.setOD CNode(BaseDWLMClientServiceContextImpl.java:94) at com.ibm.ws.xd.dwlm.client.XDDWLMClientServiceContextImpl.setODCN ode(XDDWLMClientServiceContextImpl.java:898) at com.ibm.ws.xd.dwlm.client.XDRequestMapperImpl.mapRequestToODCNod e(XDRequestMapperImpl.java:255) at com.ibm.ws.xd.dwlm.client.XDRequestMapperImpl.mapRequest(XDReque stMapperImpl.java:242) at com.ibm.ws.xd.dwlm.client.XDRequestMapperImpl.mapRequest(XDReque stMapperImpl.java:90) at com.ibm.ws.proxy.channel.http.HttpProxyServiceContextImpl.setDef aultRequestMapping(HttpProxyServiceContextImpl.java:1617) at com.ibm.ws.proxy.dwlm.http.HttpMapODCFilter.doFilter(HttpMapODCF ilter.java:53) at com.ibm.ws.proxy.filter.http.HttpFilterImpl.doFilter(HttpFilterI mpl.java:98) at com.ibm.ws.proxy.filter.http.HttpFilterChain.doRequestFilterChai n(HttpFilterChain.java:343) at com.ibm.ws.proxy.filter.http.HttpFilterChain.doRequestFilterChai nWrapper(HttpFilterChain.java:263) at com.ibm.ws.proxy.filter.http.HttpFilterChain.doRequestFilterChai n(HttpFilterChain.java:242) at com.ibm.ws.proxy.channel.http.HttpProxyConnectionLink.processReq uestWork(HttpProxyConnectionLink.java:567) at com.ibm.ws.proxy.channel.http.HttpProxyConnectionLink.ready(Http ProxyConnectionLink.java:330) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscr imination(HttpInboundLink.java:463) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRe quest(HttpInboundLink.java:530) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequ est(HttpInboundLink.java:316) at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complet e(HttpICLReadCallback.java:88) at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureComp leted(AioReadCompletionListener.java:175) at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyn cFuture.java:217) at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncC hannelFuture.java:161) at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138) at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204) at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHand ler.java:775) at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1881)
Problem conclusion
The code has been corrected to close the timing window and force synchronization until the mapping between the partitionId and cloneId has been completed to avoiding the Null Pointer Exception. The fix for this APAR is currently targeted for inclusion in fix pack 8.5.5.10. 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
PI63141
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
2016-05-26
Closed date
2016-07-18
Last modified date
2016-07-18
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:
04 May 2022