Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 312005

Summary: error dialog displayed when verification is cancelled
Product: [Technology] MPC Reporter: Steffen Pingel <steffen.pingel>
Component: wizardAssignee: Project Inbox <mpc.wizard-inbox>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3    
Version: unspecified   
Target Milestone: 1.0.0   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 313585    
Bug Blocks:    
Attachments:
Description Flags
screenshot
none
mylyn/context/zip none

Description Steffen Pingel CLA 2010-05-07 01:56:19 EDT
I clicked on the Installed tab in the MPC wizard and got an error when I cancelled the operation that was triggered (see screenshot).
Comment 1 Steffen Pingel CLA 2010-05-07 01:57:32 EDT
Created attachment 167431 [details]
screenshot
Comment 2 David Green CLA 2010-05-19 13:59:19 EDT
this problem is related to how errors are propagated by ECF:

pre. org.eclipse.core.runtime.CoreException: Cannot complete request to http://marketplace.eclipse.org/recent/api/p?os=macosx&client=org.eclipse.epp.mpc.core&java.version=1.6.0_17&ws=cocoa: Cancelled by user
	at org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService.processRequest(DefaultMarketplaceService.java:422)
	at org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService.processRequest(DefaultMarketplaceService.java:328)
	at org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService.recent(DefaultMarketplaceService.java:248)
	at org.eclipse.epp.internal.mpc.core.service.CachingMarketplaceService$5.doSearch(CachingMarketplaceService.java:161)
	at org.eclipse.epp.internal.mpc.core.service.CachingMarketplaceService.performSearch(CachingMarketplaceService.java:120)
	at org.eclipse.epp.internal.mpc.core.service.CachingMarketplaceService.recent(CachingMarketplaceService.java:158)
	at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceDiscoveryStrategy.recent(MarketplaceDiscoveryStrategy.java:298)
	at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog$2.run(MarketplaceCatalog.java:78)
	at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog.performDiscovery(MarketplaceCatalog.java:316)
	at org.eclipse.epp.internal.mpc.ui.catalog.MarketplaceCatalog.recent(MarketplaceCatalog.java:76)
	at org.eclipse.epp.internal.mpc.ui.wizards.MarketplaceViewer$3.run(MarketplaceViewer.java:244)
	at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:121)
Caused by: java.io.IOException: Cancelled by user
	at org.eclipse.equinox.internal.p2.repository.FileReader$1.checkException(FileReader.java:260)
	at org.eclipse.equinox.internal.p2.repository.FileReader$1.close(FileReader.java:215)
	at org.eclipse.epp.internal.mpc.core.service.DefaultMarketplaceService.processRequest(DefaultMarketplaceService.java:417)
	... 11 more
Caused by: org.eclipse.ecf.filetransfer.UserCancelledException: Cancelled by user
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.newUserCancelledException(AbstractRetrieveFileTransfer.java:431)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.setDoneCanceled(AbstractRetrieveFileTransfer.java:461)
	at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientRetrieveFileTransfer.cancel(HttpClientRetrieveFileTransfer.java:349)
	at org.eclipse.equinox.internal.p2.repository.FileReader.handleTransferEvent(FileReader.java:165)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.fireTransferReceiveDataEvent(AbstractRetrieveFileTransfer.java:377)
	at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientRetrieveFileTransfer.fireTransferReceiveDataEvent(HttpClientRetrieveFileTransfer.java:1143)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.handleReceivedData(AbstractRetrieveFileTransfer.java:277)
	at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer$1.performFileTransfer(AbstractRetrieveFileTransfer.java:162)
	at org.eclipse.ecf.filetransfer.FileTransferJob.run(FileTransferJob.java:74)
	at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
	
I've modified exception handling to look for @org.eclipse.ecf.filetransfer.UserCancelledException@ so that we can provide an IStatus with severity CANCEL

In some (hopefully rare) cases we can still experience an exception dialog if the XML parser throws a SAXException instead of an IOException.  Please reopen if the problem persists.
Comment 3 David Green CLA 2010-05-19 13:59:22 EDT
Created attachment 169165 [details]
mylyn/context/zip