Description of problem: A timing issue can allow for the following sporadic NPE that fails a deployment upon start up: java.lang.NullPointerException at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:99) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [rt.jar:1.8.0_40] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [rt.jar:1.8.0_40] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_40] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_40] at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_40] at org.jboss.threads.JBossThread.run(JBossThread.java:122) Caused by: java.lang.NullPointerException at java.io.File.<init>(File.java:277) [rt.jar:1.8.0_40] at org.apache.catalina.core.StandardContext.engineBase(StandardContext.java:4130) at org.apache.catalina.core.StandardContext.workBase(StandardContext.java:4137) at org.apache.catalina.core.StandardContext.getWorkPath(StandardContext.java:1696) at org.apache.catalina.core.StandardContext.postWorkDirectory(StandardContext.java:4401) at org.apache.catalina.core.StandardContext.start(StandardContext.java:3667) at org.jboss.as.web.deployment.WebDeploymentService.doStart(WebDeploymentService.java:163) at org.jboss.as.web.deployment.WebDeploymentService.access$000(WebDeploymentService.java:61) at org.jboss.as.web.deployment.WebDeploymentService$1.run(WebDeploymentService.java:96) ... 6 more Version-Release number of selected component (if applicable): How reproducible: Easily reproducible with the attached byteman rule Steps to Reproduce: 1. Configure JBoss using the attached byteman rule: -javaagent:/path/to/lib/byteman.jar=script:/path/to/01536606.btm,sys:/path/to/lib/byteman.jar 2. Start JBoss with 2 deployments 3. Check for the NPE Actual results: Possible NPE Expected results: No NPEs
Created attachment 1092745 [details] 01536606.btm
PR: https://github.com/jbossas/jboss-eap/pull/2623
Verified with EAP 6.4.6.CP.CR2
Retroactively bulk-closing issues from released EAP 6.4 cumulative patches.