-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Closed
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.waiting for PR to land (fixed)A fix is in flightA fix is in flight
Description
reproduction
Version: On a branch that has both flutter/engine#41490 and flutter/engine#41408 merged (which fix similar issues)
OS: MacOS with MoltenVK
Steps: Run ./out/host_debug_unopt_arm64/impeller_unittests --gtest_filter="*/Vulkan" repeatedly until the crash happens. It happens maybe 30% of the time.
example trace
[----------] 4 tests from Play/SceneTest
[ RUN ] Play/SceneTest.CuboidUnlit/Vulkan
[INFO:capabilities_vk.cc(19)] Vulkan validations are enabled.
Execute debugger commands using "-exec <command>", for example "-exec info registers" will list registers in use (when GDB is the debugger)
-exec bt
* thread #1, queue = 'com.apple.main-thread', stop reason = breakpoint 6.1
* frame #0: 0x000000010059d324 impeller_unittests`impeller::ImpellerValidationBreak(message="\n--- Vulkan Debug Report ----------------------------------------\n| Severity: Error\n| Type: { Validation }\n| ID Name: VUID-vkFreeCommandBuffers-commandPool-parameter\n| ID Number: 554912453\n| Queue Breadcrumbs: [NONE]\n| CMD Buffer Breadcrumbs: [NONE]\n| Related Objects: Instance [4563788800] [UNNAMED]\n| Trigger: Validation Error: [ VUID-vkFreeCommandBuffers-commandPool-parameter ] Object 0: handle = 0x11005e400, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x21134ac5 | Invalid VkCommandPool Object 0xb4140800000065a3. The Vulkan spec states: commandPool must be a valid VkCommandPool handle (https://vulkan.lunarg.com/doc/view/1.3.243.0/mac/1.3-extensions/vkspec.html#VUID-vkFreeCommandBuffers-commandPool-parameter)\n-----------------------------------------------------------------") at validation.cc:43:21
frame #1: 0x000000010059d244 impeller_unittests`impeller::ValidationLog::~ValidationLog(this=0x000000016fdfcc80) at validation.cc:32:5
frame #2: 0x000000010059d600 impeller_unittests`impeller::ValidationLog::~ValidationLog(this=0x000000016fdfcc80) at validation.cc:30:33
frame #3: 0x0000000102b17738 impeller_unittests`impeller::DebugReportVK::OnDebugCallback(this=0x0000000127e49540, severity=eError, type=(m_mask = 2), data=0x000000016fdfd330) at debug_report_vk.cc:183:5
frame #4: 0x0000000102b16ad4 impeller_unittests`impeller::DebugReportVK::DebugUtilsMessengerCallback(severity=VK_DEBUG_UTILS_MESSAGE_SEVERITY_ERROR_BIT_EXT, type=2, callback_data=0x000000016fdfd330, debug_report=0x0000000127e49540) at debug_report_vk.cc:86:13
frame #5: 0x00000001542653dc libVkLayer_khronos_validation.dylib`LogMsg(_debug_report_data const*, unsigned int, LogObjectList const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, char*) + 6480
frame #6: 0x0000000153944218 libVkLayer_khronos_validation.dylib`ValidationObject::LogError(LogObjectList const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, char const*, ...) const + 48
frame #7: 0x0000000153d15684 libVkLayer_khronos_validation.dylib`ObjectLifetimes::CheckObjectValidity(unsigned long long, VulkanObjectType, bool, char const*, char const*) const + 1268
frame #8: 0x0000000154248040 libVkLayer_khronos_validation.dylib`ObjectLifetimes::PreCallValidateFreeCommandBuffers(VkDevice_T*, VkCommandPool_T*, unsigned int, VkCommandBuffer_T* const*) const + 108
frame #9: 0x0000000153bc61f4 libVkLayer_khronos_validation.dylib`vulkan_layer_chassis::FreeCommandBuffers(VkDevice_T*, VkCommandPool_T*, unsigned int, VkCommandBuffer_T* const*) + 176
frame #10: 0x0000000102acf1bc 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=0x000000010f8ce660, commandPool=(m_commandPool = 0xb4140800000065a3), commandBuffers=0x000000016fdfd6b8, d=0x000000010449c800) const at vulkan_funcs.hpp:3456:5
frame #11: 0x0000000102acf0dc impeller_unittests`void impeller::vk::PoolFree<impeller::vk::Device, impeller::vk::CommandPool, impeller::vk::DispatchLoaderDynamic>::destroy<impeller::vk::CommandBuffer>(this=0x000000010f8ce660, t=(m_commandBuffer = 0x0000000127041de8)) at vulkan.hpp:5634:9
frame #12: 0x0000000102acf4a0 impeller_unittests`impeller::vk::UniqueHandle<impeller::vk::CommandBuffer, impeller::vk::DispatchLoaderDynamic>::~UniqueHandle(this=0x000000010f8ce660) at vulkan.hpp:1224:15
frame #13: 0x0000000102acdb44 impeller_unittests`impeller::vk::UniqueHandle<impeller::vk::CommandBuffer, impeller::vk::DispatchLoaderDynamic>::~UniqueHandle(this=0x000000010f8ce660) at vulkan.hpp:1221:5
frame #14: 0x0000000102add9c4 impeller_unittests`impeller::SharedObjectVKT<impeller::vk::CommandBuffer>::~SharedObjectVKT(this=0x000000010f8ce658) at shared_object_vk.h:20:7
frame #15: 0x0000000102add7cc impeller_unittests`impeller::SharedObjectVKT<impeller::vk::CommandBuffer>::~SharedObjectVKT(this=0x000000010f8ce658) at shared_object_vk.h:20:7
frame #16: 0x0000000102add4b0 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=0x000000010f8ce640) at shared_ptr.h:311:24
frame #17: 0x00000001000292c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_count::__release_shared[abi:v15000](this=0x000000010f8ce640) at shared_ptr.h:174:9
frame #18: 0x000000010002922c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_weak_count::__release_shared[abi:v15000](this=0x000000010f8ce640) at shared_ptr.h:215:27
frame #19: 0x0000000102aed914 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >::~shared_ptr[abi:v15000](this=0x000000010f8f6a90) at shared_ptr.h:702:23
frame #20: 0x0000000102adbb14 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >::~shared_ptr[abi:v15000](this=0x000000010f8f6a90) at shared_ptr.h:700:5
frame #21: 0x0000000102aeaa74 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)=0x0000000127e2c478, __p=0x000000010f8f6a90) at allocator_traits.h:319:15
frame #22: 0x0000000102aea93c 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=0x0000000127e2c470, __nd=0x000000010f8f6a70) at __tree:1799:9
frame #23: 0x0000000102aef458 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> > > >::clear(this=0x0000000127e2c470) at __tree:1836:5
frame #24: 0x0000000102adbb70 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> > > >::clear[abi:v15000](this=0x0000000127e2c470) at set:766:37
frame #25: 0x0000000102adb13c impeller_unittests`impeller::CommandPoolVK::GarbageCollectBuffersIfAble(this=0x0000000127e2c400) at command_pool_vk.cc:134:23
frame #26: 0x0000000102adb99c impeller_unittests`impeller::CommandPoolVK::CollectGraphicsCommandBuffer(this=0x0000000127e2c400, buffer=impeller::vk::UniqueCommandBuffer @ 0x000000016fdfdbf0) at command_pool_vk.cc:127:3
frame #27: 0x0000000102acf74c impeller_unittests`impeller::TrackedObjectsVK::~TrackedObjectsVK(this=0x00000001270455d8) at command_encoder_vk.cc:42:11
frame #28: 0x0000000102acf648 impeller_unittests`impeller::TrackedObjectsVK::~TrackedObjectsVK(this=0x00000001270455d8) at command_encoder_vk.cc:32:23
frame #29: 0x0000000102acd3a4 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_ptr_emplace<impeller::TrackedObjectsVK, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::TrackedObjectsVK> >::__on_zero_shared(this=0x00000001270455c0) at shared_ptr.h:311:24
frame #30: 0x00000001000292c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_count::__release_shared[abi:v15000](this=0x00000001270455c0) at shared_ptr.h:174:9
frame #31: 0x000000010002922c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_weak_count::__release_shared[abi:v15000](this=0x00000001270455c0) at shared_ptr.h:215:27
frame #32: 0x0000000102ad0700 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::TrackedObjectsVK>::~shared_ptr[abi:v15000](this=0x000000012704a6c8) at shared_ptr.h:702:23
frame #33: 0x0000000102ac2f64 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::TrackedObjectsVK>::~shared_ptr[abi:v15000](this=0x000000012704a6c8) at shared_ptr.h:700:5
frame #34: 0x0000000102ac5740 impeller_unittests`impeller::CommandEncoderVK::Submit(this=0x000000012704a6c8)::$_1::~$_1() at command_encoder_vk.cc:153:25
frame #35: 0x0000000102ac3e94 impeller_unittests`impeller::CommandEncoderVK::Submit(this=0x000000012704a6c8)::$_1::~$_1() at command_encoder_vk.cc:153:25
frame #36: 0x0000000102ad718c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__compressed_pair_elem<impeller::CommandEncoderVK::Submit()::$_1, 0, false>::~__compressed_pair_elem(this=0x000000012704a6c8) at compressed_pair.h:30:8
frame #37: 0x0000000102ad712c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__compressed_pair<impeller::CommandEncoderVK::Submit()::$_1, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::CommandEncoderVK::Submit()::$_1> >::~__compressed_pair(this=0x000000012704a6c8) at compressed_pair.h:83:7
frame #38: 0x0000000102ad70cc impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__compressed_pair<impeller::CommandEncoderVK::Submit()::$_1, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::CommandEncoderVK::Submit()::$_1> >::~__compressed_pair(this=0x000000012704a6c8) at compressed_pair.h:83:7
frame #39: 0x0000000102ad8de8 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__function::__alloc_func<impeller::CommandEncoderVK::Submit()::$_1, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::CommandEncoderVK::Submit()::$_1>, void ()>::destroy[abi:v15000](this=0x000000012704a6c8) at function.h:204:38
frame #40: 0x0000000102ad64b0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__function::__func<impeller::CommandEncoderVK::Submit()::$_1, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::CommandEncoderVK::Submit()::$_1>, void ()>::destroy(this=0x000000012704a6c0) at function.h:341:10
frame #41: 0x0000000100382060 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__function::__value_func<void ()>::~__value_func[abi:v15000](this=0x000000012704a6c0) at function.h:471:19
frame #42: 0x0000000100381fd4 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__function::__value_func<void ()>::~__value_func[abi:v15000](this=0x000000012704a6c0) at function.h:469:5
frame #43: 0x0000000100381f74 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::function<void ()>::~function(this=0x000000012704a6c0) at function.h:1174:43
frame #44: 0x000000010037d6ec impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::function<void ()>::~function(this=0x000000012704a6c0) at function.h:1174:42
frame #45: 0x0000000102b2fed4 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::pair<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > const, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >::~pair(this=0x000000012704a6b0) at pair.h:40:29
frame #46: 0x0000000102b2fe70 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::pair<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > const, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >::~pair(this=0x000000012704a6b0) at pair.h:40:29
frame #47: 0x0000000102b2fc34 impeller_unittests`void std::_LIBCPP_ABI_NAMESPACE::allocator_traits<std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::__hash_node<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, void*> > >::destroy[abi:v15000]<std::_LIBCPP_ABI_NAMESPACE::pair<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > const, std::_LIBCPP_ABI_NAMESPACE::function<void ((null)=0x0000000127ef51c0, __p=0x000000012704a6b0)> >, void, void>(std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::__hash_node<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, void*> >&, std::_LIBCPP_ABI_NAMESPACE::pair<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > const, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >*) at allocator_traits.h:319:15
frame #48: 0x0000000102b2f9e8 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__hash_table<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::__unordered_map_hasher<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, true>, std::_LIBCPP_ABI_NAMESPACE::__unordered_map_equal<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, true>, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> > > >::__deallocate_node(this=0x0000000127ef51b0, __np=0x000000012704a6a0)> >, void*>*>*) at __hash_table:1523:9
frame #49: 0x0000000102b2f924 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__hash_table<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::__unordered_map_hasher<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, true>, std::_LIBCPP_ABI_NAMESPACE::__unordered_map_equal<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, true>, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> > > >::~__hash_table(this=0x0000000127ef51b0) at __hash_table:1464:5
frame #50: 0x0000000102b2f8b0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__hash_table<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::__unordered_map_hasher<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, true>, std::_LIBCPP_ABI_NAMESPACE::__unordered_map_equal<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, true>, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::__hash_value_type<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()> > > >::~__hash_table(this=0x0000000127ef51b0) at __hash_table:1456:1
frame #51: 0x0000000102b2f850 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::unordered_map<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()>, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::pair<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > const, std::_LIBCPP_ABI_NAMESPACE::function<void ()> > > >::~unordered_map[abi:v15000](this=0x0000000127ef51b0) at unordered_map:1153:5
frame #52: 0x0000000102b2b120 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::unordered_map<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> >, std::_LIBCPP_ABI_NAMESPACE::function<void ()>, std::_LIBCPP_ABI_NAMESPACE::hash<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::equal_to<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > >, std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::pair<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::Fence> > const, std::_LIBCPP_ABI_NAMESPACE::function<void ()> > > >::~unordered_map[abi:v15000](this=0x0000000127ef51b0) at unordered_map:1151:22
frame #53: 0x0000000102b2af9c impeller_unittests`impeller::FenceWaiterVK::~FenceWaiterVK(this=0x0000000127ef5130) at fence_waiter_vk.cc:24:1
frame #54: 0x0000000102b2b180 impeller_unittests`impeller::FenceWaiterVK::~FenceWaiterVK(this=0x0000000127ef5130) at fence_waiter_vk.cc:19:33
frame #55: 0x0000000102b11374 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::default_delete<impeller::FenceWaiterVK>::operator(this=0x0000000127ef51f8, __ptr=0x0000000127ef5130)[abi:v15000](impeller::FenceWaiterVK*) const at unique_ptr.h:48:5
frame #56: 0x0000000102b10f20 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_ptr_pointer<impeller::FenceWaiterVK*, std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::FenceWaiterVK>::__shared_ptr_default_delete<impeller::FenceWaiterVK, impeller::FenceWaiterVK>, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::FenceWaiterVK> >::__on_zero_shared(this=0x0000000127ef51e0) at shared_ptr.h:263:5
frame #57: 0x00000001000292c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_count::__release_shared[abi:v15000](this=0x0000000127ef51e0) at shared_ptr.h:174:9
frame #58: 0x000000010002922c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_weak_count::__release_shared[abi:v15000](this=0x0000000127ef51e0) at shared_ptr.h:215:27
frame #59: 0x000000010047a584 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::FenceWaiterVK>::~shared_ptr[abi:v15000](this=0x0000000127e97f08) at shared_ptr.h:702:23
frame #60: 0x0000000100478760 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::FenceWaiterVK>::~shared_ptr[abi:v15000](this=0x0000000127e97f08) at shared_ptr.h:700:5
frame #61: 0x0000000102af1e28 impeller_unittests`impeller::ContextVK::~ContextVK(this=0x0000000127e97e20) at context_vk.cc:114:1
frame #62: 0x0000000102af22dc impeller_unittests`impeller::ContextVK::~ContextVK(this=0x0000000127e97e20) at context_vk.cc:109:25
frame #63: 0x0000000102b065a0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::default_delete<impeller::ContextVK>::operator(this=0x00000001274c3fb8, __ptr=0x0000000127e97e20)[abi:v15000](impeller::ContextVK*) const at unique_ptr.h:48:5
frame #64: 0x0000000102b0614c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_ptr_pointer<impeller::ContextVK*, std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::ContextVK>::__shared_ptr_default_delete<impeller::ContextVK, impeller::ContextVK>, std::_LIBCPP_ABI_NAMESPACE::allocator<impeller::ContextVK> >::__on_zero_shared(this=0x00000001274c3fa0) at shared_ptr.h:263:5
frame #65: 0x00000001000292c0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_count::__release_shared[abi:v15000](this=0x00000001274c3fa0) at shared_ptr.h:174:9
frame #66: 0x000000010002922c impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::__shared_weak_count::__release_shared[abi:v15000](this=0x00000001274c3fa0) at shared_ptr.h:215:27
frame #67: 0x00000001000f8518 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::Context>::~shared_ptr[abi:v15000](this=0x00000001237e3e88) at shared_ptr.h:702:23
frame #68: 0x00000001000f63a0 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::Context>::~shared_ptr[abi:v15000](this=0x00000001237e3e88) at shared_ptr.h:700:5
frame #69: 0x000000010039f5c8 impeller_unittests`impeller::PlaygroundImplVK::~PlaygroundImplVK(this=0x00000001237e3e50) at playground_impl_vk.cc:118:37
frame #70: 0x000000010039f69c impeller_unittests`impeller::PlaygroundImplVK::~PlaygroundImplVK(this=0x00000001237e3e50) at playground_impl_vk.cc:118:37
frame #71: 0x000000010039f6fc impeller_unittests`impeller::PlaygroundImplVK::~PlaygroundImplVK(this=0x00000001237e3e50) at playground_impl_vk.cc:118:37
frame #72: 0x0000000100383c74 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::default_delete<impeller::PlaygroundImpl>::operator(this=0x00000001237df9c8, __ptr=0x00000001237e3e50)[abi:v15000](impeller::PlaygroundImpl*) const at unique_ptr.h:48:5
frame #73: 0x000000010037cb58 impeller_unittests`std::_LIBCPP_ABI_NAMESPACE::unique_ptr<impeller::PlaygroundImpl, std::_LIBCPP_ABI_NAMESPACE::default_delete<impeller::PlaygroundImpl> >::reset[abi:v15000](this=0x00000001237df9c8, __p=0x0000000000000000) at unique_ptr.h:305:7
frame #74: 0x000000010037c98c impeller_unittests`impeller::Playground::TeardownWindow(this=0x00000001237df990) at playground.cc:144:9
frame #75: 0x0000000102847f2c impeller_unittests`impeller::PlaygroundTest::TearDown(this=0x00000001237df990) at playground_test.cc:40:3
frame #76: 0x00000001032fa418 impeller_unittests`void testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>(object=0x00000001237df990, method=18 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00, location="TearDown()")(), char const*) at gtest.cc:2631:10
frame #77: 0x00000001032cd5d4 impeller_unittests`void testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>(object=0x00000001237df990, method=18 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00, location="TearDown()")(), char const*) at gtest.cc:2686:12
frame #78: 0x00000001032cd530 impeller_unittests`testing::Test::Run(this=0x00000001237df990) at gtest.cc:2714:3
frame #79: 0x00000001032ce304 impeller_unittests`testing::TestInfo::Run(this=0x000000010fc574f0) at gtest.cc:2885:11
frame #80: 0x00000001032cf94c impeller_unittests`testing::TestSuite::Run(this=0x000000010fc571d0) at gtest.cc:3044:30
frame #81: 0x00000001032dc364 impeller_unittests`testing::internal::UnitTestImpl::RunAllTests(this=0x000000010fb058d0) at gtest.cc:5913:44
frame #82: 0x0000000103301aa0 impeller_unittests`bool testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x000000010fb058d0, method=4c bf 2d 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 #83: 0x00000001032dbe94 impeller_unittests`bool testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool>(object=0x000000010fb058d0, method=4c bf 2d 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 #84: 0x00000001032dbd00 impeller_unittests`testing::UnitTest::Run(this=0x0000000104ace0d8) at gtest.cc:5482:10
frame #85: 0x0000000100bc6b1c impeller_unittests`RUN_ALL_TESTS() at gtest.h:2497:46
frame #86: 0x0000000100bc69b8 impeller_unittests`main(argc=2, argv=0x000000016fdff2a8) at run_all_unittests.cc:64:12
frame #87: 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.waiting for PR to land (fixed)A fix is in flightA fix is in flight