uqbar-project / wollok

Wollok Programming Language
GNU General Public License v3.0
60 stars 16 forks source link

See why travis fails to execute BreakPointHitTestCase #908

Open javierfernandes opened 8 years ago

javierfernandes commented 8 years ago

Something about creating the sockets.

I thought it was because it was executing both tests in parallel, so I made the ports random. Nothing.

I tried to see the logs but they sucks. I tried adding -X -e to .travis.yml mvn command, but the log gets too big and travis won't store it :(

Also tried commenting one test, still fails.

Damn travis !

javierfernandes commented 8 years ago

I noticed that the exception is

listShouldHaveElements(org.uqbar.project.wollok.tests.debugger.BreakPointHitTestCase)  Time elapsed: 0.672 sec  <<< ERROR!
java.lang.LinkageError: loader constraint violation: loader (instance of org/eclipse/osgi/internal/loader/EquinoxClassLoader) previously initiated loading for a different type with name "net/sf/lipermi/net/Server"
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:760)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.defineClass(ModuleClassLoader.java:272)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.defineClass(ClasspathManager.java:632)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findClassImpl(ClasspathManager.java:588)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClassImpl(ClasspathManager.java:540)
    at org.eclipse.osgi.internal.loader.classpath.ClasspathManager.findLocalClass(ClasspathManager.java:527)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.findLocalClass(ModuleClassLoader.java:324)
    at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:327)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:402)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:352)
    at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:344)
    at org.eclipse.osgi.internal.loader.ModuleClassLoader.loadClass(ModuleClassLoader.java:160)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at org.uqbar.project.wollok.tests.debugger.AbstractXDebuggingTestCase.debugSession(AbstractXDebuggingTestCase.java:90)

So it is not related to sockets but to classloading and the jar dependency to lipermi, which is duplicated in wollok.launch as well as wollok.tests.

Not really sure why it runs fine locally, and in eclipse but not in travis :(