Skip to main content

Notice: This Wiki is now read only and edits are no longer possible. Please see: for the plan.

Jump to: navigation, search

Modeling Project Releng/Releasing/Update Site Generation/Troubleshooting

< Modeling Project Releng‎ | Releasing‎ | Update Site Generation
Revision as of 18:13, 18 February 2009 by Unnamed Poltroon (Talk) (Still a problem?)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Some p2 repo points to missing jars!

So, you're building something based on a p2 repo (Eclipse 3.4+ update site w/ p2 metadata) and are getting errors about missing jars?

!MESSAGE Provisioning exception
org.eclipse.equinox.internal.provisional.p2.core.ProvisionException: Could not connect to
  at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.parseFeature( 


For some reason, an old build has been removed from the combined update site, but the p2 metadata has not been refreshed. Or, the jar has been deleted but a reference to it remains in the category.xml files from which the site.xml is aggregated. In either case, you need to:


If you're unsure what you're about to do, back up the update site first before working on it.

cp -r /home/data/httpd/ /home/data/httpd/

Next, to see how the command works:

cd /opt/public/modeling/releng-common/tools/scripts

To check for missing jars:

./ /home/data/httpd/

To preview changes that will be done should missing jars be found:

./ -d -p /home/data/httpd/

To actually delete files, clean up site*.xml, and regenerate p2 metadata (each step will require confirmation):

./ -d -E /home/data/httpd/

If building locally on, changes should be more or less immediate. If building remotely (eg., accessing the metadata via or from a mirror), wait at least 30-60 mins for replication to complete.

Finally, and this is very important, make sure you fix permissions on the newly created/edited files and folders, eg:


cd /home/data/httpd/
chgrp *
ls -la

If you get permission denied errors, that's OK, as long as the files in the dir are all set to the correct group and are group-writeable (eg., -rw-rw-r-- or drwxrwxr-x)

Still a problem?

You may discover that some feature which on the update site includes the missing feature. So, when the p2 metadata is generated, p2 will scrape the list of features from the site.xml, then check each one's feature.xml for contained feature references. In the example above, Transaction's org.eclipse.emf.emfqtv.all.sdk_1.2.3.v200810041753-3539-FFBRDMVOp5jnPbgRbDUVz0G.jar feature references the missing validation feature jar thus:


In this case, the solution may be to remove the old milestone build from the update site entirely, and to regenerate the p2 metadata.

If you've broken an aggregation build (Ganymede, Galileo) you may want to spin a new Release build so that your contribution to those aggregate builds comes from a more complete update site, namely, the /updates/releases/ site instead of the /updates/milestones/ one.

I can't see my jars!

I just took a look at my promote log, and it seems everything went OK. However, I can't see my jars promoted to What happened?


  • Check the log -- yes, no obvious problems like "permission denied" or "failed" or "could not".
[java] ERROR [0035] : No suitable provider for component (...) was found in searchPath org.eclipse.emft-search-sc
[java] ERROR [0035] : Rejecting provider site.feature(${downloads}/modeling/emft/updates/interim/site-ganymede.xml): 
   No component match was found

... for these missing features:[0.7.0.v200805020316,0.7.0.v200805020316]#OSGi[0.7.0.v200805020316,0.7.0.v200805020316]#OSGi[0.7.0.v200805020316,0.7.0.v200805020316]#OSGi[0.7.0.v200805020316,0.7.0.v200805020316]#OSGi[0.7.0.v200805020316,0.7.0.v200805020316]#OSGi

If you intend to build from HEAD and have already enabled forceContextQualifier in your buildAll.xml, it looks like the problem is that only ONE feature jar was added. Checking the site.xml, we see that in fact only the examples feature was added.

Why? Because your promoteToEclipse.*.properties file is not using the new signed Master zip as input to the site generation script.

How do I fix this?

ssh "
  cd /var/www/html/modeling/emft/updates/interim; 
  rm -fr emft-search-0.7-I_r0; 
  mv emft-search-0.7-I_r1 emft-search-0.7-I_r0; 
  mv emft-search-0.7-I_r2 emft-search-0.7-I_r1;
ssh "
  cd /home/data/httpd/; 
  rm -fr emft-search-0.7-I_r0; 
  mv emft-search-0.7-I_r1 emft-search-0.7-I_r0; 
  mv emft-search-0.7-I_r2 emft-search-0.7-I_r1;
  • Rerun the last site update:
ssh "
  cd /home/www-data/build/modeling/scripts; 
  ./ -sub search -Q -jarsonly -branch 0.7.0 -buildID I200805020316 -coordsite ganymede
  -> click Cruise Control 
    -> click the "Force Build" icon on the right-hand side of the ganymatic-R3.0-I status line

Back to the top