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

Alexander Ashitkin commented on MNG-5750:
-----------------------------------------

Have some findings here:
This MavenProject access log followed by compilation failure:
{code}
#getArtifacts [failed-module] [BuilderThread 7] [ashiale]
#setArtifactFilter null [failed-module] [BuilderThread 7] [ashiale]
[INFO] --- maven-resources-plugin:2.7:testResources (default-testResources) @ 
failed-module ---
#setArtifactFilter 
org.apache.maven.artifact.resolver.filter.CumulativeScopeArtifactFilter@3646a1 
[failed-module] [BuilderThread 7] [ashiale]
[INFO] --- maven-compiler-plugin:3.1:testCompile (default-testCompile) @ 
failed-module ---
#setArtifactFilter null [failed-module] [BuilderThread 5] [ashiale]
#getArtifacts [failed-module] [BuilderThread 7] [ashiale]
#getArtifacts artifactFilter == null || resolvedArtifacts == null, assigning 
empty set failed-module [failed-module] [BuilderThread 7] [ashiale]
#getArtifacts artifactFilter == null || resolvedArtifacts == null, assigning 
empty set failed-module [failed-module] [BuilderThread 7] [ashiale]
#getArtifacts [failed-module] [BuilderThread 7] [ashiale]
[INFO] Compiling 1 source file to ...\failed-module\target\test-classes
[ERROR] Failed to execute goal 
org.apache.maven.plugins:maven-compiler-plugin:3.1:testCompile 
(default-testCompile) on project failed-module: Compilation failure: 
Compilation failure:
{code}
As you can see above, problematic module is being built with Thread 7, but 
unexpecedly Thread 5 invokes setArtifactFilter breaking the flow. I tried to 
trace BuilderThread 5 up. It finshed install task on an upstream module and 
that i see repeated invocations of  setArtifactFilter null on the *ALL* modules 
(total 471 log entries of setArtifactFilter null on another modules from thread 
5):
{code}
#setArtifactFilter null [module-built-by-thread-5] [BuilderThread 5] [ashiale]
        at 
org.apache.maven.project.MavenProject.setArtifactFilter(MavenProject.java:1490)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:288)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at 
org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:188)
        at 
org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:184)

[INFO] --- maven-install-plugin:2.5.2:install (default-install) @ 
module-built-by-thread-5 ---
[INFO] Installing .../module-built-by-thread-5-SNAPSHOT.jar
[INFO] Installing .../module-built-by-thread-5 -SNAPSHOT.pom
[INFO] Installing .../module-built-by-thread-5-SNAPSHOT-sources.jar

#setArtifactFilter null [root-parent] [BuilderThread 5] [ashiale]
        at 
org.apache.maven.project.MavenProject.setArtifactFilter(MavenProject.java:1490)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.ensureDependenciesAreResolved(MojoExecutor.java:288)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:200)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
        at 
org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
        at 
org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
        at 
org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:188)
        at 
org.apache.maven.lifecycle.internal.builder.multithreaded.MultiThreadedBuilder$1.call(MultiThreadedBuilder.java:184)
{code}

This makes me think of the issue with post buildactions - module build reset 
artifatcs filter on all dependencies thus faiing the build

thank you

> Sporadic failures in concurrent build
> -------------------------------------
>
>                 Key: MNG-5750
>                 URL: https://jira.codehaus.org/browse/MNG-5750
>             Project: Maven
>          Issue Type: Bug
>          Components: General
>    Affects Versions: 3.1.1, 3.2.1, 3.2.2, 3.2.5
>         Environment: SLES 3.0.80-0.7-default SMP x86_64 GNU/Linux Oracle 
> HotSpot JDK 7u25
> windows server 2008 x64 Oracle HotSpot JDK 7u65/8u25
>            Reporter: Alexander Ashitkin
>            Priority: Critical
>
> We have a large project of 300+ modules which regularly fails with different 
> kind of errors in different places. The issue is reliably reproduced with 
> parallel build and is not happens in single threaded. The optimal concurrency 
> level for our project ~10 threads. At this level ~%20 of builds fail. To 
> workaround the issue we reduced concurrency to 4 in development builds and 
> reverted production build to 1 thread.
> Main point of failures:
> # Surefire ClassNotFound. Reported and investigated in SUREFIRE-1132. Points 
> to a problem with MavenProject#getArtifacts - empty set unexpectedly returned.
> # Compiler - unexpected failure because of incorrect classpath (literally all 
> dependencies are not on the classpath), like: {code}
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[3,30] package ... 
> does not exist
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[4,30] package ... 
> does not exist
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[8,25] package ... 
> does not exist
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[9,21] package 
> org.joda.time does not exist
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[11,37] package 
> com.google.common.base does not exist
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[11,1] static 
> import only from classes and interfaces
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[12,37] package 
> com.google.common.base does not exist
> 20:20:54 [ERROR] /D:/jenkins/work/workspace/..Request.java:[12,1] static 
> import only from classes and interfaces
> {code}
> # Jar - unexpected NPE. Reported with stack traces in MJAR-192. (assembly 
> plusgin seems to be also affected)
> At this point the issue looks like problem with MavenProject#getArtifacts in 
> concurrent builds.
> To help with the issue im happy to implement or evaluate any custom assembly 
> to trace this down. Unfortunately i cannot submit my project - it is 
> proprietary.
> Thanks in advance, Alexander



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

Reply via email to