Community
Participate
Working Groups
When I tried to add the 3.5 integration builds update site, I got: org.eclipse.equinox.internal.provisional.p2.core.ProvisionException: Unable to read repository at file:/D:/eclipse/I0806/eclipse/p2/org.eclipse.equinox.p2.metadata.repository/cache/content1246609472.jar at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.read(MetadataRepositoryIO.java:74) at org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory.validateAndLoad(SimpleMetadataRepositoryFactory.java:116) at org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:85) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:485) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:451) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:435) at org.eclipse.equinox.internal.p2.director.SimplePlanner.updatesFor(SimplePlanner.java:384) at org.eclipse.equinox.internal.provisional.p2.ui.query.QueryableUpdates.query(QueryableUpdates.java:48) at org.eclipse.equinox.internal.provisional.p2.ui.actions.UpdateAction.getProvisioningPlan(UpdateAction.java:71) at org.eclipse.equinox.internal.provisional.p2.ui.actions.ProfileModificationAction$1.run(ProfileModificationAction.java:62) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121) Caused by: java.io.IOException: Fin de fichier prématurée. at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO$Parser.parse(MetadataRepositoryIO.java:198) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.read(MetadataRepositoryIO.java:56) ... 10 more using eclipse.buildId=I20080903-1200 java.fullversion=J2RE 1.6.0 IBM J9 2.4 Windows XP x86-32 jvmwi3260-20080415_18762 (JIT enabled, AOT enabled) J9VM - 20080415_018762_lHdSMr JIT - r9_20080415_1520 GC - 20080415_AA BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=fr_CA Command-line arguments: -os win32 -ws win32 -arch x86 -consolelog -console A second stack trace was also found in the .log file: java.io.IOException: Fin de fichier prématurée. at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO$Parser.parse(MetadataRepositoryIO.java:198) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryIO.read(MetadataRepositoryIO.java:56) at org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory.validateAndLoad(SimpleMetadataRepositoryFactory.java:116) at org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.SimpleMetadataRepositoryFactory.load(SimpleMetadataRepositoryFactory.java:85) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:485) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:451) at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:435) at org.eclipse.equinox.internal.p2.director.SimplePlanner.updatesFor(SimplePlanner.java:384) at org.eclipse.equinox.internal.provisional.p2.ui.query.QueryableUpdates.query(QueryableUpdates.java:48) at org.eclipse.equinox.internal.provisional.p2.ui.actions.UpdateAction.getProvisioningPlan(UpdateAction.java:71) at org.eclipse.equinox.internal.provisional.p2.ui.actions.ProfileModificationAction$1.run(ProfileModificationAction.java:62) at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
We need to look into this as part of our effort to improve error message.
I think the problem here is that a corrupt local cache will continue to fail as long as the cache file timestamp remains the same as the remote file. We should clear the local cache on read failure so that it will re-fetch the content on a subsequent read.
*** Bug 248667 has been marked as a duplicate of this bug. ***
Created attachment 125952 [details] Fix v01
Fixed in HEAD.