Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 334904 - failing p2 tests on hudson
Summary: failing p2 tests on hudson
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Releng (show other bugs)
Version: 3.7   Edit
Hardware: PC Windows XP
: P3 normal (vote)
Target Milestone: 3.7 M6   Edit
Assignee: Kim Moir CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on: 335196
Blocks: 295393
  Show dependency tree
 
Reported: 2011-01-20 10:38 EST by Kim Moir CLA
Modified: 2011-05-17 10:34 EDT (History)
6 users (show)

See Also:


Attachments
html file for p2 tests (245.34 KB, text/html)
2011-02-01 10:21 EST, Kim Moir CLA
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Kim Moir CLA 2011-01-20 10:38:31 EST
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 :-)
Comment 1 Pascal Rapicault CLA 2011-01-20 15:16:36 EST
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?
Comment 2 Kim Moir CLA 2011-01-20 16:34:14 EST
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.
Comment 3 DJ Houghton CLA 2011-01-21 11:45:00 EST
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?
Comment 4 Kim Moir CLA 2011-01-21 12:00:56 EST
Thanks DJ, I'll go check the machines again and make sure the vm's point to the correct locations.
Comment 5 Kim Moir CLA 2011-01-24 09:53:55 EST
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.
Comment 6 Kim Moir CLA 2011-02-01 09:43:37 EST
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:
Comment 7 DJ Houghton CLA 2011-02-01 09:58:58 EST
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?
Comment 8 Kim Moir CLA 2011-02-01 10:21:39 EST
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
Comment 9 Kim Moir CLA 2011-02-07 10:06:45 EST
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
Comment 10 DJ Houghton CLA 2011-02-07 10:35:55 EST
I've made changes in the test.xml file to add the pergen arg similar to what the pde/build tests do.
Comment 11 Kim Moir CLA 2011-02-23 21:24:59 EST
Okay, verified that this is fixed in the test build I ran today.
Comment 12 Chris Aniszczyk CLA 2011-05-16 15:02:53 EDT
How did you guys fix the "Incompatible conditional operand types T and T" error?

I'm running into it also building Eclipse from scratch.
Comment 13 Kim Moir CLA 2011-05-17 08:52:22 EDT
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.
Comment 14 Chris Aniszczyk CLA 2011-05-17 08:55:23 EDT
(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
Comment 15 Thomas Watson CLA 2011-05-17 09:02:37 EDT
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.
Comment 16 Chris Aniszczyk CLA 2011-05-17 09:52:12 EDT
(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"/>
Comment 17 Chris Aniszczyk CLA 2011-05-17 10:02:35 EDT
Also, I notice the build doesn't fail even though there's a compilation.problem with the bundle.
Comment 18 Thomas Watson CLA 2011-05-17 10:34:57 EDT
(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