Community
Participate
Working Groups
I get the following stack when I access a site with an invalid digest.zip. !ENTRY org.eclipse.equinox.p2.updatesite 4 0 2008-10-28 11:17:56.390 !MESSAGE Error reading site digest C:\DOCUME~1\SIMONK~1\LOCALS~1\Temp\digest5103 5.zip. !STACK 0 java.util.zip.ZipException: error in opening zip file at java.util.zip.ZipFile.open(Native Method) at java.util.zip.ZipFile.<init>(Unknown Source) at java.util.jar.JarFile.<init>(Unknown Source) at java.util.jar.JarFile.<init>(Unknown Source) at org.eclipse.equinox.internal.p2.updatesite.DigestParser.parse(DigestP arser.java:76) at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.loadFeaturesFro mDigest(UpdateSite.java:375) at org.eclipse.equinox.internal.p2.updatesite.UpdateSite.loadFeatures(Up dateSite.java:348) at org.eclipse.equinox.internal.p2.updatesite.RemoteFeaturesAction.perfo rm(RemoteFeaturesAction.java:41) at org.eclipse.equinox.internal.p2.updatesite.RemoteUpdateSiteAction.per form(RemoteUpdateSiteAction.java:43) at org.eclipse.equinox.p2.publisher.Publisher.publish(Publisher.java:134 ) at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadat aRepositoryFactory.generateMetadata(UpdateSiteMetadataRepositoryFactory.java:90) at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadat aRepositoryFactory.initializeRepository(UpdateSiteMetadataRepositoryFactory.java :77) at org.eclipse.equinox.internal.p2.updatesite.metadata.UpdateSiteMetadat aRepositoryFactory.load(UpdateSiteMetadataRepositoryFactory.java:54) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositor yManager.factoryLoad(MetadataRepositoryManager.java:54) at org.eclipse.equinox.internal.p2.core.helpers.AbstractRepositoryManage r.loadRepository(AbstractRepositoryManager.java:587) at org.eclipse.equinox.internal.p2.core.helpers.AbstractRepositoryManage r.loadRepository(AbstractRepositoryManager.java:552) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositor yManager.loadRepository(MetadataRepositoryManager.java:85) at org.eclipse.equinox.internal.provisional.p2.ui.QueryableMetadataRepos itoryManager.loadAll(QueryableMetadataRepositoryManager.java:140) at org.eclipse.equinox.internal.p2.ui.dialogs.DeferredFetchFilteredTree$ 9.run(DeferredFetchFilteredTree.java:384) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55) This particular error occured when we ended up downloading: http://andrei.gmxhome.de/eclipse/digest.zip Which return a 200 OK and then a 0 length zip file. -- The error message is a little harsh. We should do a few things here. 1) only try to download a digest.zip if the site.xml references it. 2) log a more minimal message 3) reference the URL from where we did the actual download instead of the temp location.
Is this a regression since 3.4?
No. This is one of those cases where the webserver doesn't give us a 404 so we log the error for a corrupt zip. The typical case where we get a 404 we handle correctly. We really should only look for a digest.zip if the site.xml references it in which case I think we would be covered for the most part but still we need to at least log the site that gave us the bad zip.
*** Bug 249308 has been marked as a duplicate of this bug. ***
*** Bug 222680 has been marked as a duplicate of this bug. ***
We at least need to improve the error message to show the source location. See also bug 228198 for not getting the digest.zip
Fixed in HEAD.