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

Reply via email to