Skip to content
This repository was archived by the owner on Oct 31, 2025. It is now read-only.
This repository was archived by the owner on Oct 31, 2025. It is now read-only.

Crashes with ERROR_OUT_OF_DATE_KHR #110

@aron-granberg

Description

@aron-granberg

Expected Behaviour

Program runs

Example & Steps To Reproduce

  1. env RUST_BACKTRACE=full cargo run --bin example-runner -- --debug-layer

Same thing happens without debug layers as well.

System Info

  • Rust: rustc 1.49.0-nightly (a85e94927 2020-10-19)
  • OS: Ubuntu 20.04.1 LTS
  • GPU: NVIDIA Corporation GM204 [GeForce GTX 970]
  • SPIR-V: SPIRV-Tools v2020.3 unknown hash, 2020-06-04T23:43:24
  • Commit: bb94cd8

Backtrace

 ~/p/e/rust-gpu (main) [101]> env RUST_BACKTRACE=full cargo run --bin example-runner -- --debug-layer
   Compiling example-runner v0.1.0 (/home/arong/projects/embark/rust-gpu/examples/example-runner)
    Finished dev [unoptimized + debuginfo] target(s) in 1.96s
     Running `target/debug/example-runner --debug-layer`
INFO:
GENERAL [Loader Message (0)] : Inserted device layer VK_LAYER_KHRONOS_validation (libVkLayer_khronos_validation.so)

thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: ERROR_OUT_OF_DATE_KHR', examples/example-runner/src/main.rs:1096:18
stack backtrace:
   0:     0x55fe29ea6100 - std::backtrace_rs::backtrace::libunwind::trace::h622bab51c72c4e69
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/../../backtrace/src/backtrace/libunwind.rs:100:5
   1:     0x55fe29ea6100 - std::backtrace_rs::backtrace::trace_unsynchronized::h7e820b882ebd41ee
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55fe29ea6100 - std::sys_common::backtrace::_print_fmt::h64d46258114db92f
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55fe29ea6100 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h47111d0c1b5f0da5
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x55fe29ec795c - core::fmt::write::h1857a60b204f1b6a
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/core/src/fmt/mod.rs:1076:17
   5:     0x55fe29ea27e2 - std::io::Write::write_fmt::h4604516fed3e5731
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/io/mod.rs:1516:15
   6:     0x55fe29ea8585 - std::sys_common::backtrace::_print::h785e7a78d5ef272c
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x55fe29ea8585 - std::sys_common::backtrace::print::h108047ac5c4555d5
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x55fe29ea8585 - std::panicking::default_hook::{{closure}}::h1d0c271f0d087ebf
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:208:50
   9:     0x55fe29ea8228 - std::panicking::default_hook::h692753e26f11b7b7
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:227:9
  10:     0x55fe29ea8c61 - std::panicking::rust_panic_with_hook::h74ddc20305301cd9
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:577:17
  11:     0x55fe29ea8809 - std::panicking::begin_panic_handler::{{closure}}::h1a9ca6427ceee1d0
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:484:9
  12:     0x55fe29ea65bc - std::sys_common::backtrace::__rust_end_short_backtrace::h97e27b7ab754adde
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x55fe29ea87c9 - rust_begin_unwind
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:483:5
  14:     0x55fe29ec5831 - core::panicking::panic_fmt::hb15d6f55e8472f62
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/core/src/panicking.rs:85:14
  15:     0x55fe29ec5653 - core::option::expect_none_failed::he492a18657d97593
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/core/src/option.rs:1238:5
  16:     0x55fe298b8631 - core::result::Result<T,E>::unwrap::h84b03395780deb6c
                               at /home/arong/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:973:23
  17:     0x55fe298c9c07 - example_runner::main::{{closure}}::hed9bc2edbf08d9ff
                               at /home/arong/projects/embark/rust-gpu/examples/example-runner/src/main.rs:1094:13
  18:     0x55fe298c8a05 - example_runner::ExampleBase::render_loop::{{closure}}::h412d7dfdbc0428e2
                               at /home/arong/projects/embark/rust-gpu/examples/example-runner/src/main.rs:212:17
  19:     0x55fe2986b514 - winit::platform_impl::platform::sticky_exit_callback::h0d38e7a64b54b4c9
                               at /home/arong/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/linux/mod.rs:726:5
  20:     0x55fe298f014b - winit::platform_impl::platform::x11::EventLoop<T>::run_return::h0159bcbe4acde546
                               at /home/arong/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/linux/x11/mod.rs:318:17
  21:     0x55fe298f108a - winit::platform_impl::platform::x11::EventLoop<T>::run::h2424665506b1f479
                               at /home/arong/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/linux/x11/mod.rs:386:9
  22:     0x55fe2986b38e - winit::platform_impl::platform::EventLoop<T>::run::h298f39d37a4690bd
                               at /home/arong/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/platform_impl/linux/mod.rs:642:56
  23:     0x55fe298d2354 - winit::event_loop::EventLoop<T>::run::hbcc3a5253511e0b0
                               at /home/arong/.cargo/registry/src/github.com-1ecc6299db9ec823/winit-0.23.0/src/event_loop.rs:154:9
  24:     0x55fe298c893f - example_runner::ExampleBase::render_loop::h812658a62019b45c
                               at /home/arong/projects/embark/rust-gpu/examples/example-runner/src/main.rs:210:9
  25:     0x55fe29871308 - example_runner::main::h03349b7dbd16079c
                               at /home/arong/projects/embark/rust-gpu/examples/example-runner/src/main.rs:1006:9
  26:     0x55fe2987cf6b - core::ops::function::FnOnce::call_once::h03d977b1992afcc9
                               at /home/arong/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:227:5
  27:     0x55fe298d94fe - std::sys_common::backtrace::__rust_begin_short_backtrace::hca4abd01f72f6d2e
                               at /home/arong/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys_common/backtrace.rs:125:18
  28:     0x55fe298daad1 - std::rt::lang_start::{{closure}}::h0ac2aaf396cd6202
                               at /home/arong/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:66:18
  29:     0x55fe29ea9087 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h5867dc20a6af6cac
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/core/src/ops/function.rs:259:13
  30:     0x55fe29ea9087 - std::panicking::try::do_call::h32e8dcce59f53a45
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:381:40
  31:     0x55fe29ea9087 - std::panicking::try::h7d7b073280e6de2f
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panicking.rs:345:19
  32:     0x55fe29ea9087 - std::panic::catch_unwind::h801333b3e4e7d79f
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/panic.rs:382:14
  33:     0x55fe29ea9087 - std::rt::lang_start_internal::h2c157bf657c6892a
                               at /rustc/a85e94927622665a9e9022de0d33a890a2e32d43/library/std/src/rt.rs:51:25
  34:     0x55fe298daaa7 - std::rt::lang_start::h6974924f36a5230c
                               at /home/arong/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:65:5
  35:     0x55fe2987173a - main
  36:     0x7f66547300b3 - __libc_start_main
  37:     0x55fe2986b0ce - _start
  38:                0x0 - <unknown>
ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x170000000017, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkDeviceMemory 0x170000000017[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x190000000019, type = VK_OBJECT_TYPE_DEVICE_MEMORY; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkDeviceMemory 0x190000000019[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x160000000016, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkBuffer 0x160000000016[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x180000000018, type = VK_OBJECT_TYPE_BUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkBuffer 0x180000000018[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1a000000001a, type = VK_OBJECT_TYPE_SHADER_MODULE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkShaderModule 0x1a000000001a[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1b000000001b, type = VK_OBJECT_TYPE_PIPELINE_LAYOUT; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkPipelineLayout 0x1b000000001b[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x120000000012, type = VK_OBJECT_TYPE_RENDER_PASS; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkRenderPass 0x120000000012[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x1c000000001c, type = VK_OBJECT_TYPE_PIPELINE; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkPipeline 0x1c000000001c[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x150000000015, type = VK_OBJECT_TYPE_FRAMEBUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkFramebuffer 0x150000000015[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x140000000014, type = VK_OBJECT_TYPE_FRAMEBUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkFramebuffer 0x140000000014[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

ERROR:
VALIDATION [VUID-vkDestroyDevice-device-00378 (1901072314)] : Validation Error: [ VUID-vkDestroyDevice-device-00378 ] Object 0: handle = 0x55fe2b691fa0, type = VK_OBJECT_TYPE_DEVICE; Object 1: handle = 0x130000000013, type = VK_OBJECT_TYPE_FRAMEBUFFER; | MessageID = 0x71500fba | OBJ ERROR : For VkDevice 0x55fe2b691fa0[], VkFramebuffer 0x130000000013[] has not been destroyed. The Vulkan spec states: All child objects created on device must have been destroyed prior to destroying device (https://vulkan.lunarg.com/doc/view/1.2.141.0/linux/1.2-extensions/vkspec.html#VUID-vkDestroyDevice-device-00378)

Metadata

Metadata

Assignees

No one assigned

    Labels

    t: bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions