f2dfe3a8be
The async, off-stack part of DebuggerStackTrace::CollectAwaiterReturn's stack unwinding incorrectly looked on the stack instead of following the Closure's awaiter chain. This caused the async stack traces to be truncated and missing any async frames, in turn causing ShouldPauseOnException to incorrectly conclude no handler frame existing. This would affect any case where the exception handling was located around any except for the inner most awaiter. TEST=Added regression test to pause_on_unhandled_exceptions_catcherror_test Closes: https://github.com/dart-lang/sdk/issues/37953 Bug: https://github.com/dart-lang/sdk/issues/37953 Change-Id: I34a2b5ce3c7532032b2ef3dfbc2af7294d13a4c7 Cq-Do-Not-Cancel-Tryjobs: true Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/187405 Commit-Queue: Clement Skau <cskau@google.com> Reviewed-by: Daco Harkes <dacoharkes@google.com>