[ https://jira.codehaus.org/browse/SUREFIRE-1132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=360935#comment-360935 ]
Alexander Ashitkin commented on SUREFIRE-1132: ---------------------------------------------- Hi Tibor with additional logging in org.apache.maven.plugin.surefire.AbstractSurefireMojo#generateTestClasspath i captured what indeed {code}Set<Artifact> classpathArtifacts = getProject().getArtifacts();{code} in a case of failure returns nothing. My log output is : {code} Project artifacts: [] Project classpath: [D:\jenkins\work\workspace\sf-2.18.1-test\my-server\target\test-classes, D:\jenkins\work\workspace\sf-2.18.1-test\my-server\target\classes] {code} The code to capture data, as following: {code} Classpath generateTestClasspath() throws InvalidVersionSpecificationException, MojoFailureException, ArtifactResolutionException, ArtifactNotFoundException, MojoExecutionException { List<String> classpath = new ArrayList<String>( 2 + getProject().getArtifacts().size() ); classpath.add( getTestClassesDirectory().getAbsolutePath() ); classpath.add( getClassesDirectory().getAbsolutePath() ); @SuppressWarnings( "unchecked" ) Set<Artifact> classpathArtifacts = getProject().getArtifacts(); System.out.println( "Project artifacts: " + classpathArtifacts ); if ( getClasspathDependencyScopeExclude() != null && !getClasspathDependencyScopeExclude().equals( "" ) ) { ArtifactFilter dependencyFilter = new ScopeArtifactFilter( getClasspathDependencyScopeExclude() ); classpathArtifacts = this.filterArtifacts( classpathArtifacts, dependencyFilter ); } if ( getClasspathDependencyExcludes() != null ) { ArtifactFilter dependencyFilter = new PatternIncludesArtifactFilter( Arrays.asList( getClasspathDependencyExcludes() ) ); classpathArtifacts = this.filterArtifacts( classpathArtifacts, dependencyFilter ); } for ( Artifact artifact : classpathArtifacts ) { if ( artifact.getArtifactHandler().isAddedToClasspath() ) { File file = artifact.getFile(); if ( file != null ) { classpath.add( file.getPath() ); } } } // Add additional configured elements to the classpath if ( getAdditionalClasspathElements() != null ) { for ( String classpathElement : getAdditionalClasspathElements() ) { if ( classpathElement != null ) { classpath.add( classpathElement ); } } } // adding TestNG MethodSelector to the classpath // Todo: move if ( getTestNgArtifact() != null ) { addTestNgUtilsArtifacts( classpath ); } System.out.println( "Project classpath: " + classpath ); return new Classpath( classpath ); } {code} At this point surefire issue could be closed and i will look forward to raise it aganist maven core thank you > Surefire: regular isolated classloader failures in parallelbuild > ---------------------------------------------------------------- > > Key: SUREFIRE-1132 > URL: https://jira.codehaus.org/browse/SUREFIRE-1132 > Project: Maven Surefire > Issue Type: Bug > Components: classloading > Affects Versions: 2.17, 2.18.1 > Environment: SLES 3.0.80-0.7-default SMP x86_64 GNU/Linux > windows server 2008 x64 > Maven 3.2.2, 3.2.3, 3.2.5 > Oracle HotSpot JDK 7u25/7u65/8u25 > Reporter: Alexander Ashitkin > Assignee: Tibor Digana > Attachments: consoleText-1.txt, consoleText-2.txt, consoleText-3.txt > > > We have a large project of 300+ modules which regularly fails with different > kind of classloading issues in different places in surefire plugin. The issue > is reproduced only with parallel build and is not reproduced in single > threaded. This is a main contributor in build instability for us. All the not > loaded dependnecies are actually present in dependency tree. I attached 3 > different samples of how build fails. > Surefire config: > {code} > <configuration> > <forkCount>0</forkCount> > <!--doesnt work in parrallel build. Causes build > failures with error java.io.IOException: Stream Closed--> > <redirectTestOutputToFile>false</redirectTestOutputToFile> > <useManifestOnlyJar>false</useManifestOnlyJar> > </configuration> > {code} > maven cmd is like install -T 10 > Please advise how to sort this out - ready to run any provided diagnostic > and evaluate any options. > Thanks in advance, Alexander -- This message was sent by Atlassian JIRA (v6.1.6#6162)