flickr-downloadr / flickr-downloadr-gtk

A cross-platform desktop app, written in Mono that would download (all or selected) photos from your photostream in their selected size along with their description, title and tags.
https://flickrdownloadr.com/
MIT License
177 stars 41 forks source link

Unhandled Exception: 503 #97

Open naftulikay opened 5 years ago

naftulikay commented 5 years ago

I'm on Ubuntu 16.04 Xenial using the latest 3.2.0.1 and when I run it, at some point the entire program dies leaving this stacktrace:

Unhandled Exception:
System.Net.WebException: The remote server returned an error: (502) Bad Gateway.
  at System.Net.HttpWebRequest.EndGetResponse (IAsyncResult asyncResult) <0x40ad8590 + 0x0019f> in <filename unknown>:0
  at System.Threading.Tasks.TaskFactory`1[TResult].FromAsyncCoreLogic (IAsyncResult iar, System.Func`2 endFunction, System.Action`1 endAction, System.Threading.Tasks.Task`1 promise, Boolean requiresSynchronization) <0x7f4f1d88e4f0 + 0x00088> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () <0x7f4f1d7ff8d0 + 0x00017> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.OAuth.OAuthManager+<MakeAuthenticatedRequestAsync>d__17.MoveNext () <0x40a729c0 + 0x0021a> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () <0x7f4f1d7ff8d0 + 0x00017> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.Logic.OriginalTagsLogic+<GetOriginalTagsTask>d__2.MoveNext () <0x40b86a20 + 0x00323> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter`1[TResult].GetResult () <0x7f4f1d7ff8d0 + 0x00017> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.Logic.DownloadLogic+<DownloadPhotos>d__5.MoveNext () <0x40b84d60 + 0x009c7> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () <0x7f4f1d7ff5c0 + 0x00012> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.Logic.DownloadLogic+<Download>d__4.MoveNext () <0x40b84470 + 0x001d2> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () <0x7f4f1d7ff5c0 + 0x00012> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.Presentation.LandingPresenter+<DownloadAlbums>d__19.MoveNext () <0x40b7c510 + 0x00d3a> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () <0x7f4f1d7ff5c0 + 0x00012> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.Presentation.LandingPresenter+<DownloadSelection>d__10.MoveNext () <0x40b7bc50 + 0x002ae> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess (System.Threading.Tasks.Task task) <0x7f4f1d7ff6b0 + 0x000a7> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification (System.Threading.Tasks.Task task) <0x7f4f1d7ff630 + 0x0006b> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd (System.Threading.Tasks.Task task) <0x7f4f1d7ff5e0 + 0x0003a> in <filename unknown>:0
  at System.Runtime.CompilerServices.TaskAwaiter.GetResult () <0x7f4f1d7ff5c0 + 0x00012> in <filename unknown>:0
  at FloydPink.Flickr.Downloadr.UI.Windows.LandingWindow+<buttonDownloadSelectionClick>d__95.MoveNext () <0x40b7b540 + 0x00201> in <filename unknown>:0
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw () <0x7f4f1d8016d0 + 0x00029> in <filename unknown>:0
  at System.Runtime.CompilerServices.AsyncMethodBuilderCore.<ThrowAsync>m__1 (System.Object state) <0x7f4f1d7feee0 + 0x00041> in <filename unknown>:0
  at System.Threading.QueueUserWorkItemCallback.WaitCallback_Context (System.Object state) <0x7f4f1d8b5720 + 0x00048> in <filename unknown>:0
  at System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) <0x7f4f1d8af850 + 0x0016e> in <filename unknown>:0
  at System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext executionContext, System.Threading.ContextCallback callback, System.Object state, Boolean preserveSyncCtx) <0x7f4f1d8af820 + 0x00020> in <filename unknown>:0
  at System.Threading.QueueUserWorkItemCallback.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem () <0x7f4f1d8b56b0 + 0x00053> in <filename unknown>:0
  at System.Threading.ThreadPoolWorkQueue.Dispatch () <0x7f4f1d8b3cc0 + 0x001d6> in <filename unknown>:0
  at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback () <0x7f4f1d8b5530 + 0x00008> in <filename unknown>:0

I assume this is a temporary 503 on behalf of Flickr, but is there a way to build in retry logic so I don't lose my whole (~20GiB) sync?

cutedaffodil commented 5 years ago

This is a good feature but it is not planned for development at this point - you (or someone else) are welcome to create a PR that incorporates this