[ 
https://jira.codehaus.org/browse/MCHECKSTYLE-244?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=351573#comment-351573
 ] 

Herve Boutemy commented on MCHECKSTYLE-244:
-------------------------------------------

I see that a lot of classes extending AbstractResourceLoader are effectively 
marked as instantiation-strategy="per-lookup" (like FileResourceLoader, 
JarResourceLoader, ...)

and since we didn't mark LicenseResourceManager as per-lookup, only a single 
instance is used, with its Map<String, ResourceLoader> resourceLoaders 
containing a FileResourceLoader: so in theory, I now see how this can lead to 
the actual problem in FileResourceLoader as used by LicenseResourceManager, and 
how simply marking LicenseResourceManager as per-lookup will fix the issue

now I only have one problem: how to reproduce the issue and check that it is 
fixed by the change?
do you have a sample project to reproduce the issue?

> LicenseResourceManager component is not thread safe and causes parallel build 
> failures
> --------------------------------------------------------------------------------------
>
>                 Key: MCHECKSTYLE-244
>                 URL: https://jira.codehaus.org/browse/MCHECKSTYLE-244
>             Project: Maven Checkstyle Plugin
>          Issue Type: Bug
>    Affects Versions: 2.12, 2.12.1
>            Reporter: Konstantin Pokrovsky
>         Attachments: MCHECKSTYLE-244.patch
>
>
> {{LicenseResouceManager}} component does not specify instantiation strategy. 
> By default plexus uses singleton strategey which leads to 
> {{ConcurrentModificationException}} in parallel maven builds.
> Example: when two {{DefaultCheckstyleExecutors}} try to use one licence 
> manager: one calls {{addSearchPath}} on {{FileResourceLoader}} while the 
> other one iterating over paths in {{getResource}} on the same 
> {{FileResourceLoader}} .
> MCHECKSTYLE-238 and MCHECKSTYLE-230 are exactly about this situation. Right 
> now the plugin for some reason is marked as thread safe although it definetly 
> produces exceptions in parallel multimodule builds.
> {{DefaultCheckstyleRssGenerator}} is a point of attention because it is also 
> singleton instantiated.



--
This message was sent by Atlassian JIRA
(v6.1.6#6162)

Reply via email to