Bug 992988
| Summary: | NPE in org.jboss.as.web.session.ClusteredSession.setAttribute | ||
|---|---|---|---|
| Product: | [JBoss] JBoss Enterprise Application Platform 6 | Reporter: | Ladislav Thon <lthon> |
| Component: | Clustering | Assignee: | Paul Ferraro <paul.ferraro> |
| Status: | CLOSED DEFERRED | QA Contact: | Jitka Kozana <jkudrnac> |
| Severity: | high | Docs Contact: | Russell Dickenson <rdickens> |
| Priority: | unspecified | ||
| Version: | 6.1.1, 6.2.0 | CC: | cdewolf, jkudrnac, lcosti, myarboro, rhatlapa, rhusar, rjanik |
| Target Milestone: | --- | Keywords: | Reopened |
| Target Release: | TBD EAP 7 | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2015-03-19 11:14:27 UTC | Type: | Bug |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
| Embargoed: | |||
|
Description
Ladislav Thon
2013-08-05 11:02:25 UTC
EAP 6.2.0.ER3.
The following stack trace is most likely the same error:
[JBossINF] [0m[31m22:02:35,053 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host]] (ajp-perf21/10.16.90.60:8009-109) JBWEB000233: Exception sending request initialized lifecycle event to listener instance of class org.jboss.weld.servlet.WeldListener: java.lang.NullPointerException
[JBossINF] at org.jboss.as.web.session.ClusteredSession.setAttribute(ClusteredSession.java:864) [jboss-as-web-7.3.0.Final-redhat-6.jar:7.3.0.Final-redhat-6]
[JBossINF] at org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:17) [weld-core-1.1.15.Final-redhat-1.jar:2013-09-20 09:50]
[JBossINF] at org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:12) [weld-core-1.1.15.Final-redhat-1.jar:2013-09-20 09:50]
[JBossINF] at org.jboss.weld.context.AbstractConversationContext.associate(AbstractConversationContext.java:127) [weld-core-1.1.15.Final-redhat-1.jar:2013-09-20 09:50]
[JBossINF] at org.jboss.weld.servlet.WeldListener.requestInitialized(WeldListener.java:145) [weld-core-1.1.15.Final-redhat-1.jar:2013-09-20 09:50]
[JBossINF] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:134) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1]
[JBossINF] at java.lang.Thread.run(Thread.java:662) [rt.jar:1.6.0_45]
[JBossINF]
This NPE was seen right after failover (graceful shutdown).
And here is the ugly NPE client is seeing:
Invalid response code: 500 Content: <html><head><title>JBoss Web/7.2.2.Final-redhat-1 - JBWEB000064: Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>JBWEB000065: HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>JBWEB000309: type</b> JBWEB000066: Exception report</p><p><b>JBWEB000068: message</b> <u></u></p><p><b>JBWEB000069: description</b> <u>JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>JBWEB000070: exception</b> <pre>java.lang.NullPointerException
org.jboss.as.web.session.ClusteredSession.setAttribute(ClusteredSession.java:864)
org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)
org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:17)
org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:12)
org.jboss.weld.context.AbstractConversationContext.associate(AbstractConversationContext.java:127)
org.jboss.weld.servlet.WeldListener.requestInitialized(WeldListener.java:145)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488)
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
java.lang.Thread.run(Thread.java:662)
</pre></p><p><b>JBWEB000072: note</b> <u>JBWEB000073: The full stack trace of the root cause is available in the JBoss Web/7.2.2.Final-redhat-1 logs.</u></p><HR size="1" noshade="noshade"><h3>JBoss Web/7.2.2.Final-redhat-1</h3></body></html>>
org.jboss.smartfrog.loaddriver.RequestProcessingException: Invalid response code: 500 Content: <html><head><title>JBoss Web/7.2.2.Final-redhat-1 - JBWEB000064: Error report</title><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-family:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-family:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color : black;}A.name {color : black;}HR {color : #525D76;}--></style> </head><body><h1>JBWEB000065: HTTP Status 500 - </h1><HR size="1" noshade="noshade"><p><b>JBWEB000309: type</b> JBWEB000066: Exception report</p><p><b>JBWEB000068: message</b> <u></u></p><p><b>JBWEB000069: description</b> <u>JBWEB000145: The server encountered an internal error that prevented it from fulfilling this request.</u></p><p><b>JBWEB000070: exception</b> <pre>java.lang.NullPointerException
org.jboss.as.web.session.ClusteredSession.setAttribute(ClusteredSession.java:864)
org.apache.catalina.session.StandardSessionFacade.setAttribute(StandardSessionFacade.java:130)
org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:17)
org.jboss.weld.context.http.HttpConversationContextImpl.setSessionAttribute(HttpConversationContextImpl.java:12)
org.jboss.weld.context.AbstractConversationContext.associate(AbstractConversationContext.java:127)
org.jboss.weld.servlet.WeldListener.requestInitialized(WeldListener.java:145)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336)
org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:488)
org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:420)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920)
java.lang.Thread.run(Thread.java:662)
</pre></p><p><b>JBWEB000072: note</b> <u>JBWEB000073: The full stack trace of the root cause is available in the JBoss Web/7.2.2.Final-redhat-1 logs.</u></p><HR size="1" noshade="noshade"><h3>JBoss Web/7.2.2.Final-redhat-1</h3></body></html>
at org.jboss.smartfrog.loaddriver.http.HttpRequestProcessorFactoryImpl$HttpRequestProcessor.processRequest(HttpRequestProcessorFactoryImpl.java:158)
at org.jboss.smartfrog.loaddriver.CompoundRequestProcessorFactoryImpl$CompoundRequestProcessor.processRequest(CompoundRequestProcessorFactoryImpl.java:52)
at org.jboss.smartfrog.loaddriver.Runner.run(Runner.java:87)
at java.lang.Thread.run(Thread.java:662)
See the full server log here:
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-failover-http-session-shutdown-repl-async/96/artifact/report/config/jboss-perf21/server.log
Link to client log:
https://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-6x-failover-http-session-shutdown-repl-async/96/console-perf17/
If I am looking at the log right, the exception is thrown when the server is already shutting down. This is to be expected without support for graceful shutdown. Again, one way to solve is by mod_cluster session draining. Graceful shutdown is not support in the affected version of EAP 6. The described behavior is to be expected. The RFE to implement graceful shutdown is https://issues.jboss.org/browse/EAP6-7 Issues relating to HTTP can be avoided using mod_cluster and session draining prior to shutdown/undeploy. This bug pertains to clean shutdown which is not scheduled to be implemented in EAP 6.x - and is targeted to be addressed in 7.0. Setting resolution to WONTFIX. Jason Greene <jason.greene> updated the status of jira EAP7-86 to Resolved Radim Hatlapatka <rhatlapa> updated the status of jira EAP7-86 to Reopened Jason Greene <jason.greene> updated the status of jira EAP7-86 to Resolved Radim Hatlapatka <rhatlapa> updated the status of jira EAP7-86 to Reopened Jason Greene <jason.greene> updated the status of jira EAP7-86 to Resolved |