mirror of
https://github.com/dart-lang/sdk
synced 2024-11-02 12:24:24 +00:00
4551080062
Problem: We have been having a lot of reports of failures when initializing the incremental compiler (see https://github.com/dart-lang/sdk/issues/38102). These appear to be the result of empty kernel files but we have added other logic to check for that when kernel files are written, which has had zero reports of throwing from users (https://github.com/dart-lang/build/pull/2387). We also use the same mechanism for temp directory management as we did with analyzer, but only see this problem with the switch to kernel, and specifically the incremental compiler. Solution: Add retry logic and see if that fixes the problem. Any time there is a retry log a warning so that we don't just silently do retries all the time. This is a general defensive mechanism to cover a broad spectrum of potential failures with the incremental compiler in the wild. I don't intend to remove it as it isn't harmful, and the warning logs should be enough to encourage issues to be filed if it is happening often. I have no direct reason to believe this will actually solve the particular linked problem other than that we only see this issue when the incremental compiler is enabled. Bug: https://github.com/dart-lang/sdk/issues/39122, https://github.com/dart-lang/sdk/issues/38102 Change-Id: Iaabb4497d6da69684692c1d7b9c030c59ebc6072 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123001 Commit-Queue: Jake Macdonald <jakemac@google.com> Reviewed-by: Johnni Winther <johnniwinther@google.com> Auto-Submit: Jake Macdonald <jakemac@google.com> |
||
---|---|---|
.. | ||
analysis_server | ||
bazel | ||
compiler | ||
dart2native | ||
dartanalyzer | ||
dartdevc | ||
dartdoc | ||
dartfix | ||
dartfmt | ||
gen_kernel | ||
kernel-service | ||
peg | ||
pub | ||
tests/peg | ||
application_snapshot.gni | ||
compile_platform.gni | ||
create_timestamp.gni |