Throw errors happening in UpdateModsList() #2745
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problem
Since #2617 errors which are thrown during startup, that means in
UpdateModLists()
, are 'swallowed', and the GUI just stopps working and is stuck in a infinite loop-like state.#2617 changed the call of
_UpdateModsList()
to aTask
.Because the main thread waits for the Task to finish, but the Task in fact stopped executing if an error happened, CKAN is stuck.
Solution
Only if you add an
await
operator in front of Tasks (and thus anasync
in the method declaration) the errors are finally thrown in the main thread. This way CKAN crashes properly on fatal/not catched errors, and the stack trace and error message are shown to the user.