Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dart -> Engine roll failing on curves_test.dart framework test #85819

Closed
zanderso opened this issue Jul 3, 2021 · 8 comments
Closed

Dart -> Engine roll failing on curves_test.dart framework test #85819

zanderso opened this issue Jul 3, 2021 · 8 comments
Labels
dependency: dart Dart team may need to help us engine flutter/engine repository. See also e: labels. P0 Critical issues such as a build break or regression platform-web Web applications specifically

Comments

@zanderso
Copy link
Member

zanderso commented Jul 3, 2021

Beginning with the roll here flutter/engine#27147, the "Linux Web Framework tests" shard is failing in two unit tests in test/animation/curves_test.dart with logs here:

https://logs.chromium.org/logs/flutter/buildbucket/cr-buildbucket.appspot.com/8842764646495958752/+/u/run_test.dart_for_web_tests_shard_and_subshard_2/stdout?format=raw

/cc @yjbanov @bdero

@zanderso zanderso added engine flutter/engine repository. See also e: labels. dependency: dart Dart team may need to help us platform-web Web applications specifically P1 labels Jul 3, 2021
@bdero
Copy link
Member

bdero commented Jul 3, 2021

Yikes, this roller isn't sending emails to the Sheriff when it fails.

@zanderso
Copy link
Member Author

zanderso commented Jul 3, 2021

Yikes, this roller isn't sending emails to the Sheriff when it fails.

/cc @rmistry

@bdero
Copy link
Member

bdero commented Jul 3, 2021

Bisected this with:

flutter test --platform=chrome --web-renderer=html --sound-null-safety --local-engine-src-path ~/projects/flutter/engine/src --local-engine=host_debug_unopt --name="Elastic overshoots its bounds" test/animation/curves_test.dart
f860b70c98d03b454eb0ad2fba70e4e2c9641a6f - known good - PASS
d25fdc43ba4aa9d94f0909699a846b857e92186a - link error
3f3c15e954e4c77e8885bb5c72d0aeed3235323c - link error
9371fd9fc8057201a6862e4a2726c8fffcea3afa - link error; with revert aa9201b: PASS
606a1e76be516f91a5676aba29326ea5bfbd65c3 - link error; with revert aa9201b: PASS
926028460196ef367c6f9106e39d4f2a3bb2ec6a - link error; with revert aa9201b: FAIL
42164cc140f860500503ee052e2c72e97a01bd61 - FAIL
cf63eaed4de3537e2b7d9287d042585e8e2333c5
c133aa8660d925279dd1460ecf990d46a595421e
5ae4d897ebb4574b9d96b69a3ee8eb0e777fc7c7
6a388eafc7fcf30e463d1602dec0a947fc79c2e4
c4c7ef5e7d55190edc1cc14e7843d0ccdd702ae4
26def2f44eecb8a897ec80d63550124856a5564c - FAIL
04fa87d6620ce869707cb87fa9ea1f14ec89c54d
2c48cf7f3d5611c5f8b31db41e0f46a2b405e33c
2362cd5508b7d74e40e29b5274bcc92ae445e2b7
1fc981645d9da796f0eaa42bee932aa5cedddbf5
4a8bdc3952a0e1b8aa3f51acf1b5f27706579eb4
c7f752ba23f773600e624b1c9e6b7f3b045c80ad
44d5de10157fc23f2430f43c2e325c8e10a92b38
66ec44c5f01a70979b2c53d150666f79f9a1dfd7
38c1d4aaf840900d85272f89af01f4ec8973c0df
930895e8a24cba7c1eed0b7e1722e98d6278a723
f407419d0a43a50132e38fb22d47cf132e7f0d23
6058012cc00735f22cb0e9b5379c2b8e4a2d0d52
c3d9b3116e92ab15c7c7d1f433bfb8e69872d7a5 - known bad - FAIL

So it starts failing here: https://dart-review.googlesource.com/c/sdk/+/205648

I'm not entirely sure what's going wrong, but from a little testing, there may be a new type coercion issue with generic higher order functions in dart2js or similar.
For example: The test passes with an unraveled reduce.

    // Broken
    return <double>[
      values.reduce(math.min),
      values.reduce(math.max),
    ];

    // Works
    double mi = 0, ma = 0;
    values.forEach((v) {
      mi = math.min(mi, v);
      ma = math.max(ma, v);
    });
    return <double>[mi, ma];

@zanderso
Copy link
Member Author

zanderso commented Jul 3, 2021

/cc @johnniwinther

@zanderso
Copy link
Member Author

zanderso commented Jul 3, 2021

Revert is at https://dart-review.googlesource.com/c/sdk/+/205961

Nice work on the investigation @bdero.

dart-bot pushed a commit to dart-lang/sdk that referenced this issue Jul 3, 2021
…t experiment"

This reverts commit 9260284.

Reason for revert: Blocking the Dart -> Flutter roll, see:
flutter/flutter#85819

Original change's description:
> [cfe] Perform eager canonicalization of instantiations without experiment
>
> Change-Id: Ic83e98b0516e0a92b6113b7ad3f14b0a327fdaba
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205648
> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
> Commit-Queue: Johnni Winther <johnniwinther@google.com>

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: If37d6593869d6813cce4c93c5a1a8b6e020d815e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/205961
Reviewed-by: Zach Anderson <zra@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
@rmistry
Copy link

rmistry commented Jul 3, 2021

Yikes, this roller isn't sending emails to the Sheriff when it fails.

/cc @rmistry

It is setup here to send emails to dart-vm-team@google.com
Looks like it has sent emails there.

@bdero
Copy link
Member

bdero commented Jul 4, 2021

Roller is happy :) flutter/engine#27161

Let's add the engine rotation to the list of reviewers, since we're in a good position to help triage issues with rolls into the engine like the one that happened here. PR: https://skia-review.googlesource.com/c/buildbot/+/424458

@github-actions
Copy link

This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 30, 2021
@flutter-triage-bot flutter-triage-bot bot added P0 Critical issues such as a build break or regression and removed P1 labels Jun 28, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
dependency: dart Dart team may need to help us engine flutter/engine repository. See also e: labels. P0 Critical issues such as a build break or regression platform-web Web applications specifically
Projects
None yet
Development

No branches or pull requests

3 participants