Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 370502

Summary: 0.14.0-SNAPSHOT fails with TargetDefinitionResolutionException: Unable to satisfy dependency from org.eclipse.sdk.ide to config.a.jre.javase
Product: z_Archived Reporter: Steffen Pingel <steffen.pingel>
Component: TychoAssignee: Project Inbox <tycho-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: igor
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on:    
Bug Blocks: 370420    

Description Steffen Pingel CLA 2012-02-02 17:20:40 EST
Recently the Mylyn build started failing when I run it with Tycho 0.14.0-SNAPSHOT against an explicit target. It works fine 0.13.0 or if I use an explicit target. Any thoughts what's missing or might be causing this?

http://ci.mylyn.org/job/mylyn-3.7.x/66/TARGET=galileo/console

[INFO] o.h.m.e.h.MavenExecutionResultHandler - Build failed with exception(s)
[INFO] o.h.m.e.h.MavenExecutionResultHandler - [1] org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Failed to resolve target definition /home/hudson/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.5.target
[DEBUG] Closing connection to remote
[ERROR] Internal error: java.lang.RuntimeException: Failed to resolve target definition /home/hudson/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.5.target: "Problems resolving provisioning plan.": ["Unable to satisfy dependency from org.eclipse.sdk.ide 3.5.2.M20100211-1343 to a.jre.javase [1.6.0].", "Unable to satisfy dependency from org.eclipse.sdk.ide 3.5.2.M20100211-1343 to config.a.jre.javase [1.6.0]."] -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Failed to resolve target definition /home/hudson/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.5.target
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:168)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.RuntimeException: Failed to resolve target definition /home/hudson/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.5.target
	at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:407)
	at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.computeTargetPlatform(P2TargetPlatformResolver.java:220)
	at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:89)
	at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:61)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:273)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
	... 11 more
Caused by: org.eclipse.tycho.p2.target.facade.TargetDefinitionResolutionException: "Problems resolving provisioning plan.": ["Unable to satisfy dependency from org.eclipse.sdk.ide 3.5.2.M20100211-1343 to a.jre.javase [1.6.0].", "Unable to satisfy dependency from org.eclipse.sdk.ide 3.5.2.M20100211-1343 to config.a.jre.javase [1.6.0]."]
	at org.eclipse.tycho.p2.target.TargetDefinitionResolver.newResolutionException(TargetDefinitionResolver.java:223)
	at org.eclipse.tycho.p2.target.TargetDefinitionResolver$1.newResolutionException(TargetDefinitionResolver.java:170)
	at org.eclipse.tycho.p2.impl.resolver.SlicerResolutionStrategy.resolve(SlicerResolutionStrategy.java:56)
	at org.eclipse.tycho.p2.impl.resolver.ResolutionStrategy.resolve(ResolutionStrategy.java:68)
	at org.eclipse.tycho.p2.target.TargetDefinitionResolver$1.resolve(TargetDefinitionResolver.java:162)
	at org.eclipse.tycho.p2.target.TargetDefinitionResolver.resolveContent(TargetDefinitionResolver.java:135)
	at org.eclipse.tycho.p2.target.TargetPlatformBuilderImpl.addTargetDefinition(TargetPlatformBuilderImpl.java:330)
	at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:402)
	... 16 more
Caused by: org.eclipse.core.runtime.CoreException: Problems resolving provisioning plan.
	... 24 more
[ERROR]
Comment 1 Igor Fedorenko CLA 2012-02-02 17:29:10 EST
Likely related to bug 364095. Can provide URL of the source code of the project?
Comment 2 Steffen Pingel CLA 2012-02-02 17:48:01 EST
Interesting. Not sure if it that broke it: we recently switched from JDK 1.6.0 to 1.7.0. I also get the error when building with a 1.6 JDK now though.

You should be able to reproduce it using these steps:

git clone git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.commons.git
cd org.eclipse.mylyn.commons
mvn -Phelios clean verify -V -B -Dmaven.test.skip=true -Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true -Dpack.skip=true -Dexplicit-target -Dtycho-version=0.14.0-SNAPSHOT -Dtest.all.skip=false


This is what I get:

spingel@crossfire:~/tmp/k$ git clone git://git.eclipse.org/gitroot/mylyn/org.eclipse.mylyn.commons.git
Cloning into org.eclipse.mylyn.commons...
remote: Counting objects: 24696, done.
remote: Compressing objects: 100% (5028/5028), done.
remote: Total 24696 (delta 12310), reused 22309 (delta 11035)
Receiving objects: 100% (24696/24696), 2.97 MiB | 695 KiB/s, done.
Resolving deltas: 100% (12310/12310), done.
spingel@crossfire:~/tmp/k$ cd org.eclipse.mylyn.commons/
spingel@crossfire:~/tmp/k/org.eclipse.mylyn.commons$ mvn -Phelios clean verify -V -B -Dmaven.test.skip=true -Dmaven.test.failure.ignore=true -Dmaven.test.error.ignore=true -Dpack.skip=true -Dexplicit-target -Dtycho-version=0.14.0-SNAPSHOT -Dtest.all.skip=false
Apache Maven 3.0.1 (r1038046; 2010-11-23 11:58:32+0100)
Java version: 1.6.0_26
Java home: /usr/lib/jvm/java-6-sun-1.6.0.26/jre
Default locale: en_CA, platform encoding: UTF-8
OS name: "linux" version: "2.6.38-10-generic" arch: "amd64" Family: "unix"
[INFO] Scanning for projects...
Downloading: http://download.eclipse.org/mylyn/maven/snapshots/org/eclipse/mylyn/org.eclipse.mylyn-parent/3.7.0-SNAPSHOT/maven-metadata.xml
Downloading: http://download.eclipse.org/mylyn/maven/releases/org/eclipse/mylyn/org.eclipse.mylyn-parent/3.7.0-SNAPSHOT/maven-metadata.xml
Downloaded: http://download.eclipse.org/mylyn/maven/snapshots/org/eclipse/mylyn/org.eclipse.mylyn-parent/3.7.0-SNAPSHOT/maven-metadata.xml (620 B at 1.2 KB/sec)
[INFO] Computing target platform for MavenProject: org.eclipse.mylyn.commons:org.eclipse.mylyn.commons:3.7.0-SNAPSHOT @ /stuff/tmp/k/org.eclipse.mylyn.commons/org.eclipse.mylyn.commons-feature/pom.xml
[ERROR] Internal error: java.lang.RuntimeException: Failed to resolve target definition /home/spingel/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.6.target: "Problems resolving provisioning plan.": ["Unable to satisfy dependency from org.eclipse.sdk.ide 3.6.2.M20110210-1200 to config.a.jre.javase [1.6.0].", "Unable to satisfy dependency from org.eclipse.sdk.ide 3.6.2.M20110210-1200 to a.jre.javase [1.6.0]."] -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: java.lang.RuntimeException: Failed to resolve target definition /home/spingel/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.6.target
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:165)
        at org.apache.maven.cli.MavenCli.execute(MavenCli.java:451)
        at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:188)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:134)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
        at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
        at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
        at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: java.lang.RuntimeException: Failed to resolve target definition /home/spingel/.m2/repository/org/eclipse/mylyn/org.eclipse.mylyn-target/3.7.0-SNAPSHOT/org.eclipse.mylyn-target-3.7.0-SNAPSHOT-mylyn-e3.6.target
        at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:407)
        at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.computeTargetPlatform(P2TargetPlatformResolver.java:220)
        at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:89)
        at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:61)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:270)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153)
        ... 11 more
Caused by: org.eclipse.tycho.p2.target.facade.TargetDefinitionResolutionException: "Problems resolving provisioning plan.": ["Unable to satisfy dependency from org.eclipse.sdk.ide 3.6.2.M20110210-1200 to config.a.jre.javase [1.6.0].", "Unable to satisfy dependency from org.eclipse.sdk.ide 3.6.2.M20110210-1200 to a.jre.javase [1.6.0]."]
        at org.eclipse.tycho.p2.target.TargetDefinitionResolver.newResolutionException(TargetDefinitionResolver.java:223)
        at org.eclipse.tycho.p2.target.TargetDefinitionResolver$1.newResolutionException(TargetDefinitionResolver.java:170)
        at org.eclipse.tycho.p2.impl.resolver.SlicerResolutionStrategy.resolve(SlicerResolutionStrategy.java:56)
        at org.eclipse.tycho.p2.impl.resolver.ResolutionStrategy.resolve(ResolutionStrategy.java:68)
        at org.eclipse.tycho.p2.target.TargetDefinitionResolver$1.resolve(TargetDefinitionResolver.java:162)
        at org.eclipse.tycho.p2.target.TargetDefinitionResolver.resolveContent(TargetDefinitionResolver.java:135)
        at org.eclipse.tycho.p2.target.TargetPlatformBuilderImpl.addTargetDefinition(TargetPlatformBuilderImpl.java:330)
        at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:402)
        ... 16 more
Caused by: org.eclipse.core.runtime.CoreException: Problems resolving provisioning plan.
        ... 24 more
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/InternalErrorException
Comment 3 Igor Fedorenko CLA 2012-02-03 00:10:02 EST
Should be fixed now. The solution is not pretty, but seems to work. 

I am still not able to build org.eclipse.mylyn.commons.git. Now I get complains about bundle org.eclipse.mylyn.context.core [3.0.0,4.0.0) not being available and I don't know where it is supposed to come from.

http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=090ec4d1a903ef2f2d0532da62d61f04b2d6249f

http://git.eclipse.org/c/tycho/org.eclipse.tycho.git/commit/?id=ab78009a7516c625886fb09cb4b1d77929ce2778
Comment 4 Steffen Pingel CLA 2012-02-03 14:14:52 EST
Sorry, the error you were seeing is an expected problem with our build. I should have pointed that out.

Is it possible that the change caused a performance regression?  This build spent over two hours resolving targets: http://ci.mylyn.org/job/mylyn-3.7.x/69/TARGET=juno/console

"main" prio=10 tid=0x08d96000 nid=0x1631 runnable [0xb7170000]
   java.lang.Thread.State: RUNNABLE
	at org.eclipse.equinox.internal.p2.metadata.expression.Member$DynamicMember.invoke(Member.java:47)
	at org.eclipse.equinox.internal.p2.metadata.expression.Member$DynamicMember.evaluate(Member.java:42)
	at org.eclipse.equinox.internal.p2.metadata.expression.Equals.evaluate(Equals.java:27)
	at org.eclipse.equinox.internal.p2.metadata.expression.And.evaluate(And.java:26)
	at org.eclipse.equinox.internal.p2.metadata.expression.Unary.evaluate(Unary.java:42)
	at org.eclipse.equinox.internal.p2.metadata.expression.Exists.evaluate(Exists.java:29)
	at org.eclipse.equinox.internal.p2.metadata.expression.CollectionFilter.evaluate(CollectionFilter.java:58)
	at org.eclipse.equinox.internal.p2.metadata.expression.MatchExpression.evaluate(MatchExpression.java:44)
	at org.eclipse.equinox.p2.query.ExpressionMatchQuery.isMatch(ExpressionMatchQuery.java:86)
	at org.eclipse.equinox.p2.query.ExpressionMatchQuery.perform(ExpressionMatchQuery.java:73)
	at org.eclipse.equinox.p2.query.ExpressionMatchQuery.perform(ExpressionMatchQuery.java:63)
	at org.eclipse.equinox.internal.p2.metadata.index.IndexProvider.query(IndexProvider.java:23)
	at org.eclipse.equinox.internal.p2.metadata.index.IndexProvider.query(IndexProvider.java:32)
	at org.eclipse.equinox.internal.p2.director.Slicer.expandRequirement(Slicer.java:183)
	at org.eclipse.equinox.internal.p2.director.Slicer.processIU(Slicer.java:146)
	at org.eclipse.equinox.internal.p2.director.Slicer.slice(Slicer.java:65)
	at org.eclipse.tycho.p2.impl.resolver.SlicerResolutionStrategy.resolve(SlicerResolutionStrategy.java:58)
	at org.eclipse.tycho.p2.impl.resolver.ResolutionStrategy.resolve(ResolutionStrategy.java:68)
	at org.eclipse.tycho.p2.target.TargetDefinitionResolver$1.resolve(TargetDefinitionResolver.java:162)
	at org.eclipse.tycho.p2.target.TargetDefinitionResolver.resolveContent(TargetDefinitionResolver.java:135)
	at org.eclipse.tycho.p2.target.TargetPlatformBuilderImpl.addTargetDefinition(TargetPlatformBuilderImpl.java:330)
	at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.addTargetFileContentToTargetPlatform(P2TargetPlatformResolver.java:402)
	at org.eclipse.tycho.p2.resolver.P2TargetPlatformResolver.computeTargetPlatform(P2TargetPlatformResolver.java:220)
	at org.eclipse.tycho.core.resolver.DefaultTychoDependencyResolver.resolveProject(DefaultTychoDependencyResolver.java:89)
	at org.eclipse.tycho.core.maven.TychoMavenLifecycleParticipant.afterProjectsRead(TychoMavenLifecycleParticipant.java:61)
	at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:273)
	at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
	at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
	at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
	at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:601)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Comment 5 Igor Fedorenko CLA 2012-02-03 14:41:53 EST
Lets keep this bugreport for the "Unable to satisfy dependency from org.eclipse.sdk.ide to config.a.jre.javase" problem, which I believe is fixed now. 

The changes to .target file resolution were not expected to have noticeable performance impact. I am happy to help you troubleshoot the apparent performance regression, but lets do this either on tycho-users or on a separate bugzilla. To start, I suggest giving your build JVM more RAM, say 256M or even 512M to be sure.
Comment 6 Steffen Pingel CLA 2012-02-03 16:34:34 EST
Makes sense. I have opened bug 370611 to track the performance issue.