Skip to content
This repository has been archived by the owner on Jun 18, 2021. It is now read-only.

VALIDATION: [VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength (0)] : vkCreateDescriptorPool: parameter pCreateInfo->poolSizeCount must be greater than 0 #149

Closed
oleid opened this issue Dec 29, 2019 · 8 comments
Labels
bug Something isn't working

Comments

@oleid
Copy link

oleid commented Dec 29, 2019

Hello, thanks for working on this!

It would seem I'm having a little trouble running the examples on a Surface Pro 4 (Iris Graphics 540) on ClearLinux. Vulkan, however, works (I tested the examples from https://github.com/SaschaWillems/Vulkan.git). Desktop is GNOME/Wayland.

Running `target/debug/examples/hello-triangle`
[2019-12-29T23:00:31Z ERROR gfx_backend_vulkan] 
    VALIDATION [VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength (0)] : vkCreateDescriptorPool: parameter pCreateInfo->poolSizeCount must be greater than 0. The Vulkan spec states: poolSizeCount must be greater than 0 (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength)
    object info: (type: UNKNOWN, hndl: 0)
    
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ()', src/libcore/result.rs:1189:5
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/libunwind.rs:88
   1: backtrace::backtrace::trace_unsynchronized
             at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.40/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:77
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1057
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1426
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:49
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:195
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:215
  10: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:472
  11: rust_begin_unwind
             at src/libstd/panicking.rs:376
  12: core::panicking::panic_fmt
             at src/libcore/panicking.rs:84
  13: core::result::unwrap_failed
             at src/libcore/result.rs:1189
  14: core::result::Result<T,E>::unwrap
             at /rustc/3a3f4a7cbaff09722b8c7cc8f09ce86ff5f953a3/src/libcore/result.rs:961
  15: <smithay_client_toolkit::window::concept_frame::ConceptFrame as smithay_client_toolkit::window::Frame>::redraw
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/smithay-client-toolkit-0.6.4/src/window/concept_frame.rs:482
  16: smithay_client_toolkit::window::Window<F>::refresh
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/smithay-client-toolkit-0.6.4/src/window/mod.rs:406
  17: winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::post_dispatch_triggers::{{closure}}
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/platform_impl/linux/wayland/event_loop.rs:692
  18: winit::platform_impl::platform::wayland::window::WindowStore::for_each
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/platform_impl/linux/wayland/window.rs:455
  19: winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::post_dispatch_triggers
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/platform_impl/linux/wayland/event_loop.rs:673
  20: winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run_return
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/platform_impl/linux/wayland/event_loop.rs:486
  21: winit::platform_impl::platform::wayland::event_loop::EventLoop<T>::run
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/platform_impl/linux/wayland/event_loop.rs:463
  22: winit::platform_impl::platform::EventLoop<T>::run
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/platform_impl/linux/mod.rs:639
  23: winit::event_loop::EventLoop<T>::run
             at /home/oleid/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.20.0-alpha5/src/event_loop.rs:148
  24: hello_triangle::main
             at examples/hello-triangle/main.rs:115
  25: std::rt::lang_start::{{closure}}
             at /rustc/3a3f4a7cbaff09722b8c7cc8f09ce86ff5f953a3/src/libstd/rt.rs:67
  26: std::rt::lang_start_internal::{{closure}}
             at src/libstd/rt.rs:52
  27: std::panicking::try::do_call
             at src/libstd/panicking.rs:296
  28: __rust_maybe_catch_panic
             at src/libpanic_unwind/lib.rs:79
  29: std::panicking::try
             at src/libstd/panicking.rs:272
  30: std::panic::catch_unwind
             at src/libstd/panic.rs:394
  31: std::rt::lang_start_internal
             at src/libstd/rt.rs:51
  32: std::rt::lang_start
             at /rustc/3a3f4a7cbaff09722b8c7cc8f09ce86ff5f953a3/src/libstd/rt.rs:67
  33: main
  34: __libc_start_main
             at ../csu/libc-start.c:308
  35: _start

Not sure if related: Vulkano's triangle example shows a window and a triangle, however, panics: INTEL-MESA: error: ../src/intel/vulkan/anv_queue.c:1309: drm_syncobj_wait failed: No such file or directory (VK_ERROR_DEVICE_LOST)

@kvark
Copy link
Member

kvark commented Dec 30, 2019

Interesting, the zero poolSizeCount is not expected here. Need to debug it through and see where it's coming from. Thank you for reporting this!

@kvark kvark added bug Something isn't working help wanted Extra attention is needed labels Dec 30, 2019
@WeakKnight
Copy link

Same bug on my PC(AMD 3600X, RTX2060Super, Windows 10) when running hello-triangle example.

VALIDATION [VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength (0)] : vkCreateDescriptorPool: parameter pCreateInfo->poolSizeCount must be greater than 0. The Vulkan spec states: poolSizeCount must be greater than 0 (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength)
object info: (type: UNKNOWN, hndl: 0)

@kvark
Copy link
Member

kvark commented Jan 10, 2020

Reported to Rendy, since descriptor pools are managed by rendy-descriptor: amethyst/rendy#256

@kvark
Copy link
Member

kvark commented Jan 14, 2020

Also, this is dupe of gfx-rs/wgpu#240

@mitchmindtree
Copy link
Contributor

mitchmindtree commented Feb 27, 2020

Just wanted to mention I also see this showing up on master when running hello-triangle with standard validation layers enabled, on Intel HD620, NixOS.

Here's the output from vulkaninfo on my machine.

And the exact error:

   Compiling wgpu v0.4.0 (/home/mindtree/programming/rust/wgpu-rs)
    Finished dev [unoptimized + debuginfo] target(s) in 5.11s
     Running `/home/mindtree/programming/rust/wgpu-rs/target/debug/examples/hello-triangle`
[2020-02-27T17:43:37Z ERROR gfx_backend_vulkan] 
    VALIDATION [VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength (0)] : vkCreateDescriptorPool: parameter pCreateInfo->poolSizeCount must be greater than 0. The Vulkan spec states: poolSizeCount must be greater than 0 (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkDescriptorPoolCreateInfo-poolSizeCount-arraylength)
    object info: (type: UNKNOWN, hndl: 0)

Edit: I should add that I don't get a panic!, just the above validation error.

@kvark
Copy link
Member

kvark commented Apr 21, 2020

Fixed by #268
The working group will figure out if it's even legal to create empty bind group layouts.

@kvark kvark closed this as completed Apr 21, 2020
@oleid
Copy link
Author

oleid commented Apr 22, 2020

Thanks for fixing this! Just wondering: in the MR you linked the issue was only fixed in hello triangle. So basically any application with the same crash message would need to be fixed the same way?

@kvark
Copy link
Member

kvark commented Apr 22, 2020

@oleid you are correct, it's not an implementation fix (which would go into wgpu repo). Please don't use empty bind groups / layouts for now. You can subscribe to gfx-rs/wgpu#240 to see when this changes.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants