[jboss-jira] [JBoss JIRA] (WFCORE-3948) Potential race condition on deployment of EAR when Class-Path manifest entry is in use

Paul Ferraro (Jira) issues at jboss.org
Fri Dec 6 06:40:00 EST 2019


    [ https://issues.redhat.com/browse/WFCORE-3948?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13822058#comment-13822058 ] 

Paul Ferraro edited comment on WFCORE-3948 at 12/6/19 6:39 AM:
---------------------------------------------------------------

[~brian.stansberry] FYI, this change has broken some DUP logic in wildfly full.
The new collection type does not support all of the optional list operations that were formerly supported by the old type.  I'll file follow-up jiras to fix these as I find them.
e.g.
{noformat}
2019-12-06 12:10:03,346 ERROR [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0043: Deployment unit processor org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor at 4786eb0d unexpectedly threw an exception during undeploy phase POST_MODULE of deployment "SyncCircuitBreakerDisabledTest.war": java.lang.UnsupportedOperationException
        at java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1178)
        at java.util.Collections$CheckedCollection$1.remove(Collections.java:3079)
        at java.util.Collection.removeIf(Collection.java:415)
        at org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor.undeploy(CachedConnectionManagerSetupProcessor.java:75)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.safeUndeploy(DeploymentUnitPhaseService.java:245)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.stop(DeploymentUnitPhaseService.java:238)
        at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:1795)
        at org.jboss.msc.service.ServiceControllerImpl$StopTask.execute(ServiceControllerImpl.java:1764)
        at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
        at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.lang.Thread.run(Thread.java:748)
{noformat}


was (Author: pferraro):
FYI, this change has broken some of the logic in wildfly full.
e.g.
{noformat}
2019-12-06 12:10:03,346 ERROR [org.jboss.as.server.deployment] (MSC service thread 1-1) WFLYSRV0043: Deployment unit processor org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor at 4786eb0d unexpectedly threw an exception during undeploy phase POST_MODULE of deployment "SyncCircuitBreakerDisabledTest.war": java.lang.UnsupportedOperationException
        at java.util.concurrent.CopyOnWriteArrayList$COWIterator.remove(CopyOnWriteArrayList.java:1178)
        at java.util.Collections$CheckedCollection$1.remove(Collections.java:3079)
        at java.util.Collection.removeIf(Collection.java:415)
        at org.jboss.as.connector.deployers.ra.processors.CachedConnectionManagerSetupProcessor.undeploy(CachedConnectionManagerSetupProcessor.java:75)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.safeUndeploy(DeploymentUnitPhaseService.java:245)
        at org.jboss.as.server.deployment.DeploymentUnitPhaseService.stop(DeploymentUnitPhaseService.java:238)
        at org.jboss.msc.service.ServiceControllerImpl$StopTask.stopService(ServiceControllerImpl.java:1795)
        at org.jboss.msc.service.ServiceControllerImpl$StopTask.execute(ServiceControllerImpl.java:1764)
        at org.jboss.msc.service.ServiceControllerImpl$ControllerTask.run(ServiceControllerImpl.java:1559)
        at org.jboss.threads.ContextClassLoaderSavingRunnable.run(ContextClassLoaderSavingRunnable.java:35)
        at org.jboss.threads.EnhancedQueueExecutor.safeRun(EnhancedQueueExecutor.java:1982)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.doRunTask(EnhancedQueueExecutor.java:1486)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1377)
        at java.lang.Thread.run(Thread.java:748)
{noformat}

> Potential race condition on deployment of EAR when Class-Path manifest entry is in use
> --------------------------------------------------------------------------------------
>
>                 Key: WFCORE-3948
>                 URL: https://issues.redhat.com/browse/WFCORE-3948
>             Project: WildFly Core
>          Issue Type: Bug
>          Components: Server
>            Reporter: Stuart Douglas
>            Assignee: Brian Stansberry
>            Priority: Major
>             Fix For: 11.0.0.Beta4
>
>
> Attachments#ADDITIONAL_MODULES is attached to the top level DU, but modified by sub deployments in ManifestClassPathProcessor#createAdditionalModule without any sort of synchronisation. This can result in ConcurrentModificationException when the list is read/written to by other sub deployments at the same time.



--
This message was sent by Atlassian Jira
(v7.13.8#713008)


More information about the jboss-jira mailing list