[ https://jira.codehaus.org/browse/SUREFIRE-1132?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=360846#comment-360846 ]
Alexander Ashitkin commented on SUREFIRE-1132: ---------------------------------------------- I was able to log classloader config and provider properties at the moment of failure. As i understan junit.jar was not present in the classloader: {code} 13:40:42 Classloader: sun.misc.Launcher$AppClassLoader@5c647e05 parent: sun.misc.Launcher$ExtClassLoader@3e3abc88 13:40:42 file:/D:/.m2/repository/org/apache/maven/surefire/surefire-booter/2.19-SNAPSHOT/surefire-booter-2.19-SNAPSHOT.jar f:true d:false r:true 13:40:42 file:/D:/.m2/repository/org/apache/maven/surefire/surefire-api/2.19-SNAPSHOT/surefire-api-2.19-SNAPSHOT.jar f:true d:false r:true 13:40:42 file:/D:/jenkins/work/workspace/sf-2.18.1-test/blotter/my-server/server/target/test-classes/ f:false d:true r:true 13:40:42 file:/D:/jenkins/work/workspace/sf-2.18.1-test/blotter/my-server/server/target/classes/ f:false d:true r:true 13:40:42 file:/D:/.m2/repository/org/apache/maven/surefire/surefire-junit4/2.19-SNAPSHOT/surefire-junit4-2.19-SNAPSHOT.jar f:true d:false r:true {code} The data is captured as follows: {code} public static SurefireProvider createProviderInCurrentClassloader( StartupConfiguration startupConfiguration1, boolean isInsideFork, ProviderConfiguration providerConfiguration, Object reporterManagerFactory1 ) { BaseProviderFactory bpf = new BaseProviderFactory( (ReporterFactory) reporterManagerFactory1, isInsideFork ); bpf.setTestRequest( providerConfiguration.getTestSuiteDefinition() ); bpf.setReporterConfiguration( providerConfiguration.getReporterConfiguration() ); ClassLoader clasLoader = Thread.currentThread().getContextClassLoader(); bpf.setClassLoaders( clasLoader ); bpf.setTestArtifactInfo( providerConfiguration.getTestArtifact() ); bpf.setProviderProperties( providerConfiguration.getProviderProperties() ); bpf.setRunOrderParameters( providerConfiguration.getRunOrderParameters() ); bpf.setDirectoryScannerParameters( providerConfiguration.getDirScannerParams() ); int reattempts = 0; while ( reattempts < 3 ) { try { return ( SurefireProvider ) ReflectionUtils.instantiateOneArg( clasLoader, startupConfiguration1.getActualClassName(), ProviderParameters.class, bpf ); } catch ( Throwable e ) { reattempts++; System.err.println( Thread.currentThread().getName() + ": Error creating provider with configuration: " + providerConfiguration ); e.printStackTrace(); System.err.println( "Classloader: " + clasLoader + " parent: " + clasLoader.getParent() ); if ( clasLoader instanceof URLClassLoader ) { final URLClassLoader ucl = (URLClassLoader) clasLoader; final URL[] urls = ucl.getURLs(); for ( URL url : urls ) { try { final URI uri = url.toURI(); final File file = new File( uri ); if ( file.exists() ) { System.err.println( url + "f:" + file.isFile() + " d:" + file.isDirectory() + " r:" + file.canRead() ); } } catch ( URISyntaxException e1 ) { System.err.println( "Error converting url: " + url ); e1.printStackTrace(); } } } try { System.err.println( "Sleeping before reattempt" ); Thread.sleep( MILLIS ); } catch ( InterruptedException e1 ) { e1.printStackTrace(); Thread.currentThread().interrupt(); } } } throw new RuntimeException( "Failed to create provider" ); } {code} thats all i see. No artifact dependencies, only compiled code and surefire apis in classpaths. Is it something expected and i need to look something else? 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 > 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)