Intermittent NPE when invoking method requestDestroyed
------------------------------------------------------
Key: WFLY-5206
URL:
https://issues.jboss.org/browse/WFLY-5206
Project: WildFly
Issue Type: Bug
Components: CDI / Weld
Affects Versions: 10.0.0.Beta1
Reporter: Michal Vinkler
Assignee: Stuart Douglas
Fix For: 10.0.0.CR1
Setup: 4-node cluster, one node at time undeploys application (clusterbench-ee7.ear),
while standalone clients keep calling the application.
This error was seen during clustering failover testing in the following scenario:
ejb-ejbservlet-repl-sync (failover of HTTP traffic accessing a servlet that locally
invokes a stateful clustered EJB, with synchronously replicated cache)
After undeploying application on perf19 (second node in the cluster),
NullPointerException was logged 31 times in the server log.
Stacktrace:
{code}
2015/08/18 20:01:40:973 EDT [DEBUG][RMI TCP Connection(14)-10.16.90.52] HOST
perf17.mw.lab.eng.bos.redhat.com:rootProcess:c - Going to undeploy:
'clusterbench-ee7.ear' from 'perf19' now.
2015/08/18 20:01:41:265 EDT [DEBUG][RMI TCP Connection(14)-10.16.90.52] HOST
perf17.mw.lab.eng.bos.redhat.com:rootProcess:c - Requesting: {
"operation" : "undeploy",
"address" : [{
"deployment" : "clusterbench-ee7.ear"
}]
}
20:01:41,706 INFO [org.xnio] (RMI TCP Connection(14)-10.16.90.52) XNIO version
3.3.1.Final
20:01:41,918 INFO [org.xnio.nio] (RMI TCP Connection(14)-10.16.90.52) XNIO NIO
Implementation Version 3.3.1.Final
20:01:41,969 INFO [org.jboss.remoting] (RMI TCP Connection(14)-10.16.90.52) JBoss
Remoting version 4.0.9.Final
[JBossINF] [0m[0m20:01:42,603 INFO [org.wildfly.extension.undertow] (ServerService
Thread Pool -- 79) WFLYUT0022: Unregistered web context: /clusterbench
[JBossINF] [0m[0m20:01:42,603 INFO [org.wildfly.extension.undertow] (ServerService
Thread Pool -- 78) WFLYUT0022: Unregistered web context: /clusterbench-passivating
[JBossINF] [0m[0m20:01:42,679 INFO [org.infinispan.eviction.impl.PassivationManagerImpl]
(ServerService Thread Pool -- 78) ISPN000029: Passivating all entries to disk
[JBossINF] [0m[0m20:01:42,679 INFO [org.infinispan.eviction.impl.PassivationManagerImpl]
(ServerService Thread Pool -- 81) ISPN000029: Passivating all entries to disk
[JBossINF] [0m[31m20:01:42,681 ERROR [io.undertow.servlet.request] (default task-46)
UT015005: Error invoking method requestDestroyed on listener class
org.jboss.weld.servlet.WeldInitialListener: java.lang.NullPointerException
[JBossINF] at
org.jboss.weld.servlet.WeldInitialListener.requestDestroyed(WeldInitialListener.java:135)
[JBossINF] at
io.undertow.servlet.core.ApplicationListeners.requestDestroyed(ApplicationListeners.java:225)
[JBossINF] at
io.undertow.servlet.handlers.ServletInitialHandler.handleFirstRequest(ServletInitialHandler.java:325)
[JBossINF] at
io.undertow.servlet.handlers.ServletInitialHandler.dispatchRequest(ServletInitialHandler.java:261)
[JBossINF] at
io.undertow.servlet.handlers.ServletInitialHandler.access$000(ServletInitialHandler.java:80)
[JBossINF] at
io.undertow.servlet.handlers.ServletInitialHandler$1.handleRequest(ServletInitialHandler.java:172)
[JBossINF] at io.undertow.server.Connectors.executeRootHandler(Connectors.java:199)
[JBossINF] at io.undertow.server.HttpServerExchange$1.run(HttpServerExchange.java:778)
[JBossINF] at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[JBossINF] at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[JBossINF] at java.lang.Thread.run(Thread.java:745)
{code}
Server log:
http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-7x-failover-ejb-e...
We also see the very same error in the scenario where the nodes shutdown instead of
undeploying application - right after the server shutdown has been requested (we do not
use graceful shutdown yet).
Server log:
http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/eap-7x-failover-ejb-e...
May be relevant to
https://issues.jboss.org/browse/JBEAP-863 as both errors come
together, under the same conditions.