Ryan McGuire created CASSANDRA-5388: ---------------------------------------
Summary: Windows unit tests fail due to ant/junit problem Key: CASSANDRA-5388 URL: https://issues.apache.org/jira/browse/CASSANDRA-5388 Project: Cassandra Issue Type: Bug Affects Versions: 2.0 Environment: Windows 7 java 1.7.0_17 ant 1.9.0 Reporter: Ryan McGuire Intermittently, but more often than not I get the following error when running 'ant test' on Windows 7: {code} BUILD FAILED c:\Users\Ryan\git\cassandra3\build.xml:1121: The following error occurred while executing this line: c:\Users\Ryan\git\cassandra3\build.xml:1064: Using loader AntClassLoader[C:\Program Files\Java\apache-ant-1.9.0\lib\ant-launcher.jar;c:\Program Files\Java\apache-ant-1.9.0\lib\ant.jar;c:\Program Files\Java\apache-ant-1.9.0\lib\ant-junit.jar;c:\Program Files\Java\apache-ant-1.9.0\lib\ant-junit4.jar;c:\Users\Ryan\git\cassandra3\build\classes\main;c:\Users\Ryan\git\cassandra3\build\classes\thrift;c:\Users\Ryan\git\cassandra3\lib\antlr-3.2.jar;c:\Users\Ryan\git\cassandra3\lib\avro-1.4.0-fixes.jar;c:\Users\Ryan\git\cassandra3\lib\avro-1.4.0-sources-fixes.jar;c:\Users\Ryan\git\cassandra3\lib\commons-cli-1.1.jar;c:\Users\Ryan\git\cassandra3\lib\commons-codec-1.2.jar;c:\Users\Ryan\git\cassandra3\lib\commons-lang-2.6.jar;c:\Users\Ryan\git\cassandra3\lib\compress-lzf-0.8.4.jar;c:\Users\Ryan\git\cassandra3\lib\concurrentlinkedhashmap-lru-1.3.jar;c:\Users\Ryan\git\cassandra3\lib\guava-13.0.1.jar;c:\Users\Ryan\git\cassandra3\lib\high-scale-lib-1.1.2.jar;c:\Users\Ryan\git\cassandra3\lib\jackson-core-asl-1.9.2.jar;c:\Users\Ryan\git\cassandra3\lib\jackson-mapper-asl-1.9.2.jar;c:\Users\Ryan\git\cassandra3\lib\jamm-0.2.5.jar;c:\Users\Ryan\git\cassandra3\lib\jbcrypt-0.3m.jar;c:\Users\Ryan\git\cassandra3\lib\jline-1.0.jar;c:\Users\Ryan\git\cassandra3\lib\json-simple-1.1.jar;c:\Users\Ryan\git\cassandra3\lib\libthrift-0.9.0.jar;c:\Users\Ryan\git\cassandra3\lib\log4j-1.2.16.jar;c:\Users\Ryan\git\cassandra3\lib\lz4-1.1.0.jar;c:\Users\Ryan\git\cassandra3\lib\metrics-core-2.0.3.jar;c:\Users\Ryan\git\cassandra3\lib\netty-3.5.9.Final.jar;c:\Users\Ryan\git\cassandra3\lib\servlet-api-2.5-20081211.jar;c:\Users\Ryan\git\cassandra3\lib\slf4j-api-1.7.2.jar;c:\Users\Ryan\git\cassandra3\lib\slf4j-log4j12-1.7.2.jar;c:\Users\Ryan\git\cassandra3\lib\snakeyaml-1.11.jar;c:\Users\Ryan\git\cassandra3\lib\snappy-java-1.0.4.1.jar;c:\Users\Ryan\git\cassandra3\lib\snaptree-0.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\apache-rat-0.6.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\apache-rat-core-0.6.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\apache-rat-tasks-0.6.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\asm-3.2.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\avro-1.3.2.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-beanutils-1.7.0.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-beanutils-core-1.8.0.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-cli-1.2.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-codec-1.4.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-collections-3.2.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-configuration-1.6.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-digester-1.8.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-el-1.0.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-httpclient-3.0.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-lang-2.4.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-logging-1.1.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-math-2.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\commons-net-1.4.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\core-3.1.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\hadoop-core-1.0.3.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\hsqldb-1.8.0.10.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jackson-core-asl-1.0.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jackson-mapper-asl-1.0.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jasper-compiler-5.5.12.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jasper-runtime-5.5.12.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jets3t-0.7.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jetty-6.1.26.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jetty-util-6.1.26.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jna-3.2.7.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jopt-simple-3.2.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jsp-2.1-6.1.14.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\jsp-api-2.1-6.1.14.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\junit-4.6.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\kfs-0.3.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\oro-2.0.8.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\paranamer-2.2.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\paranamer-ant-2.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\paranamer-generator-2.1.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\pig-0.10.0.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\qdox-1.10.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\servlet-api-2.5-20081211.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\servlet-api-2.5-6.1.14.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\slf4j-api-1.5.11.jar;c:\Users\Ryan\git\cassandra3\build\lib\jars\xmlenc-0.52.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\ant-1.6.5-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\apache-rat-core-0.6-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\apache-rat-tasks-0.6-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\avro-1.3.2-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-beanutils-1.7.0-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-cli-1.2-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-codec-1.4-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-collections-3.2-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-configuration-1.6-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-digester-1.8-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-el-1.0-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-httpclient-3.0.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-lang-2.4-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-logging-1.1.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-math-2.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\commons-net-1.4.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jackson-core-asl-1.0.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jackson-mapper-asl-1.0.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jets3t-0.7.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jetty-6.1.26-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jetty-util-6.1.26-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jna-3.2.7-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jopt-simple-3.2-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jsp-2.1-6.1.14-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\jsp-api-2.1-6.1.14-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\junit-4.6-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\oro-2.0.8-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\paranamer-2.2-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\paranamer-ant-2.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\paranamer-generator-2.1-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\pig-0.10.0-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\qdox-1.10-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\servlet-api-2.5-20081211-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\servlet-api-2.5-6.1.14-sources.jar;c:\Users\Ryan\git\cassandra3\build\lib\sources\slf4j-api-1.5.11-sources.jar;c:\Users\Ryan\git\cassandra3\build\test\classes;c:\Users\Ryan\git\cassandra3\test\conf] on class org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter: java.lang.NoClassDefFoundError: junit/framework/TestListener at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142) at java.net.URLClassLoader.defineClass(URLClassLoader.java:449) at java.net.URLClassLoader.access$100(URLClassLoader.java:71) at java.net.URLClassLoader$1.run(URLClassLoader.java:361) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at org.apache.tools.ant.AntClassLoader.findBaseClass(AntClassLoader.java:1385) at org.apache.tools.ant.AntClassLoader.loadClass(AntClassLoader.java:1064) at org.apache.tools.ant.util.SplitClassLoader.loadClass(SplitClassLoader.java:58) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:791) at org.apache.tools.ant.AntClassLoader.defineClassFromData(AntClassLoader.java:1128) at org.apache.tools.ant.AntClassLoader.getClassFromStream(AntClassLoader.java:1299) at org.apache.tools.ant.AntClassLoader.findClassInComponents(AntClassLoader.java:1354) at org.apache.tools.ant.AntClassLoader.findClass(AntClassLoader.java:1315) at org.apache.tools.ant.util.SplitClassLoader.loadClass(SplitClassLoader.java:52) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:266) at org.apache.tools.ant.taskdefs.optional.junit.FormatterElement.createFormatter(FormatterElement.java:286) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.logVmExit(JUnitTask.java:1653) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.logTimeout(JUnitTask.java:1606) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeAsForked(JUnitTask.java:1096) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:851) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.executeOrQueue(JUnitTask.java:1899) at org.apache.tools.ant.taskdefs.optional.junit.JUnitTask.execute(JUnitTask.java:800) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.Sequential.execute(Sequential.java:68) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.taskdefs.MacroInstance.execute(MacroInstance.java:396) at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:291) at sun.reflect.GeneratedMethodAccessor4.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106) at org.apache.tools.ant.Task.perform(Task.java:348) at org.apache.tools.ant.Target.execute(Target.java:435) at org.apache.tools.ant.Target.performTasks(Target.java:456) at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1393) at org.apache.tools.ant.Project.executeTarget(Project.java:1364) at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41) at org.apache.tools.ant.Project.executeTargets(Project.java:1248) at org.apache.tools.ant.Main.runBuild(Main.java:851) at org.apache.tools.ant.Main.startAnt(Main.java:235) at org.apache.tools.ant.launch.Launcher.run(Launcher.java:280) at org.apache.tools.ant.launch.Launcher.main(Launcher.java:109) Caused by: java.lang.ClassNotFoundException: junit.framework.TestListener at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:423) at java.lang.ClassLoader.loadClass(ClassLoader.java:356) ... 62 more {code} This isn't a specific unit test failing, this is ant itself crashing. The log specifies that junit-4.6.jar is on the classpath in the build/lib/jars directory and this file exists on disk, and the md5sum is the same as the official jar (37dc57962c1275ebc572726a6f5cdd13), so I cannot understand why the class cannot be found. Steps to reproduce: * Use Windows 7. * clone C* trunk * run 'ant clean test' * See the error in the log. Interestingly, this is not 100% reproducible. While attempting to debugging this, I deleted my entire checkout, did a fresh 'git clone' and ran 'ant test' and *one time* I ran all the tests to completion, but I cannot reproduce this again, it fails every time I try now with the error above. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira