Community
Participate
Working Groups
As you are probably aware, one of my tasks for 3.7 is to run the eclipse and equinox build on hudson.eclipse.org (bug 325997). A couple hundred p2 tests are failing when run on the hudson instance and I was wondering if a p2 committer could help me find the root cause of the problem. For instance, when running the p2 tests, the message"Incompatible conditional operand types T and T" always appears in the console log. See this log for details https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ws/ws/2011-01-19_16-22-46/eclipse-testing/linux.gtk-6.0_consolelog.txt/*view*/ java-test: [echo] Running org.eclipse.equinox.p2.tests.AutomatedTests. Result file: /opt/users/hudsonbuild/workspace/eclipse-JUnit-Linux/ws/2011-01-19_16-22-46/eclipse-testing/results/linux.gtk.x86_6.0/org.eclipse.equinox.p2.tests.AutomatedTests.xml. [java] java.lang.Error: Unresolved compilation problem: [java] Incompatible conditional operand types T and T [java] [java] at org.eclipse.equinox.internal.util.security.PrivilegedRunner.doPrivileged(PrivilegedRunner.java:102) The logs for the individual tests are here https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ws/ws/2011-01-19_16-22-46/eclipse-testing/results/xml/org.eclipse.equinox.p2.tests_linux.gtk.x86_6.0.xml https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ws/ws/2011-01-19_16-22-46/eclipse-testing/results/linux.gtk.x86_6.0/org.eclipse.equinox.p2.tests.AutomatedTests.txt The list of failing tests appear here https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/lastCompletedBuild/testReport/ You have to login with your committer id and password to see the results in hudson. Your help is much appreciated :-)
The error seems to be happening somewhere in the fwk. Do you know if the equinox tests are running ok? What about tests from other components?
Pascal, you can see a summary of all the test results here https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/197/testReport/ The failed tests are listed at the top, there is a second section that lists the tests that passed. I also asked the webmasters if there are proxy issues that are preventing the p2 tests from accessing bogus repositories, I know you have some that access www.example.com/foo or whatever. See bug 334935 for details.
That particular message can be a result of trying to compile 1.5 code against 1.4. Are the Java VMs set up ok and using the right ones on the new machines?
Thanks DJ, I'll go check the machines again and make sure the vm's point to the correct locations.
There was a typo in the classpath for the 1.4 vm. I fixed this and no longer see the "Incompatible conditional operand types T and T" messages in the log. thanks! The p2 tests now all pass on Linux. They are still failures on Windows but these are because of filename length limitations on windows (260 characters). I'll open a bug with the webmaster to change the hudson install and job name so that it is in a shorter root directory. [exec] checkdir error: cannot create c:/Users/HUDSONBUILD/hudson/workspace/eclipse-JUnit-windows/ws/2011-01-23_21-18-53/eclipse-testing/test-eclipse/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile/.data/org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions [exec] No such file or directory [exec] unable to process eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile/.data/org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions/jvmargs.
Ran another test build recently and noticed this test failure https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/JUnit-win/lastCompletedBuild/testReport/org.eclipse.equinox.p2.tests.artifact.repository/SimpleArtifactRepositoryTest/testRelativeRepositoryLocation/ No repository found at file:file:/C:/Users/HUDSONBUILD/hudson/workspace/JUnit-win/ws/2011-01-31_13-42-02/eclipse-testing/test-eclipse/eclipse/plugins/org.eclipse.equinox.p2.tests_1.3.0.N20110131-0950/testData/artifactRepo/jarfiles/. Seems like there is an an extra file:
Strange. I've added code to ensure we don't add an extra file: to the beginning of that URI. Is there a link on the build page where we can see all of the System properties like there is on the test results page for the regular build?
Created attachment 188050 [details] html file for p2 tests DJ, you can see the properties in the attached html file, like a regular test results file
On a build I ran out on the weekend, the p2 tests ran out of permgen space on the Linux machine. See the very end of this log https://hudson.eclipse.org/hudson/view/Eclipse%20and%20Equinox/job/eclipse-JUnit-Linux/ws/ws/2011-02-05_19-38-40/eclipse-testing/results/linux.gtk.x86_6.0/org.eclipse.equinox.p2.tests.AutomatedTests.txt
I've made changes in the test.xml file to add the pergen arg similar to what the pde/build tests do.
Okay, verified that this is fixed in the test build I ran today.
How did you guys fix the "Incompatible conditional operand types T and T" error? I'm running into it also building Eclipse from scratch.
regarding comment #12 Chris, it was a typo in the bootclasspath value in our bootstrap script that caused the "Incompatible conditional operand types T and T" error.
(In reply to comment #13) > Chris, it was a typo in the bootclasspath value in our bootstrap script that > caused the "Incompatible conditional operand types T and T" error. Do you recall what the typo was or where the bootstrap script is to? I'm hitting the same issue when compiling Eclipse 3.7RC1 from source... [java] [javac] Object result = (ServiceFactoryImpl.privileged()) ? AccessController.doPrivileged(this) : new Executor(); [java] [javac] ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [java] [javac] Incompatible conditional operand types T and Executor [java] [javac] ---------- [java] [javac] ---------- [java] [javac] 2. ERROR in /home/zx/eclipse/eb/org.eclipse.linuxtools.eclipse-build/eclipse-build/build/eclipse-3.7.0-I20110512-2000-src/plugins/org.eclipse.equinox.util/src/org/eclipse/equinox/internal/util/security/PrivilegedRunner.java (at line 102) [java] [javac] return (context != null) [java] [javac] // [java] [javac] ? AccessController.doPrivileged(runner, (AccessControlContext) context) [java] [javac] : AccessController.doPrivileged(runner); [java] [javac] [java] [javac] Incompatible conditional operand types T and T
My guess is that you don't have the classpath setup for the OSGi/Minimum-1.1 execution environment. I am not sure why you are getting this error because the org.eclipse.equinox.util project is setup to use 1.3 source code compatibility and should not be using generics.
(In reply to comment #15) > My guess is that you don't have the classpath setup for the OSGi/Minimum-1.1 > execution environment. I am not sure why you are getting this error because > the org.eclipse.equinox.util project is setup to use 1.3 source code > compatibility and should not be using generics. from my build.properties, I see a classpath set for OSGi/Minimum-1.1 OSGi/Minimum-1.1=/usr/lib/jvm/java/jre/lib/rt.jar:/usr/lib/jvm/java/jre/lib/jce.jar:/usr/lib/jvm/default-java/jre/lib/rt.jar:/usr/lib/jvm/default-java/jre/lib/jce.jar:/usr/lib64/jvm/java/jre/lib/rt.jar:/usr/lib64/jvm/java/jre/lib/jce.jar Any further hints on how to debug this? The PDE Build build.xml that is generated under the covers has these compiler settings... <!-- Compiler settings. --> <property name="javacFailOnError" value="false"/> <property name="javacDebugInfo" value="on"/> <property name="javacVerbose" value="false"/> <property name="logExtension" value=".log"/> <property name="compilerArg" value=""/> <property name="compilation.prereq.log" value="${buildDirectory}/prereqErrors.log"/> <property name="javacSource" value="1.3"/> <property name="javacTarget" value="1.2"/>
Also, I notice the build doesn't fail even though there's a compilation.problem with the bundle.
(In reply to comment #16) > OSGi/Minimum-1.1=/usr/lib/jvm/java/jre/lib/rt.jar:/usr/lib/jvm/java/jre/lib/jce.jar:/usr/lib/jvm/default-java/jre/lib/rt.jar:/usr/lib/jvm/default-java/jre/lib/jce.jar:/usr/lib64/jvm/java/jre/lib/rt.jar:/usr/lib64/jvm/java/jre/lib/jce.jar I gather that is a 1.5 or greater VM. Could you try setting the value to this jar: http://dev.eclipse.org/viewsvn/viewvc.cgi/org.eclipse.equinox/framework/bundles/org.eclipse.osgi/osgi/ee.minimum.jar?root=RT_Project&view=log