-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projectcustomer: alibabaengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.
Description
Thread merging on one engine after it has spawned from another could lead to multiple threads accessing shared resources from different engines.
Looks like a short term "fix" would be to create a new ExternalViewEmbedder that returns false to "SupportsDynamicThreadMerging" and crashes with an appropriate message. It looks like the best way to actually solve the issue is to share the RasterThreadMerger between the engines. The way it is implemented is that the external view embedder asks it if it is merged when a platform view is present, if not it merges it. So, the first engine that runs into a platform view will just merge it.
We should attempt a full fix if it becomes difficult we can just do the crash/message for now.
2ZeroSix, Timoteohss, iprox, xuweishun, nikzen and 2 more
Metadata
Metadata
Assignees
Labels
P3Issues that are less important to the Flutter projectIssues that are less important to the Flutter projectcustomer: alibabaengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.
