-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
[CP][stable channel] Fix regression due to Chrome breaking change #43287
Comments
Approved in SCRUM |
current expectation is that a stable Flutter (1.20) hotfix for this specific issue is not necessary - we will pick it up if we have a need for a 1.20 hotfix prior to 1.22. |
@pcsosinski - just to be clear, at the scum you mentioned that we only need this for flutter-beta, since this only affects flutter-web development with ddc but wont affect the rest of flutter. Did I misunderstand? |
ah sorry I've updated that comment to to say 'stable.' regarding beta, the branch we cut next week will be in beta the week of sept 14 - my understanding was that that timing fits for this issue? |
updated comment to say that a flutter hotfix is not necessary |
#43287 Change-Id: I2880455fdd0ec94d1fa6e037cf408f4ca3f05e65 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161943 Reviewed-by: Michael Thomsen <[email protected]>
#43287 Change-Id: I2880455fdd0ec94d1fa6e037cf408f4ca3f05e65 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/161943 Reviewed-by: Michael Thomsen <[email protected]>
Released in 2.9.3 (091c855). |
commit(s) to merge: e33f84d
merge instructions: clean merge
What is the issue: Chrome made a breaking change on
MemoryInfo
. This trips DDC, causing it to improperly associate regular objects as instances ofMemoryInfo
, and as a result applications fail in arbitraty ways when performing a dynamic call.What is the fix:
MemoryInfo
is a special type that is not exposed by Chrome, so DDC has special logic to associate its type information on the side. The fix updates the logic to be resilient to this breaking change.Why cherrypick: This will be a very visible regression. The breaking change is currently in Chrome canary, once it gets released, this is likely going to break most Dart web development workflows. We've seen this break simple AngularDart apps, and expect this will affect Flutter Web development as well.
Luckily, production builds with dart2js are not affected, unless they run side-by-side with a DDC app, in which case the fix will also restore dart2js to work properly.
This should be cherry-picked to the current stable channel 2.9, be part of the upcoming beta and stable release. If we have the ability, I'd even consider cherry-picking 2.8, if not we should send an announcement with some mitigation instructions.
Risk: low. The change is small (2 lines) and works with both old and new versions of chrome. The code path is covered by all of our unit tests running in chrome browsers already.
Link to original issue(s): #43193
/cc @dgrove @kevmoo @mit-mit @whesse @athomas @vsmenon @franklinyow
The text was updated successfully, but these errors were encountered: