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

[web] integration_test and driver tests are flaky in CanvasKit + debug mode #147731

Closed
yjbanov opened this issue May 2, 2024 · 2 comments · Fixed by #151565
Closed

[web] integration_test and driver tests are flaky in CanvasKit + debug mode #147731

yjbanov opened this issue May 2, 2024 · 2 comments · Fixed by #151565
Assignees
Labels
P1 High-priority issues at the top of the work list platform-web Web applications specifically team-web Owned by Web platform team triaged-web Triaged by Web platform team

Comments

@yjbanov
Copy link
Contributor

yjbanov commented May 2, 2024

integration_test and flutter drive tests are flaky when running with --web-renderer=canvaskit --debug.

This is because there's an incompatibility between CanvasKit's and DDC's module loading systems. Both use requireJS, but there's a race that doesn't resolve cleanly.

Work is already underway on the Dart SDK side: dart-lang/sdk#55429.

This issue is for tracking the Flutter-side changes.

This issue will supersede #146189. The P0 will be solved by temporarily turning off --debug mode test shards.

@yjbanov yjbanov added platform-web Web applications specifically P1 High-priority issues at the top of the work list team-web Owned by Web platform team triaged-web Triaged by Web platform team labels May 2, 2024
auto-submit bot pushed a commit to flutter/engine that referenced this issue Jul 1, 2024
This changes CanvasKit and Skwasm to be compiled and loaded as ES6 modules instead of as vanilla script tags. Currently, the emscripten JS files try to register themselves with require.js or AMD module loading systems. We suspect this is causing issues (flutter/flutter#149565) with DDC's module loading system, which itself uses require.js.

This is probably also the fix for flutter/flutter#147731
@eyebrowsoffire
Copy link
Contributor

eyebrowsoffire commented Jul 1, 2024

flutter/engine#52023 landed, which I am fairly confident will eliminate the flakiness of these tests. Once that change rolls into the framework, I will look into re-enabling the debug integration tests.

auto-submit bot added a commit to flutter/engine that referenced this issue Jul 1, 2024
Reverts: #52023
Initiated by: eyebrowsoffire
Reason for reverting: Causing issues in engine -> framework roll flutter/flutter#151139
Original PR Author: eyebrowsoffire

Reviewed By: {ditman}

This change reverts the following previous change:
This changes CanvasKit and Skwasm to be compiled and loaded as ES6 modules instead of as vanilla script tags. Currently, the emscripten JS files try to register themselves with require.js or AMD module loading systems. We suspect this is causing issues (flutter/flutter#149565) with DDC's module loading system, which itself uses require.js.

This is probably also the fix for flutter/flutter#147731
@auto-submit auto-submit bot closed this as completed in 17584ab Jul 11, 2024
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 25, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
P1 High-priority issues at the top of the work list platform-web Web applications specifically team-web Owned by Web platform team triaged-web Triaged by Web platform team
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants