]
Eduardo Martins commented on WFLY-4199:
---------------------------------------
After debug it seems the issue is due to WildFly Maven Plugin "deploy" goal
doing a deployment "replace" and "redeploy" if the deployment is
already deployed:
In concrete, while the "replace" is deploying, the "redeploy" undeploy
may result in the deployment root being removed, causing the NPEs in the
"replace" processor's chain.
Not sure why the plugin does not uses just the "replace", it seems to work fine
that way, i.e. the app is redeployed and works as expected.
App redeploy exceptions
-----------------------
Key: WFLY-4199
URL:
https://issues.jboss.org/browse/WFLY-4199
Project: WildFly
Issue Type: Bug
Components: Web (Undertow), Web Services
Reporter: Eduardo Martins
Assignee: Stuart Douglas
I'm noticing intermittent occurrences of exceptions when redeploying quickstarts, and
unfortunately the chance seems quite high. The exceptions,a at least on my end, may be
reproduced by using app "thread-racing" of the following branches of my
quickstarts fork:
Web Services)
https://github.com/emmartins/quickstart/tree/redeploy-exceptions , where
the following exception occur at an alarming 8 out of 10 redeploys:
{code}
19:41:38,502 INFO [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001:
Content added at location
/Users/emmartins/wildfly/git/wildfly/dist/target/wildfly-9.0.0.Alpha2-SNAPSHOT/standalone/data/content/b5/1306d722adbe53ba6b7445f1b2d72facd66201/content
19:41:38,504 INFO [org.wildfly.extension.undertow] (MSC service thread 1-3) WFLYUT0022:
Unregistered web context: /wildfly-thread-racing
19:41:38,519 INFO [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0010:
Stopping weld service for deployment wildfly-thread-racing.war
19:41:38,527 INFO [org.jboss.as.server.deployment] (MSC service thread 1-12)
WFLYSRV0028: Stopped deployment wildfly-thread-racing.war (runtime-name:
wildfly-thread-racing.war) in 24ms
19:41:38,528 INFO [org.jboss.as.server.deployment] (MSC service thread 1-3) WFLYSRV0027:
Starting deployment of "wildfly-thread-racing.war" (runtime-name:
"wildfly-thread-racing.war")
19:41:38,556 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-14) MSC000001:
Failed to start service jboss.deployment.unit."wildfly-thread-racing.war".PARSE:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."wildfly-thread-racing.war".PARSE: WFLYSRV0153: Failed to
process phase PARSE of deployment "wildfly-thread-racing.war"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at
org.jboss.as.webservices.deployers.WebservicesDescriptorDeploymentProcessor.getWebServicesDescriptorURL(WebservicesDescriptorDeploymentProcessor.java:70)
at
org.jboss.as.webservices.deployers.WebservicesDescriptorDeploymentProcessor.deploy(WebservicesDescriptorDeploymentProcessor.java:52)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
... 5 more
19:41:38,559 INFO [org.jboss.as.server.deployment] (MSC service thread 1-6) WFLYSRV0028:
Stopped deployment wildfly-thread-racing.war (runtime-name: wildfly-thread-racing.war) in
30ms
19:41:38,560 INFO [org.jboss.as.server.deployment] (MSC service thread 1-12)
WFLYSRV0027: Starting deployment of "wildfly-thread-racing.war" (runtime-name:
"wildfly-thread-racing.war")
19:41:38,593 WARN [org.jboss.weld.deployer] (MSC service thread 1-13) WFLYWELD0012:
Warning while parsing vfs:/content/wildfly-thread-racing.war/WEB-INF/beans.xml:22
cvc-complex-type.4: Attribute 'bean-discovery-mode' must appear on element
'beans'.
19:41:38,609 INFO [org.jboss.weld.deployer] (MSC service thread 1-2) WFLYWELD0003:
Processing weld deployment wildfly-thread-racing.war
19:41:38,633 INFO [org.jboss.as.messaging] (MSC service thread 1-2) WFLYMSG0002: Bound
messaging object to jndi name java:global/threadRacing/stages/jms/requestQueue
19:41:38,637 INFO [org.jboss.weld.deployer] (MSC service thread 1-9) WFLYWELD0006:
Starting Services for CDI deployment: wildfly-thread-racing.war
19:41:38,641 INFO [org.jboss.weld.deployer] (MSC service thread 1-5) WFLYWELD0009:
Starting weld service for deployment wildfly-thread-racing.war
19:41:38,643 INFO [org.jboss.as.ejb3] (MSC service thread 1-10) WFLYEJB0042: Started
message driven bean 'JMSRaceStageMessageListener' with 'hornetq-ra.rar'
resource adapter
19:41:38,753 INFO [io.undertow.websockets.jsr] (MSC service thread 1-7) UT026003: Adding
annotated server endpoint class
org.jboss.as.quickstarts.threadracing.stage.websocket.ServerEndpoint for path /ws
19:41:38,754 INFO [io.undertow.websockets.jsr] (MSC service thread 1-7) UT026004: Adding
annotated client endpoint class
org.jboss.as.quickstarts.threadracing.stage.websocket.ClientEndpoint
19:41:38,758 INFO [org.wildfly.extension.undertow] (MSC service thread 1-7) WFLYUT0021:
Registered web context: /wildfly-thread-racing
19:41:38,770 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0013:
Redeployed "wildfly-thread-racing.war"
19:41:38,770 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0016:
Replaced deployment "wildfly-thread-racing.war" with deployment
"wildfly-thread-racing.war"
19:41:38,771 INFO [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002:
Content removed from location
/Users/emmartins/wildfly/git/wildfly/dist/target/wildfly-9.0.0.Alpha2-SNAPSHOT/standalone/data/content/98/04cfcd3addc74805031f222ee036ff47b62f5d/content
{code}
Web)
https://github.com/emmartins/quickstart/tree/redeploy-exceptions2 , where the
following exception occur about half of redeploys:
{code}
20:27:05,715 INFO [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0001:
Content added at location
/Users/emmartins/wildfly/git/wildfly/dist/target/wildfly-9.0.0.Alpha2-SNAPSHOT/standalone/data/content/c4/abc434ff307278c10061fb9dbbd3fcd0aff116/content
20:27:05,717 INFO [org.wildfly.extension.undertow] (MSC service thread 1-13) WFLYUT0022:
Unregistered web context: /wildfly-thread-racing
20:27:05,734 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 77) WFLYJPA0011:
Stopping Persistence Unit (phase 2 of 2) Service
'wildfly-thread-racing.war#RacePU'
20:27:05,735 INFO [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0010:
Stopping weld service for deployment wildfly-thread-racing.war
20:27:05,735 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 77) WFLYJPA0011:
Stopping Persistence Unit (phase 1 of 2) Service
'wildfly-thread-racing.war#RacePU'
20:27:05,745 INFO [org.jboss.as.server.deployment] (MSC service thread 1-9) WFLYSRV0028:
Stopped deployment wildfly-thread-racing.war (runtime-name: wildfly-thread-racing.war) in
28ms
20:27:05,746 INFO [org.jboss.as.server.deployment] (MSC service thread 1-14)
WFLYSRV0027: Starting deployment of "wildfly-thread-racing.war" (runtime-name:
"wildfly-thread-racing.war")
20:27:05,775 ERROR [org.jboss.msc.service.fail] (MSC service thread 1-8) MSC000001:
Failed to start service jboss.deployment.unit."wildfly-thread-racing.war".PARSE:
org.jboss.msc.service.StartException in service
jboss.deployment.unit."wildfly-thread-racing.war".PARSE: WFLYSRV0153: Failed to
process phase PARSE of deployment "wildfly-thread-racing.war"
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:163)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948)
at
org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
at
org.wildfly.extension.undertow.deployment.JBossWebParsingDeploymentProcessor.deploy(JBossWebParsingDeploymentProcessor.java:61)
at
org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:156)
... 5 more
20:27:05,780 INFO [org.jboss.as.server.deployment] (MSC service thread 1-15)
WFLYSRV0028: Stopped deployment wildfly-thread-racing.war (runtime-name:
wildfly-thread-racing.war) in 33ms
20:27:05,782 INFO [org.jboss.as.server.deployment] (MSC service thread 1-11)
WFLYSRV0027: Starting deployment of "wildfly-thread-racing.war" (runtime-name:
"wildfly-thread-racing.war")
20:27:05,819 INFO [org.jboss.as.jpa] (MSC service thread 1-10) WFLYJPA0002: Read
persistence.xml for RacePU
20:27:05,833 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 77) WFLYJPA0010:
Starting Persistence Unit (phase 1 of 2) Service
'wildfly-thread-racing.war#RacePU'
20:27:05,833 INFO [org.hibernate.jpa.internal.util.LogHelper] (ServerService Thread Pool
-- 77) HHH000204: Processing PersistenceUnitInfo [
name: RacePU
...]
20:27:05,838 INFO [org.jboss.weld.deployer] (MSC service thread 1-12) WFLYWELD0003:
Processing weld deployment wildfly-thread-racing.war
20:27:05,841 INFO
[org.jboss.as.ejb3.deployment.processors.EjbJndiBindingsDeploymentUnitProcessor] (MSC
service thread 1-12) JNDI bindings for session bean named RaceResults in deployment unit
deployment "wildfly-thread-racing.war" are as follows:
java:global/wildfly-thread-racing/RaceResults!org.jboss.as.quickstarts.threadracing.results.RaceResults
java:app/wildfly-thread-racing/RaceResults!org.jboss.as.quickstarts.threadracing.results.RaceResults
java:module/RaceResults!org.jboss.as.quickstarts.threadracing.results.RaceResults
java:global/wildfly-thread-racing/RaceResults
java:app/wildfly-thread-racing/RaceResults
java:module/RaceResults
20:27:05,872 INFO [org.jboss.as.messaging] (MSC service thread 1-12) WFLYMSG0002: Bound
messaging object to jndi name java:global/threadRacing/stages/jms/requestQueue
20:27:05,878 INFO [org.jboss.weld.deployer] (MSC service thread 1-4) WFLYWELD0006:
Starting Services for CDI deployment: wildfly-thread-racing.war
20:27:05,883 INFO [org.jboss.weld.deployer] (MSC service thread 1-12) WFLYWELD0009:
Starting weld service for deployment wildfly-thread-racing.war
20:27:05,885 INFO [org.jboss.as.ejb3] (MSC service thread 1-13) WFLYEJB0042: Started
message driven bean 'JMSRaceStageMessageListener' with 'hornetq-ra.rar'
resource adapter
20:27:05,887 INFO [org.jboss.as.jpa] (ServerService Thread Pool -- 77) WFLYJPA0010:
Starting Persistence Unit (phase 2 of 2) Service
'wildfly-thread-racing.war#RacePU'
20:27:05,893 INFO [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 77)
HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
20:27:05,893 WARN [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 77)
HHH000431: Unable to determine H2 database version, certain features may not work
20:27:05,899 INFO [org.hibernate.hql.internal.ast.ASTQueryTranslatorFactory]
(ServerService Thread Pool -- 77) HHH000397: Using ASTQueryTranslatorFactory
20:27:05,921 INFO [org.hibernate.dialect.Dialect] (ServerService Thread Pool -- 77)
HHH000400: Using dialect: org.hibernate.dialect.H2Dialect
20:27:05,922 WARN [org.hibernate.dialect.H2Dialect] (ServerService Thread Pool -- 77)
HHH000431: Unable to determine H2 database version, certain features may not work
20:27:06,057 INFO [io.undertow.websockets.jsr] (MSC service thread 1-15) UT026003:
Adding annotated server endpoint class org.jboss.as.quickstarts.threadracing.WebSocketRace
for path /race
20:27:06,085 INFO [org.jboss.resteasy.spi.ResteasyDeployment] (MSC service thread 1-15)
Deploying javax.ws.rs.core.Application: class
org.jboss.as.quickstarts.threadracing.stage.jaxrs.BoxApplication$Proxy$_$$_WeldClientProxy
20:27:06,086 INFO [org.jboss.resteasy.spi.ResteasyDeployment] (MSC service thread 1-15)
Adding class resource org.jboss.as.quickstarts.threadracing.stage.jaxrs.BoxService from
Application class
org.jboss.as.quickstarts.threadracing.stage.jaxrs.BoxApplication$Proxy$_$$_WeldClientProxy
20:27:06,088 INFO [org.wildfly.extension.undertow] (MSC service thread 1-15) WFLYUT0021:
Registered web context: /wildfly-thread-racing
20:27:06,102 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0013:
Redeployed "wildfly-thread-racing.war"
20:27:06,102 INFO [org.jboss.as.server] (management-handler-thread - 1) WFLYSRV0016:
Replaced deployment "wildfly-thread-racing.war" with deployment
"wildfly-thread-racing.war"
20:27:06,103 INFO [org.jboss.as.repository] (management-handler-thread - 1) WFLYDR0002:
Content removed from location
/Users/emmartins/wildfly/git/wildfly/dist/target/wildfly-9.0.0.Alpha2-SNAPSHOT/standalone/data/content/fe/8d3392468fc3e5e8b15d722d003fe3e0f851af/content
{code}