[ 
https://jira.codehaus.org/browse/MINSTALL-103?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Robert Scholte closed MINSTALL-103.
-----------------------------------

       Resolution: Fixed
    Fix Version/s: 2.6
         Assignee: Robert Scholte

Nice catch!
Patch applied, fixed in [r1540329|http://svn.apache.org/r1540329] 
                
> Concurrency problem with installAtEnd in parallel builds
> --------------------------------------------------------
>
>                 Key: MINSTALL-103
>                 URL: https://jira.codehaus.org/browse/MINSTALL-103
>             Project: Maven Install Plugin
>          Issue Type: Bug
>          Components: install:install
>    Affects Versions: 2.5.1
>            Reporter: Hermann Josef Hill
>            Assignee: Robert Scholte
>             Fix For: 2.6
>
>         Attachments: install-plugin.patch
>
>
> In the method {{execute()}} of the class {{InstallMojo}}, the counter 
> {{readyProjectsCounter}} is used to find the last project to be installed. 
> Unfortunately the counter is incremented *before* the installation request is 
> added to the queued {{installRequests}}. This may lead to a race condition 
> where requests are added to {{installRequests}} after the (single) execution 
> of the queued requests. When this happens to a module to be installed, it is 
> *not* installed.
> Example scenario:
> Think of a parallel build of a reactor with only two modules A and B where 
> the execution of the install plugin for module A is stopped by a context 
> change directly after the line that sets {{projectsReady}}. The counter 
> {{readyProjectsCounter}} is now one step before the "finish line".
> If the install plugin for module B is executed now, it will set 
> {{projectsReady}}, enqueue its own installation request and then execute all 
> enqueued installation requests. The installation request for A is not 
> enqueued at this point, so it can't be executed - and the install plugin for 
> module A won't execute it because it thinks "it will be executed later".
> Granted, the window of vulnerability is rather small, but such bugs tend to 
> bite you unexpectedly...

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to