You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When Finalizers and NativeFinalizers are used in Flutter (and dart with --use-compactor), the GC can crash.
What is the fix
Flush the store buffer during GC to account for write to the store buffer during the GC.
Why cherry-pick
When Finalizers or NativeFinalizers are used in Flutter apps, those apps can crash.
Without the fix, developers have to work around this by allocating a new Finalizer or NativeFinalizer for every attachment. But we have no way of communicating that to all developers trying out finalizers.
Based on an offline discussion with @mit-mit and @mraleph we're treating this as approved and will prepare a beta build with this CP. We can still decide not to publish this.
Commit(s) to merge
78f218e
Target
stable
Issue Description
When
Finalizer
s andNativeFinalizer
s are used in Flutter (anddart
with--use-compactor
), the GC can crash.What is the fix
Flush the store buffer during GC to account for write to the store buffer during the GC.
Why cherry-pick
When
Finalizer
s orNativeFinalizer
s are used in Flutter apps, those apps can crash.Without the fix, developers have to work around this by allocating a new
Finalizer
orNativeFinalizer
for every attachment. But we have no way of communicating that to all developers trying out finalizers.Risk
low
Issue link(s)
#48843
Extra Info
This is a 4 line fix:
https://dart-review.googlesource.com/c/sdk/+/243262/12/runtime/vm/heap/marker.cc
https://dart-review.googlesource.com/c/sdk/+/243262/12/runtime/vm/thread.cc
The rest is tests/logging.
@mraleph @rmacnak-google Would you consider this a low risk cherry pick?
cc @mkustermann
The text was updated successfully, but these errors were encountered: