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

Bug 336843

Summary: Attempt to use build-time artifacts.xml file location
Product: [Eclipse Project] Equinox Reporter: Andrew Overholt <overholt>
Component: p2Assignee: DJ Houghton <dj.houghton>
Status: CLOSED DUPLICATE QA Contact:
Severity: normal    
Priority: P3 CC: aniefer, irbull, mknauer, pascal
Version: 3.7   
Target Milestone: 3.7   
Hardware: PC   
OS: Linux   
Whiteboard:

Description Andrew Overholt CLA 2011-02-10 11:45:47 EST
Eclipse IDE for Java and Report Developers

Version: Indigo Release
Build id: 20110204-0611

Linux/Gtk x86_64

Perhaps this is an EPP bug so apologies if p2 is the wrong place to file it.  I tried to install as much of Indigo as possible and got the following in my terminal (not sure if this was before or after the upgrade's request to restart):

java.io.FileNotFoundException: /opt/public/technology/epp/epp_build/indigo/eclipse.S-3.7M5-201101272034/artifacts.xml (No such file or directory)
        at java.io.FileOutputStream.open(Native Method)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:209)
        at java.io.FileOutputStream.<init>(FileOutputStream.java:160)
        at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:979)
        at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.save(SimpleArtifactRepository.java:960)
        at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepository.<init>(SimpleArtifactRepository.java:321)
        at org.eclipse.equinox.internal.p2.artifact.repository.simple.SimpleArtifactRepositoryFactory.create(SimpleArtifactRepositoryFactory.java:129)
        at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.factoryCreate(ArtifactRepositoryManager.java:61)
        at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.doCreateRepository(AbstractRepositoryManager.java:286)
        at org.eclipse.equinox.internal.p2.artifact.repository.ArtifactRepositoryManager.createRepository(ArtifactRepositoryManager.java:49)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util.getBundlePoolRepository(Util.java:86)
        at org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseMarkSetProvider.getMarkSets(EclipseMarkSetProvider.java:41)
        at org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector$ParameterizedSafeRunnable.run(GarbageCollector.java:69)
        at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
        at org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector.contributeMarkSets(GarbageCollector.java:97)
        at org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector.traverseRegisteredProfiles(GarbageCollector.java:225)
        at org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector.runGC(GarbageCollector.java:163)
        at org.eclipse.equinox.internal.p2.garbagecollector.GarbageCollector.notify(GarbageCollector.java:148)
        at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:108)
        at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.dispatchEvent(ProvisioningEventBus.java:1)
        at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
        at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
        at org.eclipse.equinox.internal.p2.core.ProvisioningEventBus.publishEvent(ProvisioningEventBus.java:85)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:96)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
        at org.eclipse.equinox.p2.operations.ProvisioningSession.performProvisioningPlan(ProvisioningSession.java:174)
        at org.eclipse.equinox.p2.operations.ProfileModificationJob.runModal(ProfileModificationJob.java:79)
        at org.eclipse.equinox.p2.operations.ProvisioningJob.run(ProvisioningJob.java:177)
        at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Job found still running after platform shutdown.  Jobs should be canceled by the plugin that scheduled them during shutdown: org.eclipse.epp.usagedata.internal.gathering.services.UsageDataService$1
Comment 1 Andrew Niefer CLA 2011-02-11 11:49:16 EST
Andrew, can you describe your general setup when you got this?
Are you taking an EPP package, unzipping it, and then using a different eclipse instance to install something into the package?

This reminds me of bug 327706 comment #16.  In short, it is a roaming profile that has not yet been updated to the real location causing problems when looking at it from the outside.
Comment 2 Andrew Overholt CLA 2011-02-14 09:41:01 EST
I just downloaded an EPP package, unzipped it, and ran it.  It wasn't on NFS and I had read/write privileges.
Comment 3 Pascal Rapicault CLA 2011-02-14 21:34:33 EST
I have seen this before as well. I'm not sure where the problem is coming from. It can either be in the way the director is invoked when the actual installation is created or because of a pb with the repository manager that would persist things in the wrong way.

Markus, I'm cc'ing you to know if you could give me the command line being used to create EPP packages.
Comment 4 Markus Knauer CLA 2011-05-10 10:51:53 EDT
This change of assignment acted like a 'ping'...

${ECLIPSE} in that case means the latest SDK (maybe this is the problem).


    ${ECLIPSE} -nosplash -consoleLog -application org.eclipse.equinox.p2.director \
      -m ${METADATAREPOSITORIES} -a ${ARTIFACTREPOSITORIES} \
      -installIU ${PACKAGE} \
      -destination ${PACKAGE_BUILD_DIR}/eclipse \
      -profile ${PACKAGE} \
      -flavor tooling \
      -profileproperties org.eclipse.update.install.features=true \
      -bundlepool ${PACKAGE_BUILD_DIR}/eclipse \
      -purgeHistory \
      -p2.os ${OSes[$index]} \
      -p2.ws ${WSes[$index]} \
      -p2.arch ${ARCHes[$index]} \
      -roaming \
      -vm ${JRE} \
      -vmargs -Declipse.p2.mirrors=false -Declipse.p2.data.area=${PACKAGE_BUILD_DIR}/eclipse/p2
Comment 5 DJ Houghton CLA 2011-05-11 10:50:55 EDT
I'm having problems reproducing this with the latest builds. I'm using Build id: 20110510-1129 and trying to install everything from Indigo. Initially I get errors about Pulsar related items so I remove them but then eventually I get to the point where it says I can't have 2 versions of the Platform installed at the same time. 

I'll try again with a non-latest (e.g. last milestone) build but am listening if anyone has any hints.
Comment 6 DJ Houghton CLA 2011-05-11 14:17:07 EDT
On Pascal's advice I tried the following setup:

- download and extract Eclipse Platform to /eclipse.platform
- download and extract Eclipse Platform to /eclipse.director
- create a local repository containing aFeature
- use /eclipse.director/eclipse -application org.eclipse.equinox.p2.director to install aFeature into /eclipse.platform

Checking the files in eclipse.platform, there is a reference to the local repo in the profile but it is only in the IU properties under the file.name property. I don't see any references in the list of repositories or any other files.
Comment 7 Markus Knauer CLA 2011-05-12 10:33:52 EDT
(In reply to comment #4)
>       -vmargs -Declipse.p2.mirrors=false
> -Declipse.p2.data.area=${PACKAGE_BUILD_DIR}/eclipse/p2

I am quite sure that the last VM parameter caused this problem. 
See bug 317562 comment #15

*** This bug has been marked as a duplicate of bug 317562 ***