maandag, juni 04, 2007

Dark side of the moon

Yesterday I tried to jump from one moon to another.

I started out with the following environment:
  • Eclipse SDK 3.2.2
  • WST 1.5.2
  • Mylar 1.0.1
  • Subclipse 1.1.9
  • VE 1.2.1
  • CDT 3.1.1
I was planning to get to the latest RC of Europa but instead of downloading a full SDK and trying to get all individual additional features, I decided to give the Europa update site a try. I went into the Update Manager, added the update site, selected the latest versions of all my features (except VE and CDT) and started downloading.

But after a while... a dialog pops up saying: "An internal error occurred during: "Update Manager"". Uh-oh... Houston, we have a problem...

The Eclipse log contained two errors about "Unable to remove [...] from the file system." followed by "java.lang.SecurityException: SHA1 digest error for META-INF/eclipse.inf". Very similar to what has been reported in a very lonely EclipseZone thread.

I decided to close the dialog, restart Eclipse and try again.

Bad idea! Eclipse simply refused to start again. The log file was filled with "The bundle could not be resolved" messages. My Eclipse installation was dead. Sigh.

Now to be honest, I'm not sure whether upgrading from 3.2.x to 3.3.x using the Europa update site is supposed to work. I had my doubts about it but tried it anyway. And I got burnt. But what troubles me most is not the fact that the update failed, but that it failed in such a way that Eclipse was unable to restart.

Fortunately, downloading the 3.3 SDK and installing the other features through the update site did work as expected.

PS: I'll add a comment to bug 184151 which looks very similar to what I have seen. If you experience something similar, head over there.

5 opmerkingen:

  1. You should update Subclipse to 1.2.1. 1.2 is the GA stable release for Eclipse 3.2. The update manager does not show updates to the minor version by default which is probably why you did not know about it.

  2. With regards to the eclipse project,
    generally speaking, you can only update from release to maintenance releases in that same stream. So updating from 3.x to 3.y has not been supported in the past.

  3. Mark,
    Subclipse is certainly not the culprit because I have just tried the same upgrade scenario in a vanilla Eclipse 3.2.1 SDK (without any additional plug-ins) and the result is the same.
    Thanks for the tip about Subclipse anyway.

  4. Kim,
    It would have been nice if the Update Manager would actually prevent the havoc from happening.
    Thanks for the feedback.

  5. The Europa update site is not specified in the features of a Callisto download, so it does take some effort on the part of the user to expose this behaviour :-)

    If you are interested in the addressing some of the limitations of update manager, I would advise you to get involved with the various provisioning efforts at Eclipse such as Equinox provisioning