Skip to content

[Impeller] "Invalid VkCommandPool Object" in impeller::CommandPoolVK::~CommandPoolVK()  #131522

@gaaclarke

Description

@gaaclarke

reproduction steps

  1. Use Gallery

I just scrolled around and placed the device on the desk and noticed the failure.

engine hash

commit c3d59de4bfba425e342b14e24ef219213b1b13bb (HEAD, upstream/master, upstream/main)
Author: skia-flutter-autoroll <[email protected]>
Date:   Fri Jul 28 16:02:14 2023 -0400

crash log

Details
E/flutter ( 1308): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
E/flutter ( 1308): --- Vulkan Debug Report  ----------------------------------------
E/flutter ( 1308): |                Severity: Error
E/flutter ( 1308): |                    Type: { Validation }
E/flutter ( 1308): |                 ID Name: VUID-vkFreeCommandBuffers-commandPool-parameter
E/flutter ( 1308): |               ID Number: 554912453
E/flutter ( 1308): |       Queue Breadcrumbs: [NONE]
E/flutter ( 1308): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter ( 1308): |         Related Objects: Instance [12970367414066996528] [UNNAMED]
E/flutter ( 1308): |                 Trigger: Validation Error: [ VUID-vkFreeCommandBuffers-commandPool-parameter ] Object 0: handle = 0xb400007171c3e530, type = VK_OBJECT_TYPE_INSTANCE; | MessageID = 0x21134ac5 | Invalid VkCommandPool Object 0x1e500000001e5. The Vulkan spec states: commandPool must be a valid VkCommandPool handle (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkFreeCommandBuffers-commandPool-parameter)
E/flutter ( 1308): -----------------------------------------------------------------
E/flutter ( 1308): [ERROR:flutter/impeller/base/validation.cc(49)] Break on 'ImpellerValidationBreak' to inspect point of failure: 
E/flutter ( 1308): --- Vulkan Debug Report  ----------------------------------------
E/flutter ( 1308): |                Severity: Error
E/flutter ( 1308): |                    Type: { Validation }
E/flutter ( 1308): |                 ID Name: VUID-vkFreeCommandBuffers-pCommandBuffers-00048
E/flutter ( 1308): |               ID Number: 515182009
E/flutter ( 1308): |       Queue Breadcrumbs: [NONE]
E/flutter ( 1308): |  CMD Buffer Breadcrumbs: [NONE]
E/flutter ( 1308): |         Related Objects: CommandBuffer [12970367414067394768] [UNNAMED]
E/flutter ( 1308): |                 Trigger: Validation Error: [ VUID-vkFreeCommandBuffers-pCommandBuffers-00048 ] Object 0: handle = 0xb400007171c9f8d0, type = VK_OBJECT_TYPE_COMMAND_BUFFER; | MessageID = 0x1eb50db9 | Invalid VkCommandBuffer 0xb400007171c9f8d0[]. The Vulkan spec states: pCommandBuffers must be a valid pointer to an array of commandBufferCount VkCommandBuffer handles, each element of which must either be a valid handle or NULL (https://www.khronos.org/registry/vulkan/specs/1.3-extensions/html/vkspec.html#VUID-vkFreeCommandBuffers-pCommandBuffers-00048)
E/flutter ( 1308): -----------------------------------------------------------------
F/libc    ( 1308): ../../third_party/vulkan-deps/vulkan-validation-layers/src/layers/generated/thread_safety.h:123: std::shared_ptr<ObjectUseData> counter<VkCommandPool_T *>::FindObject(T) [T = VkCommandPool_T *]: assertion "object_table.contains(object)" failed
F/libc    ( 1308): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 1367 (io.worker.3), pid 1308 (er.demo.gallery)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/sunfish/sunfish:13/TQ2A.230305.008.C1/9619669:user/release-keys'
Revision: 'MP1.0'
ABI: 'arm64'
Timestamp: 2023-07-28 15:41:23.132842426-0700
Process uptime: 60s
Cmdline: io.flutter.demo.gallery
pid: 1308, tid: 1367, name: io.worker.3  >>> io.flutter.demo.gallery <<<
uid: 10259
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: '../../third_party/vulkan-deps/vulkan-validation-layers/src/layers/generated/thread_safety.h:123: std::shared_ptr<ObjectUseData> counter<VkCommandPool_T *>::FindObject(T) [T = VkCommandPool_T *]: assertion "object_table.contains(object)" failed'
    x0  0000000000000000  x1  0000000000000557  x2  0000000000000006  x3  00000070bfcf8ea0
    x4  0000008080808080  x5  0000008080808080  x6  0000008080808080  x7  8080808080000000
    x8  00000000000000f0  x9  00000073f848da00  x10 0000000000000001  x11 00000073f84cbde4
    x12 0101010101010101  x13 000004fb2dfa0281  x14 0037bf34ff359f0f  x15 0000000000000060
    x16 00000073f8530d58  x17 00000073f850dc70  x18 00000070bcee8000  x19 000000000000051c
    x20 0000000000000557  x21 00000000ffffffff  x22 00000000000001b0  x23 000000000000051c
    x24 00000070bfcf9cb0  x25 00000070bfcf9cb0  x26 00000070bfcf9ff8  x27 00000000000fc000
    x28 00000000000fe000  x29 00000070bfcf8f20
    lr  00000073f84bd968  sp  00000070bfcf8e80  pc  00000073f84bd994  pst 0000000000000000
backtrace:
      #00 pc 0000000000051994  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 4e07915368c859b1910c68c84a8de75f)
      #01 pc 0000000000051d64  /apex/com.android.runtime/lib64/bionic/libc.so (__assert2+36) (BuildId: 4e07915368c859b1910c68c84a8de75f)
      #02 pc 0000000001274ce8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: dade4456d517fafdd2d230127cb085095d3b2e3b)
      #03 pc 00000000012493ec  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: dade4456d517fafdd2d230127cb085095d3b2e3b)
      #04 pc 00000000012470e8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: dade4456d517fafdd2d230127cb085095d3b2e3b)
      #05 pc 0000000001248e54  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: dade4456d517fafdd2d230127cb085095d3b2e3b)
      #06 pc 00000000014b2948  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libVkLayer_khronos_validation.so (BuildId: dade4456d517fafdd2d230127cb085095d3b2e3b)
      #07 pc 00000000036b06e0  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #08 pc 00000000036b04cc  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #09 pc 00000000036b30d8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #10 pc 00000000023f2104  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #11 pc 00000000023d1118  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #12 pc 00000000023d10b8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #13 pc 00000000023ce9a8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #14 pc 00000000023d1528  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #15 pc 00000000036b08e8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #16 pc 00000000036b0860  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #17 pc 00000000036b082c  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #18 pc 00000000036b2590  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #19 pc 00000000036b3570  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #20 pc 00000000036b3518  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #21 pc 00000000023d1118  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #22 pc 00000000023d10b8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #23 pc 00000000023ce9a8  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #24 pc 00000000023dc398  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #25 pc 000000000283cbf0  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #26 pc 00000000032d7798  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #27 pc 00000000032d7710  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #28 pc 00000000032d760c  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #29 pc 00000000036b314c  /data/app/~~4pb9Ubn-afnDuN8Z1UmtAw==/io.flutter.demo.gallery-XDqtbDZaMkP2zhLuiX9_Kg==/lib/arm64/libflutter.so (BuildId: 57ec732191fe1828811def35a8c1b24884a28405)
      #30 pc 00000000000b6d60  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_key_clean_all()+124) (BuildId: 4e07915368c859b1910c68c84a8de75f)
      #31 pc 00000000000b6534  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_exit+72) (BuildId: 4e07915368c859b1910c68c84a8de75f)
      #32 pc 00000000000b63b4  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+212) (BuildId: 4e07915368c859b1910c68c84a8de75f)
      #33 pc 00000000000530b8  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 4e07915368c859b1910c68c84a8de75f)
Lost connection to device.
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b06e0
void impeller::vk::Device::free<impeller::vk::DispatchLoaderDynamic>(impeller::vk::CommandPool, impeller::vk::ArrayProxy<impeller::vk::CommandBuffer const> const&, impeller::vk::DispatchLoaderDynamic const&) const
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan_funcs.hpp:4217
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b04cc
impeller::vk::UniqueHandle<impeller::vk::CommandBuffer, impeller::vk::DispatchLoaderDynamic>::~UniqueHandle()
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/vulkan-deps/vulkan-headers/src/include/vulkan/vulkan.hpp:1202
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b30d8
impeller::SharedObjectVKT<impeller::vk::CommandBuffer>::~SharedObjectVKT()
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../flutter/impeller/renderer/backend/vulkan/shared_object_vk.h:20
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000023ce9a8
std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::OverlayLayer>::~shared_ptr[abi:v15000]()
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/libcxx/include/__memory/shared_ptr.h:702
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000023d1528
std::_LIBCPP_ABI_NAMESPACE::allocator<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::OverlayLayer> >::destroy[abi:v15000](std::_LIBCPP_ABI_NAMESPACE::shared_ptr<flutter::OverlayLayer>*)
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/libcxx/include/__memory/allocator.h:170
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b08e8
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(std::_LIBCPP_ABI_NAMESPACE::__tree_node<std::_LIBCPP_ABI_NAMESPACE::shared_ptr<impeller::SharedObjectVKT<impeller::vk::CommandBuffer> >, void*>*)
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/libcxx/include/__tree:1799
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b0860
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()
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/libcxx/include/__tree:1787
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b082c
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]()
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../third_party/libcxx/include/set:676
aaclarke-macbookpro3:gallery aaclarke$ /Users/aaclarke/Library/Android//sdk/ndk/25.2.9519653/toolchains/llvm/prebuilt/darwin-x86_64/bin/llvm-addr2line -Cfe ~/dev/engine/src/out/android_debug_unopt_arm64/libflutter.so 00000000036b2590
impeller::CommandPoolVK::~CommandPoolVK()
/Users/aaclarke/dev/engine/src/out/android_debug_unopt_arm64/../../flutter/impeller/renderer/backend/vulkan/command_pool_vk.cc:87

Metadata

Metadata

Assignees

No one assigned

    Labels

    e: impellerImpeller rendering backend issues and features requestsengineflutter/engine related. See also e: labels.team-engineOwned by Engine team

    Type

    No type

    Projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions