APAR status
Closed as program error.
Error description
Problem: After an upgrade from Maximo 7.5.0.11 to Maximo 7.6.0.9, below error was seen in System logs: SRVE0293E: [Servlet Error]-[webclient]: java.lang.NullPointerException at psdi.webclient.system.filter.HttpGZIPResponseWrapper.flushBuffer after an upgrade from Maximo 7.5.0.11 to Maximo 7.6.0.9 0000013d webapp E com.ibm.ws.webcontainer.webapp.WebApp logServletError SRVE0293E: [Servlet Error]-[webclient]: java.lang.NullPointerException at psdi.webclient.system.filter.HttpGZIPResponseWrapper.flushBuffer (HttpGZIPResponseWrapper.java:64) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser vletWrapper.java:814) at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(Ser vletWrapper.java:478) at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest (ServletWrapperImpl.java:178) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(We bAppFilterChain.java:143) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:96) at psdi.webclient.system.filter.HttpGZIPFilter.doFilter(HttpGZIPFil ter.java:80) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi lterInstanceWrapper.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:90) at psdi.webclient.system.filter.HttpCrossSiteScriptingSecurity.doFi lter(HttpCrossSiteScriptingSecurity.java:66) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi lterInstanceWrapper.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:90) at psdi.webclient.system.filter.MXCorrelationFilter.doFilter(MXCorr elationFilter.java:137) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi lterInstanceWrapper.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:90) at psdi.webclient.system.filter.PerformanceMonitor.doFilter(Perform anceMonitor.java:126) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi lterInstanceWrapper.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:90) at psdi.webclient.system.filter.HttpXFrameOptionsFilter.doFilter(Ht tpXFrameOptionsFilter.java:38) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi lterInstanceWrapper.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:90) at psdi.webclient.system.filter.MTContextFilter.doFilter(MTContextF ilter.java:53) at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(Fi lterInstanceWrapper.java:197) at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebApp FilterChain.java:90) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebA ppFilterManager.java:969) at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters (WebAppFilterManager.java:1109) at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleReques t(CacheServletWrapper.java:82) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer. java:963) at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContai ner.java:1817) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLin k.java:382) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscr imination(HttpInboundLink.java:465) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRe quest(HttpInboundLink.java:532) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequ est(HttpInboundLink.java:318) 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:1909) For this exception, it was suggested to disable response HttpGZIPFilter in maximofolder>\applications\maximo\maximouiweb\webmodule\WEB-INF\ web.xml. https://www-01.ibm.com/support/docview.wss?uid=swg21262036 PERFORMANCE ISSUE: No. Also it doesn't effect Maximo Login. This error message is just blowing up the logs significantly. Over 2000 stack traces were noticed in 24 hours. STEPS TO REPRODUCE: 1. Response HttpGZIPFilter should be in enabled state at maximofolder>\applications \maximo\maximouiweb\webmodule\WEB-INF\web.xml 2. Upgrade from Maximo 7.5.0.11 to Maximo 7.6.0.9 IFIX005/IFIX006 3. Exception in SystemOut logs can be seen as SRVE0293E: [Servlet Error]-[webclient]: java.lang.NullPointerException at psdi.webclient.system.filter.HttpGZIPResponseWrapper.flushBuffer 4. Disabling the response HttpGZIPFilter in maximofolder>\applications\maximo\maximouiweb\webmodule\WEB-INF\ web.xml fixed the issue but disabling the feature shouldn't be the solution here, need to look deeper for question like why is HttpGZIPResponseWrapper throwing so many NPEs? This error looks like it's being caused because psdi.webclient.system.filter.HttpGZIPResponseWrapper.flushBuffer is trying to flush a stream that's already been closed. Either a check needs to be added to not try to flush a null buffer or something upstream from the wrapper needs to not close that stream. RESULTS : Disabling the GZIP filter (and enabling the mod_deflate filter on the HTTP server) seems to have fixed the problem. Though this option resolved the issue, but "disable feature X" isn't the correct method. Moving the GZIP compression from WebSphere to Apache (via mod_deflate) is also another option (i.e. disabling the GZIP filter and enabling the mod_deflate filter on the Apache HTTP server) but why is HttpGZIPResponseWrapper throwing so many NPEs) is being ignored completely. This error looks like it's being caused because psdi.webclient.system.filter.HttpGZIPResponseWrapper.flushBuffer is trying to flush a stream that's already been closed. Also, this seems to have created some sort of instability in the load balancer at the HTTPD level. Occasionally users will get a random 500 server error. EXPECTED RESULT: No SRVE0293E NullPointerException errors should be thrown after enabling/disabling the Response HttpGZIPFilter Either a check needs to be added to not try to flush a null buffer or something upstream from the wrapper needs to not close that stream. REPORTED IN VERSION: Maximo 7.6.0.9 IFIX005/IFIX006
Local fix
For this exception, it was suggested to disable response HttpGZIPFilter in maximofolder>\applications\maximo\maximouiweb\webmodule\WEB-INF\ web.xml. https://www-01.ibm.com/support/docview.wss?uid=swg21262036 But doesn't resolve the actual root cause of the issue.
Problem summary
**************************************************************** * USERS AFFECTED: * * MAXIMO * **************************************************************** * PROBLEM DESCRIPTION: * * SRVE0293E: SERVLET ERROR - JAVA.LANG.NULLPOINTEREXCEPTION AT * * PSDI.WEBCLIENT.SYSTEM.FILTER.HTTPGZIPRESPONSEWRAPPER.FLUSHBU * * FFER * **************************************************************** * RECOMMENDATION: * ****************************************************************
Problem conclusion
The fix for this APAR is contained in the following maintenance package: | release\fix pack | Interim Fix for Release 7.6.1.1 Product
Temporary fix
Comments
APAR Information
APAR number
IJ14105
Reported component name
MAXIMO SYSTEMS
Reported component ID
5724R46AV
Reported release
760
Status
CLOSED PER
PE
NoPE
HIPER
NoHIPER
Special Attention
NoSpecatt / Xsystem
Submitted date
2019-02-26
Closed date
2019-03-25
Last modified date
2019-03-25
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
MAXIMO SYSTEMS
Fixed component ID
5724R46AV
Applicable component levels
R760 PSY
UP
[{"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSCHPP5","label":"System Related"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"760","Edition":"","Line of Business":{"code":"","label":""}}]
Document Information
Modified date:
25 March 2019