Menu

#2 DownloadWorkerPool.Download fails (intermittent)

v0.8.0.0
open
nobody
7
2008-06-03
2008-06-03
felixwatts
No

Somehow we enter DownloadWorkerPool.Download with an item that is already in the Item->Worker dictionary, which causes a 'duplicate key' exception. Seems to be a concurrency issue with multiple entry into this method. Needs more investigation.

Example call stack:

System.ArgumentException: An item with the same key has already been added.
at System.ThrowHelper.ThrowArgumentException(ExceptionResource resource)
at System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add)
at PodPuppy.DownloadWorkerPool.Download(Item item)
at PodPuppy.Item.Download()
at PodPuppy.Feed.StartNextDownload()
at PodPuppy.DownloadManager.StartNextDownload()
at PodPuppy.DownloadWorkerPool.worker_RunWorkerCompleted(Object sender, RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)

Discussion


Log in to post a comment.