From issues-return-99734-apmail-maven-issues-archive=maven.apache.org@maven.apache.org Sun Jan 11 13:47:42 2015 Return-Path: X-Original-To: apmail-maven-issues-archive@minotaur.apache.org Delivered-To: apmail-maven-issues-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 156F610684 for ; Sun, 11 Jan 2015 13:47:42 +0000 (UTC) Received: (qmail 13909 invoked by uid 500); 11 Jan 2015 13:47:43 -0000 Delivered-To: apmail-maven-issues-archive@maven.apache.org Received: (qmail 13854 invoked by uid 500); 11 Jan 2015 13:47:43 -0000 Mailing-List: contact issues-help@maven.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@maven.apache.org Delivered-To: mailing list issues@maven.apache.org Received: (qmail 13843 invoked by uid 99); 11 Jan 2015 13:47:42 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Jan 2015 13:47:42 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [199.193.192.100] (HELO codehaus01.managed.contegix.com) (199.193.192.100) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 11 Jan 2015 13:47:38 +0000 Received: from codehaus01 (localhost.localdomain [127.0.0.1]) by codehaus01.managed.contegix.com (Postfix) with ESMTP id E7A2DB10B5 for ; Sun, 11 Jan 2015 07:47:17 -0600 (CST) Date: Sun, 11 Jan 2015 07:47:17 -0600 (CST) From: "Alexander Ashitkin (JIRA)" To: issues@maven.apache.org Message-ID: In-Reply-To: References: Subject: [jira] (MNG-5750) Sporadic failures in concurrent build MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 22cf62d5d84cf5bea94eb3b65e0ebd09 X-Virus-Checked: Checked by ClamAV on apache.org [ https://jira.codehaus.org/browse/MNG-5750?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=361061#comment-361061 ] Alexander Ashitkin edited comment on MNG-5750 at 1/11/15 7:45 AM: ------------------------------------------------------------------ Some thughts on the root cause: #setArtifactsFilters seems to be caused by following pattern: set empty filter before source mojo, it will create #deepCopy with empty artifacts and that will trigger #setArtifactFilter {code} #setArtifactFilter null [another-module] [BuilderThread 2] [ashiale] #getArtifacts artifactFilter == null || resolvedArtifacts == null, assigning empty set another-module [another-module] [BuilderThread 8] [ashiale] #getArtifacts [another-module] [BuilderThread 8] [ashiale] at org.apache.maven.project.MavenProject.getArtifacts(MavenProject.java:744) at org.apache.maven.project.MavenProject.deepCopy(MavenProject.java:1278) at org.apache.maven.project.MavenProject.(MavenProject.java:201) at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:501) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:295) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:247) at org.apache.maven.plugin.source.AbstractSourceJarMojo.execute(AbstractSourceJarMojo.java:216) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) #setArtifacts to [] [#getArtifactId==null] [BuilderThread 8] [ashiale] at org.apache.maven.project.MavenProject.setArtifacts(MavenProject.java:727) at org.apache.maven.project.MavenProject.deepCopy(MavenProject.java:1278) at org.apache.maven.project.MavenProject.(MavenProject.java:201) at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:501) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:295) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:247) at org.apache.maven.plugin.source.AbstractSourceJarMojo.execute(AbstractSourceJarMojo.java:216) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) #setArtifactFilter null [another-module] [BuilderThread 8] [ashiale] #setArtifactFilter null [module-1] [BuilderThread 8] [ashiale] #setArtifactFilter null [module-1] [BuilderThread 8] [ashiale] #setArtifactFilter null [module-3] [BuilderThread 8] [ashiale] ... #setArtifactFilter null [module-471] [BuilderThread 8] [ashiale] {code} was (Author: alex_ashitkin): Some thughts on the root cause: #setArtifactsFilters seems to be caused by following pattern: set empty filter before source mojo, it willcreate deepCopy with empty artifacts and that will trigger #setArtifactFilter {code} #setArtifactFilter null [another-module] [BuilderThread 2] [ashiale] #getArtifacts artifactFilter == null || resolvedArtifacts == null, assigning empty set another-module [another-module] [BuilderThread 8] [ashiale] #getArtifacts [another-module] [BuilderThread 8] [ashiale] at org.apache.maven.project.MavenProject.getArtifacts(MavenProject.java:744) at org.apache.maven.project.MavenProject.deepCopy(MavenProject.java:1278) at org.apache.maven.project.MavenProject.(MavenProject.java:201) at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:501) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:295) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:247) at org.apache.maven.plugin.source.AbstractSourceJarMojo.execute(AbstractSourceJarMojo.java:216) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) #setArtifacts to [] [ArtifactIdIsNull] [BuilderThread 8] [ashiale] at org.apache.maven.project.MavenProject.setArtifacts(MavenProject.java:727) at org.apache.maven.project.MavenProject.deepCopy(MavenProject.java:1278) at org.apache.maven.project.MavenProject.(MavenProject.java:201) at org.apache.maven.archiver.MavenArchiver.createArchive(MavenArchiver.java:501) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:295) at org.apache.maven.plugin.source.AbstractSourceJarMojo.packageSources(AbstractSourceJarMojo.java:247) at org.apache.maven.plugin.source.AbstractSourceJarMojo.execute(AbstractSourceJarMojo.java:216) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132) #setArtifactFilter null [another-module] [BuilderThread 8] [ashiale] #setArtifactFilter null [module-1] [BuilderThread 8] [ashiale] #setArtifactFilter null [module-1] [BuilderThread 8] [ashiale] #setArtifactFilter null [module-3] [BuilderThread 8] [ashiale] ... #setArtifactFilter null [module-471] [BuilderThread 8] [ashiale] {code} > 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)