Since you seem to think that the missing file should have been downloaded, the 
first thing is to see why it has not been and why it has not failed. To see 
what is going on try putting a breakpoint in:
        DownloadManager#start(...) - This is the method that is responsible for 
downloading all the necessary artifacts.
        SimpleArtifactRepository#downloadArtifact( ) - This method is where the 
actual download is happening. 

HTH

Pascal

-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf 
Of Carlos O'Donell
Sent: October-27-12 12:35 PM
To: P2 developer discussions
Subject: [p2-dev] Problems with boostrap installs, mysterious missing jars, and 
checkCertificates errors.

p2,

Our product upgrade process consists of using the p2 director to tear down an 
existing install and then install the new version of our root IU.

Recently I've started seeing the following failure during the install process:
~~~
!ENTRY org.eclipse.equinox.p2.engine 4 4 2012-10-27 12:16:57.109 !MESSAGE An 
error occurred during the 
org.eclipse.equinox.internal.p2.engine.phases.CheckTrust phase.
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2012-10-27 12:16:57.109 !MESSAGE 
session context was:(profile=SGXXProfile, 
phase=org.eclipse.equinox.internal.p2.engine.phases.CheckTrust, operand=, 
action=).
!SUBENTRY 1 org.eclipse.equinox.p2.engine 4 0 2012-10-27 12:16:57.109 !MESSAGE 
Error reading signed content.
!STACK 0
java.io.IOException: The file 
"C:\Users\carloso\MentorGraphics\Support\CB-1602\install03\eclipse\plugins\gnu.io.rxtx_2.1.7.4_v20071016.jar"
 does not exist
        at 
org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.<init>(ZipBundleFile.java:61)
        at 
org.eclipse.osgi.baseadaptor.bundlefile.ZipBundleFile.<init>(ZipBundleFile.java:55)
        at 
org.eclipse.osgi.internal.signedcontent.SignedBundleHook.getSignedContent(SignedBundleHook.java:253)
        at 
org.eclipse.equinox.internal.p2.engine.phases.CertificateChecker.checkCertificates(CertificateChecker.java:73)
        at 
org.eclipse.equinox.internal.p2.engine.phases.CertificateChecker.start(CertificateChecker.java:54)
        at 
org.eclipse.equinox.internal.p2.engine.phases.CheckTrust.completePhase(CheckTrust.java:50)
        at 
org.eclipse.equinox.internal.p2.engine.Phase.postPerform(Phase.java:241)
        at org.eclipse.equinox.internal.p2.engine.Phase.perform(Phase.java:98)
        at 
org.eclipse.equinox.internal.p2.engine.PhaseSet.perform(PhaseSet.java:47)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:75)
        at org.eclipse.equinox.internal.p2.engine.Engine.perform(Engine.java:44)
        at 
org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:41)
        at 
org.eclipse.equinox.internal.provisional.p2.director.PlanExecutionHelper.executePlan(PlanExecutionHelper.java:23)
        at 
org.eclipse.equinox.internal.p2.director.app.DirectorApplication.executePlan(DirectorApplication.java:767)
        at 
org.eclipse.equinox.internal.p2.director.app.DirectorApplication.planAndExecute(DirectorApplication.java:760)
        at 
org.eclipse.equinox.internal.p2.director.app.DirectorApplication.performProvisioningActions(DirectorApplication.java:747)
        at 
org.eclipse.equinox.internal.p2.director.app.DirectorApplication.run(DirectorApplication.java:1040)
        at 
org.eclipse.equinox.internal.p2.director.app.DirectorApplication.start(DirectorApplication.java:1222)
        at 
org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
        at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
        at 
org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
        at 
org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
        at java.lang.reflect.Method.invoke(Unknown Source)
        at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
        at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
        at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
        at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
~~~

It's true, the file's not there, but that's because it seems like p2 didn't 
install it and we got to running checkCertificates on a file that wasn't yet 
installed. We're using platform 3.8.1.

I've seen this issue before and it appears to be a race, and depending on the 
OS it might not reproduce.

Has anyone else seen something like this?

Any pointers on where to start digging?

Cheers,
Carlos.
--
Carlos O'Donell
Mentor Graphics / CodeSourcery
[email protected]
[email protected]
+1 (613) 963 1026
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev
_______________________________________________
p2-dev mailing list
[email protected]
https://dev.eclipse.org/mailman/listinfo/p2-dev

Reply via email to