AggregateException when timeouts occur

Description

If a timeout occurs within the SDK, a result is set in the TaskCompletionSource and returned to the app. However, the SDK may still try to set a result using the same completion source and will cause an exception as a TCS can only have one result set.

To mitigate this, we should replace any SetResult / SetException call to the TCS with the TryXXX overload which does not throw an exception and only sets the result if one has not already been set.

Environment

None

Gerrit Reviews

None

Release Notes Description

None

Activity

Show:
Fixed
Pinned fields
Click on the next to a field label to start pinning.

Details

Assignee

Reporter

Labels

Story Points

Fix versions

Priority

Instabug

Open Instabug

PagerDuty

Sentry

Zendesk Support

Created September 9, 2019 at 1:07 PM
Updated April 24, 2020 at 8:22 PM
Resolved September 9, 2019 at 2:25 PM
Instabug