-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
flutter/engine
#41490Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: flakeTests that sometimes, but not always, incorrectly passTests that sometimes, but not always, incorrectly passe: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.
Description
While investigating #125147 we found there is another source of flake. This results because of a timing issue of deleting the ContextVk while the test is running. @chinmaygarde and I saw that adding a 10ms sleep in the destructor of ~ContextVK removes the flake. IdleWait isn't synchronizing like I would have expected.
steps to reproduce
./out/host_debug_unopt_arm64/impeller_unittests --gtest_filter="*CanDrawImage/Vulkan" --gtest_repeat=1000
stacktrace
(lldb) bt
* thread #1, queue = 'com.apple.main-thread', stop reason = signal SIGABRT
* frame #0: 0x00000001a9f78724 libsystem_kernel.dylib`__pthread_kill + 8
frame #1: 0x00000001a9fafc28 libsystem_pthread.dylib`pthread_kill + 288
frame #2: 0x00000001a9ebdae8 libsystem_c.dylib`abort + 180
frame #3: 0x00000001150dd088 libvulkan.1.3.243.dylib`vkFreeCommandBuffers.cold.1 + 24
frame #4: 0x00000001150ca3f8 libvulkan.1.3.243.dylib`vkFreeCommandBuffers + 64
frame #5: 0x0000000102aad840 impeller_unittests`void impeller::vk::PoolFree<impeller::vk::Device, impeller::vk::CommandPool, impeller::vk::DispatchLoaderDynamic>::destroy<impeller::vk::CommandBuffer>(impeller::vk::CommandBuffer) [inlined] void impeller::vk::Device::free<impeller::vk::DispatchLoaderDynamic>(this=0x0000600001735460, commandPool=(m_commandPool = 0x000000010f0e5400), commandBuffers=0x000000016fdfca68, d=0x00000001044787b0) const at vulkan_funcs.hpp:3456:5
frame #6: 0x0000000102aad760 impeller_unittests`void impeller::vk::PoolFree<impeller::vk::Device, impeller::vk::CommandPool, impeller::vk::DispatchLoaderDynamic>::destroy<impeller::vk::CommandBuffer>(this=0x0000600001735460, t=(m_commandBuffer = 0x000000010e7b3248)) at vulkan.hpp:5634:9
frame #7: 0x0000000102aadb24 impeller_unittests`impeller::vk::UniqueHandle<impeller::vk::CommandBuffer, impeller::vk::DispatchLoaderDynamic>::~UniqueHandle(this=0x0000600001735460) at vulkan.hpp:1224:15
frame #8: 0x0000000102aac1c8 impeller_unittests`impeller::vk::UniqueHandle<impeller::vk::CommandBuffer, impeller::vk::DispatchLoaderDynamic>::~UniqueHandle(this=0x0000600001735460) at vulkan.hpp:1221:5
frame #9: 0x0000000102abbe60 impeller_unittests`impeller::SharedObjectVKT<impeller::vk::CommandBuffer>::~SharedObjectVKT(this=0x0000600001735458) at shared_object_vk.h:20:7
frame #10: 0x0000000102abbc68 impeller_unittests`impeller::SharedObjectVKT<impeller::vk::CommandBuffer>::~SharedObjectVKT(this=0x0000600001735458) at shared_object_vk.h:20:7
frame #11: 0x0000000102abb94c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_ptr_emplace<impeller::SharedObjectVKT<impeller::vk::CommandBuffer>, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > >::__on_zero_shared(this=0x0000600001735440) at shared_ptr.h:311:24
frame #12: 0x00000001000292c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_count::__release_shared[abi:v15000](this=0x0000600001735440) at shared_ptr.h:174:9
frame #13: 0x000000010002922c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_weak_count::__release_shared[abi:v15000](this=0x0000600001735440) at shared_ptr.h:215:27
frame #14: 0x0000000102acbafc impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >::~shared_ptr[abi:v15000](this=0x0000600000c51100) at shared_ptr.h:702:23
frame #15: 0x0000000102ab9fb0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >::~shared_ptr[abi:v15000](this=0x0000600000c51100) at shared_ptr.h:700:5
frame #16: 0x0000000102ac8c5c impeller_unittests`void std::_LIBCPP_ABI_NAMESPACE::allocator_traits<std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::__tree_node<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, void*> > >::destroy[abi:v15000]<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, void, void>((null)=0x0000600003006598, __p=0x0000600000c51100) at allocator_traits.h:319:15
frame #17: 0x0000000102ac8b24 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__tree<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, std::_LIBCPP_ABI_NAMESPACE::less<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > > >::destroy(this=0x0000600003006590, __nd=0x0000600000c510e0) at __tree:1799:9
frame #18: 0x0000000102ac8a64 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__tree<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, std::_LIBCPP_ABI_NAMESPACE::less<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > > >::~__tree(this=0x0000600003006590) at __tree:1787:3
frame #19: 0x0000000102ac89f8 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__tree<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, std::_LIBCPP_ABI_NAMESPACE::less<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > > >::~__tree(this=0x0000600003006590) at __tree:1784:1
frame #20: 0x0000000102ac8998 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::set<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, std::_LIBCPP_ABI_NAMESPACE::less<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > > >::~set[abi:v15000](this=0x0000600003006590) at set:676:5
frame #21: 0x0000000102ab9484 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::set<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, std::_LIBCPP_ABI_NAMESPACE::less<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> > > >::~set[abi:v15000](this=0x0000600003006590) at set:674:12
frame #22: 0x0000000102ab940c impeller_unittests`impeller::CommandPoolVK::~CommandPoolVK(this=0x0000600003006520) at command_pool_vk.cc:85:31
frame #23: 0x0000000102ab9544 impeller_unittests`impeller::CommandPoolVK::~CommandPoolVK(this=0x0000600003006520) at command_pool_vk.cc:85:31
frame #24: 0x0000000102ac11c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::default_delete<impeller::CommandPoolVK>::operator(this=0x000060000024f298, __ptr=0x0000600003006520)[abi:v15000](impeller::CommandPoolVK*) const at unique_ptr.h:48:5
frame #25: 0x0000000102ac0d6c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_ptr_pointer<impeller::CommandPoolVK*, std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::CommandPoolVK>::__shared_ptr_default_delete<impeller::CommandPoolVK, impeller::CommandPoolVK>, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::CommandPoolVK> >::__on_zero_shared(this=0x000060000024f280) at shared_ptr.h:263:5
frame #26: 0x00000001000292c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_count::__release_shared[abi:v15000](this=0x000060000024f280) at shared_ptr.h:174:9
frame #27: 0x000000010002922c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_weak_count::__release_shared[abi:v15000](this=0x000060000024f280) at shared_ptr.h:215:27
frame #28: 0x0000000100466a54 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::CommandPoolVK>::~shared_ptr[abi:v15000](this=0x000000016fdfd0a8) at shared_ptr.h:702:23
frame #29: 0x00000001004658a0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::CommandPoolVK>::~shared_ptr[abi:v15000](this=0x000000016fdfd0a8) at shared_ptr.h:700:5
frame #30: 0x0000000102ab84c4 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::CommandPoolVK>::operator=[abi:v15000](this=0x000060000173a028, __r=0x000000016fdfd160) at shared_ptr.h:708:9
frame #31: 0x0000000102ab7e20 impeller_unittests`impeller::CommandPoolVK::GetThreadLocal(context=0x000000010e7aa680) at command_pool_vk.cc:44:21
frame #32: 0x0000000102ad82cc impeller_unittests`impeller::ContextVK::CreateGraphicsCommandEncoder(this=0x000000010e7aa680) const at context_vk.cc:478:19
frame #33: 0x0000000102ad8194 impeller_unittests`impeller::ContextVK::CreateCommandBuffer(this=0x000000010e7aa680) const at context_vk.cc:401:18
frame #34: 0x0000000102ba7d3c impeller_unittests`impeller::TextureVK::OnSetContents(this=0x00006000030062f8, contents="hhh\xffuuu\xffttt\xffooo\xffsss\xffqqq\xfflll\xffqqq\xffqqq\xffppp\xffqqq\xffrrr\xffrrr\xffqqq\xffttt\xffxxx\xffqqq\xff\x83\x83\x83\xff\x82\x82\x82\xffrrr\xffppp\xffzzz\xff~~~\xff}}}\xff|||\xffxxx\xffzzz\xff\x80\x80\x80\xff\U0000007f\U0000007f\U0000007f\xff{{{\xff|||\xff\x81\x81\x81\xff\x80\x80\x80\xff\x82\x82\x82\xff\x82\x82\x82\xff\x8e\x8e\x8e\xff\x89\x89\x89\xff\x86\x86\x86\xff\x8e\x8e\x8e\xff~~~\xff\x81\x81\x81\xff\x8a\x8a\x8a\xff\x8f\x8f\x8f\xff\x8b\x8b\x8b\xff\x86\x86\x86\xff\x87\x87\x87\xff\x8b\x8b\x8b\xff\x8d\x8d\x8d\xff\x8e\x8e\x8e\xff\x96\x96\x96\xff\x91\x91\x91\xff\x8f\x8f\x8f\xff\x8a\x8a\x8a\xff\x88\x88\x88\xff\x93\x93\x93\xff\x93\x93\x93\xff\x90\x90\x90\xff\x92\x92\x92\xff\x96\x96\x96\xff\x95\x95\x95\xff\x93\x93\x93\xff\x9b\x9b\x9b\xff\xa1\xa1\xa1\xff\x9d\x9d\x9d\xff\x9f\x9f\x9f\xff\x9f\x9f\x9f\xff\x9a\x9a\x9a\xff\xa0\xa0\xa0\xff\xa0\xa0\xa0\xff\x99\x99\x99\xff\x9e\x9e\x9e\xff\x9f\x9f\x9f\xff\x96\x96\x96\xff\x96\x96\x96\xff\x9a\x9a\x9a\xff\x98\x98\x98\xff\x93\x93\x93\xff\x9b\x9b\x9b\xff\xa8\xa8\xa8\xff\xab\xab\xab\xff\xa1\xa1\xa1\xff\x96\x96\x96\xff\xa1\xa1\xa1\xff\xa0\xa0\xa0\xff\xa8\xa8\xa8\xff\xa5\xa5\xa5\xff\x8f\x8f\x8f\xff\xa6\xa6\xa6\xff\xa1\xa1\xa1\xff\x9f\x9f\x9f\xff\xa0\xa0\xa0\xff\xa4\xa4\xa4\xff\xa5\xa5\xa5\xff\xa2\xa2\xa2\xff\xa0\xa0\xa0\xff\xa1\xa1\xa1\xff\xa2\xa2\xa2\xff\x9f\x9f\x9f\xff\x9f\x9f\x9f\xff\xa2\xa2\xa2\xff\xa1\xa1\xa1\xff\x9c\x9c\x9c\xff\x9f\x9f\x9f\xff\xa6\xa6\xa6\xff\x9c\x9c\x9c\xff\xaa\xaa\xaa\xff\xa5\xa5\xa5\xff\xa7\xa7\xa7\xff\xa4\xa4\xa4\xff\x9e\x9e\x9e\xff\xa9\xa9\xa9\xff\xa2\xa2\xa2\xff\xa5\xa5\xa5\xff\xa5\xa5\xa5\xff\xa3\xa3\xa3\xff\xa0\xa0\xa0\xff\xa2\xa2\xa2\xff\xa6\xa6\xa6\xff\xa7\xa7\xa7\xff\xa5\xa5\xa5\xff\xa4\xa4\xa4\xff\xa6\xa6\xa6\xff\x9a\x9a\x9a\xff\xa5\xa5\xa5\xff\xad\xad\xad\xff\xa4\xa4\xa4\xff\xaa\xaa\xaa\xff\xab\xab\xab\xff\xb1\xb1\xb1\xff\xa7\xa7\xa7\xff\xba\xba\xba\xff\xb1\xb1\xb1\xff\x9e\x9e\x9e\xff\xa5\xa5\xa5\xff\xa6\xa6\xa6\xff\xa6\xa6\xa6\xff\xb8\xb8\xb8\xff\xae\xae\xae\xff\xac\xac\xac\xff\xaf\xaf\xaf\xff\xa9\xa9\xa9\xff\xa5\xa5\xa5\xff\xa9\xa9\xa9\xff\xab\xab\xab\xff\xa8\xa8\xa8\xff\xa6\xa6\xa6\xff\xb1\xb1\xb1\xff\xb3\xb3\xb3\xff\xb0\xb0\xb0\xff\xac\xac\xac\xff\xa7\xa7\xa7\xff\xaf\xaf\xaf\xff\xa9\xa9\xa9\xff\xa5\xa5\xa5\xff\xaa\xaa\xaa\xff\xb6\xb6\xb6\xff\xac\xac\xac\xff\xa6\xa6\xa6\xff\xb3\xb3\xb3\xff\xb3\xb3\xb3\xff\xaf\xaf\xaf\xff\xb1\xb1\xb1\xff\xaa\xaa\xaa\xff\xae\xae\xae\xff\xa8\xa8\xa8\xff\xb1\xb1\xb1\xff\xa5\xa5\xa5\xff\xa0\xa0\xa0\xff\xab\xab\xab\xff\xa9\xa9\xa9\xff\xad\xad\xad\xff\xb6\xb6\xb6\xff\xba\xba\xba\xff\xb7\xb7\xb7\xff\xb7\xb7\xb7\xff\xba\xba\xba\xff\xb4\xb4\xb4\xff\xb0\xb0\xb0\xff\xb5\xb5\xb5\xff\xb9\xb9\xb9\xff\xb7\xb7\xb7\xff\xb5\xb5\xb5\xff\xb4\xb4\xb4\xff\xb1\xb1\xb1\xff\xb2\xb2\xb2\xff\xbb\xbb\xbb\xff\xb0\xb0\xb0\xff\xb3\xb3\xb3\xff\xb0\xb0\xb0\xff\xb6\xb6\xb6\xff\xaf\xaf\xaf\xff\xbb\xbb\xbb\xff\xb4\xb4\xb4\xff\xb3\xb3\xb3\xff\xb0\xb0\xb0\xff\xb7\xb7\xb7\xff\xc0\xc0\xc0\xff\xb7\xb7\xb7\xff\xb2\xb2\xb2\xff\xbe\xbe\xbe\xff\xba\xba\xba\xff\xac\xac\xac\xff\xc1\xc1\xc1\xff\xb6\xb6\xb6\xff\xb7\xb7\xb7\xff\xb9\xb9\xb9\xff\xd2\xd2\xd2\xff\xbb\xbb\xbb\xff\xbb\xbb\xbb\xff\xc9\xc9\xc9\xff\xc8\xc8\xc8\xff\xa9\xa9\xa9\xff\xc0\xc0\xc0\xff\xbd\xbd\xbd\xff\xc3\xc3\xc3\xff\xbe\xbe\xbe\xff\xbd\xbd\xbd\xff\xba\xba\xba\xff\xbe\xbe\xbe\xff\xb5\xb5\xb5\xff\xbd\xbd\xbd\xff\xbf\xbf\xbf\xff\xc3\xc3\xc3\xff\xb5\xb5\xb5\xff\xbe\xbe\xbe\xff\xc4\xc4\xc4\xff\xc5\xc5\xc5\xff\xbf\xbf\xbf\xff\xbc\xbc\xbc\xff\xc1\xc1\xc1\xff\xc8\xc8\xc8\xff\xcb\xcb\xcb\xff\xcb\xcb\xcb\xff\xbe\xbe\xbe\xff\xcf\xcf\xcf\xff\xbf\xbf\xbf\xff\xb7\xb7\xb7\xff\xc0\xc0\xc0\xff\xb5\xb5\xb5\xff\xcb\xcb\xcb\xff\xbf\xbf\xbf\xff\xc4\xc4\xc4\xff\xc8\xc8\xc8\xff\xc7\xc7\xc7\xff\xc5\xc5\xc5\xff\xc3\xc3\xc3\xff\xc1\xc1\xc1\xff\xbf\xbf\xbf\xff\xbf\xbf\xbf\xff\xc0\xc0\xc0\xff\xc9\xc9\xc9\xff\xc8\xc8\xc8\xff\xbe\xbe\xbe\xff\xc3\xc3\xc3\xff\xcb\xcb\xcb\xff\xc5\xc5\xc5\xff"..., length=1139712, slice=0) at texture_vk.cc:60:30
frame #35: 0x0000000102ba847c impeller_unittests`impeller::TextureVK::OnSetContents(this=0x00006000030062f8, mapping=shared_ptr<const fml::Mapping> @ 0x000000016fdfdab0, slice=0) at texture_vk.cc:116:10
frame #36: 0x0000000100db2c20 impeller_unittests`impeller::Texture::SetContents(this=0x00006000030062f8, mapping=shared_ptr<const fml::Mapping> @ 0x000000016fdfdd78, slice=0) at texture.cc:38:8
frame #37: 0x0000000100371cdc impeller_unittests`impeller::CreateTextureForDecompressedImage(context=0x000000016fdfe798, decompressed_image=0x000000016fdfe6a0, enable_mipmapping=false) at playground.cc:465:30
frame #38: 0x000000010037139c impeller_unittests`impeller::Playground::CreateTextureForMapping(context=0x000000016fdfe798, mapping=<unavailable>, enable_mipmapping=false) at playground.cc:484:10
frame #39: 0x0000000100371f24 impeller_unittests`impeller::Playground::CreateTextureForFixture(this=0x00006000030045a0, fixture_name="embarcadero.jpg", enable_mipmapping=false) const at playground.cc:491:18
frame #40: 0x0000000100223b38 impeller_unittests`impeller::testing::DisplayListTest_CanDrawImage_Test::TestBody(this=0x00006000030045a0) at display_list_unittests.cc:94:18
frame #41: 0x00000001032d8628 impeller_unittests`void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(object=0x00006000030045a0, method=20 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00, location="the test body")(), char const*) at gtest.cc:2631:10
frame #42: 0x00000001032ab7e4 impeller_unittests`void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(object=0x00006000030045a0, method=20 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00, location="the test body")(), char const*) at gtest.cc:2686:12
frame #43: 0x00000001032ab700 impeller_unittests`testing::Test::Run(this=0x00006000030045a0) at gtest.cc:2706:5
frame #44: 0x00000001032ac514 impeller_unittests`testing::TestInfo::Run(this=0x000000010e72cd80) at gtest.cc:2885:11
frame #45: 0x00000001032adb5c impeller_unittests`testing::TestSuite::Run(this=0x000000010e72be90) at gtest.cc:3044:30
frame #46: 0x00000001032ba574 impeller_unittests`testing::internal::UnitTestImpl::RunAllTests(this=0x000000010e704190) at gtest.cc:5913:44
frame #47: 0x00000001032dfcb0 impeller_unittests`bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x000000010e704190, method=5c a1 2b 03 01 00 00 00 00 00 00 00 00 00 00 00, location="auxiliary test code (environments or event listeners)")(), char const*) at gtest.cc:2631:10
frame #48: 0x00000001032ba0a4 impeller_unittests`bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x000000010e704190, method=5c a1 2b 03 01 00 00 00 00 00 00 00 00 00 00 00, location="auxiliary test code (environments or event listeners)")(), char const*) at gtest.cc:2686:12
frame #49: 0x00000001032b9f10 impeller_unittests`testing::UnitTest::Run(this=0x0000000104aa9ff8) at gtest.cc:5482:10
frame #50: 0x0000000100bb1774 impeller_unittests`RUN_ALL_TESTS() at gtest.h:2497:46
frame #51: 0x0000000100bb1610 impeller_unittests`main(argc=1, argv=0x000000016fdff458) at run_all_unittests.cc:64:12
frame #52: 0x00000001a9c57f28 dyld`start + 2236
Metadata
Metadata
Assignees
Labels
P2Important issues not at the top of the work listImportant issues not at the top of the work listc: flakeTests that sometimes, but not always, incorrectly passTests that sometimes, but not always, incorrectly passe: impellerImpeller rendering backend issues and features requestsImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.flutter/engine related. See also e: labels.