KhronosGroup / Vulkan-ValidationLayers

Vulkan Validation Layers (VVL)
https://vulkan.lunarg.com/doc/sdk/latest/linux/khronos_validation_layer.html
Other
761 stars 403 forks source link

Validation layers crashing on CTS #1237

Closed djdeath closed 5 years ago

djdeath commented 5 years ago

On this particular set of tests :

VK_INSTANCE_LAYERS=VK_LAYER_LUNARG_standard_validation valgrind ./deqp-vk -n dEQP-VK.synchronization.op.single_queue.fence.write_copy_buffer_read_ubo_vertex.*

Here are the valgrind backtraces :

Test case 'dEQP-VK.synchronization.op.single_queue.fence.write_copy_buffer_read_ubo_vertex.buffer_16384'..
==32414== Conditional jump or move depends on uninitialised value(s)
==32414==    at 0xB450EB6: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:757)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414==    by 0x1824E8F: vkt::synchronization::(anonymous namespace)::ShaderAccess::BufferImplementation::BufferImplementation(vkt::synchronization::OperationContext&, vkt::synchronization::Resource&, vk::VkShaderStageFlagBits, vkt::synchronization::(anonymous namespace)::BufferType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vkt::synchronization::(anonymous namespace)::AccessMode, vkt::synchronization::(anonymous namespace)::PipelineType, vkt::synchronization::(anonymous namespace)::ShaderAccess::DispatchCall) (vktSynchronizationOperation.cpp:1628)
==32414==    by 0x1828BDC: vkt::synchronization::(anonymous namespace)::ShaderAccess::BufferSupport::build(vkt::synchronization::OperationContext&, vkt::synchronization::Resource&) const (vktSynchronizationOperation.cpp:2153)
==32414==    by 0x1805DDF: vkt::synchronization::(anonymous namespace)::BaseTestInstance::BaseTestInstance(vkt::Context&, vkt::synchronization::ResourceDescription const&, vkt::synchronization::OperationSupport const&, vkt::synchronization::OperationSupport const&, vkt::synchronization::PipelineCacheData&) (vktSynchronizationOperationSingleQueueTests.cpp:62)
==32414==    by 0x180920D: vkt::synchronization::(anonymous namespace)::FenceTestInstance::FenceTestInstance(vkt::Context&, vkt::synchronization::ResourceDescription const&, vkt::synchronization::OperationSupport const&, vkt::synchronization::OperationSupport const&, vkt::synchronization::PipelineCacheData&) (vktSynchronizationOperationSingleQueueTests.cpp:456)
==32414==    by 0x1809D81: vkt::synchronization::(anonymous namespace)::SyncTestCase::createInstance(vkt::Context&) const (vktSynchronizationOperationSingleQueueTests.cpp:559)
==32414== 
==32414== Conditional jump or move depends on uninitialised value(s)
==32414==    at 0xA98264A: bool StatelessValidation::validate_struct_type_array<VkGraphicsPipelineCreateInfo>(char const*, ParameterName const&, ParameterName const&, char const*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkStructureType, bool, bool, char const*, char const*, char const*) (stateless_validation.h:312)
==32414==    by 0xA9174F4: StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (parameter_validation.cpp:3086)
==32414==    by 0xA853B4A: ValidationObject::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**, void*) (chassis.h:3688)
==32414==    by 0xA7E0DD2: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:749)
==32414==    by 0xB554943: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:209)
==32414==    by 0xB450EFC: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414== 
==32414== Use of uninitialised value of size 8
==32414==    at 0xA9826CF: bool StatelessValidation::validate_struct_type_array<VkGraphicsPipelineCreateInfo>(char const*, ParameterName const&, ParameterName const&, char const*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkStructureType, bool, bool, char const*, char const*, char const*) (stateless_validation.h:318)
==32414==    by 0xA9174F4: StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (parameter_validation.cpp:3086)
==32414==    by 0xA853B4A: ValidationObject::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**, void*) (chassis.h:3688)
==32414==    by 0xA7E0DD2: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:749)
==32414==    by 0xB554943: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:209)
==32414==    by 0xB450EFC: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414== 
VUID-VkGraphicsPipelineCreateInfo-sType-sType(ERROR / SPEC): msgNum: 0 - vkCreateGraphicsPipelines: parameter pCreateInfos[0].sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO The Vulkan spec states: sType must be VK_STRUCTURE_TYPE_GRAPHICS_PIPELINE_CREATE_INFO (https://www.khronos.org/registry/vulkan/specs/1.1-extensions/html/vkspec.html#VUID-VkGraphicsPipelineCreateInfo-sType-sType)
    Objects: 1
        [0] 0, type: 0, name: NULL
==32414== Conditional jump or move depends on uninitialised value(s)
==32414==    at 0xA91750F: StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (parameter_validation.cpp:3087)
==32414==    by 0xA853B4A: ValidationObject::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**, void*) (chassis.h:3688)
==32414==    by 0xA7E0DD2: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:749)
==32414==    by 0xB554943: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:209)
==32414==    by 0xB450EFC: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414==    by 0x1824E8F: vkt::synchronization::(anonymous namespace)::ShaderAccess::BufferImplementation::BufferImplementation(vkt::synchronization::OperationContext&, vkt::synchronization::Resource&, vk::VkShaderStageFlagBits, vkt::synchronization::(anonymous namespace)::BufferType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vkt::synchronization::(anonymous namespace)::AccessMode, vkt::synchronization::(anonymous namespace)::PipelineType, vkt::synchronization::(anonymous namespace)::ShaderAccess::DispatchCall) (vktSynchronizationOperation.cpp:1628)
==32414== 
==32414== Use of uninitialised value of size 8
==32414==    at 0xA917571: StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (parameter_validation.cpp:3093)
==32414==    by 0xA853B4A: ValidationObject::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**, void*) (chassis.h:3688)
==32414==    by 0xA7E0DD2: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:749)
==32414==    by 0xB554943: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:209)
==32414==    by 0xB450EFC: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414==    by 0x1824E8F: vkt::synchronization::(anonymous namespace)::ShaderAccess::BufferImplementation::BufferImplementation(vkt::synchronization::OperationContext&, vkt::synchronization::Resource&, vk::VkShaderStageFlagBits, vkt::synchronization::(anonymous namespace)::BufferType, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vkt::synchronization::(anonymous namespace)::AccessMode, vkt::synchronization::(anonymous namespace)::PipelineType, vkt::synchronization::(anonymous namespace)::ShaderAccess::DispatchCall) (vktSynchronizationOperation.cpp:1628)
==32414== 
==32414== Invalid read of size 8
==32414==    at 0xA96ECCC: StatelessValidation::validate_struct_pnext(char const*, ParameterName const&, char const*, void const*, unsigned long, VkStructureType const*, unsigned int, char const*) (stateless_validation.h:533)
==32414==    by 0xA9175F7: StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (parameter_validation.cpp:3093)
==32414==    by 0xA853B4A: ValidationObject::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**, void*) (chassis.h:3688)
==32414==    by 0xA7E0DD2: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:749)
==32414==    by 0xB554943: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:209)
==32414==    by 0xB450EFC: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414==  Address 0xc889d38948c18950 is not stack'd, malloc'd or (recently) free'd
==32414== 
==32414== 
==32414== Process terminating with default action of signal 11 (SIGSEGV)
==32414==  General Protection Fault
==32414==    at 0xA96ECCC: StatelessValidation::validate_struct_pnext(char const*, ParameterName const&, char const*, void const*, unsigned long, VkStructureType const*, unsigned int, char const*) (stateless_validation.h:533)
==32414==    by 0xA9175F7: StatelessValidation::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (parameter_validation.cpp:3093)
==32414==    by 0xA853B4A: ValidationObject::PreCallValidateCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**, void*) (chassis.h:3688)
==32414==    by 0xA7E0DD2: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:749)
==32414==    by 0xB554943: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:209)
==32414==    by 0xB450EFC: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0xEFEBFCA: DispatchCreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (layer_chassis_dispatch.cpp:253)
==32414==    by 0xEEE06CE: vulkan_layer_chassis::CreateGraphicsPipelines(VkDevice_T*, VkPipelineCache_T*, unsigned int, VkGraphicsPipelineCreateInfo const*, VkAllocationCallbacks const*, VkPipeline_T**) (chassis.cpp:759)
==32414==    by 0x20B8251: vk::DeviceDriver::createGraphicsPipelines(vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, unsigned int, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*, vk::Handle<(vk::HandleType)18>*) const (vkDeviceDriverImpl.inl:252)
==32414==    by 0x20ACCF0: vk::createGraphicsPipeline(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)15>, vk::VkGraphicsPipelineCreateInfo const*, vk::VkAllocationCallbacks const*) (vkRefUtil.cpp:38)
==32414==    by 0x17F1837: vkt::synchronization::GraphicsPipelineBuilder::build(vk::DeviceInterface const&, vk::VkDevice_s*, vk::Handle<(vk::HandleType)16>, vk::Handle<(vk::HandleType)17>, vkt::synchronization::PipelineCacheData&) (vktSynchronizationUtil.cpp:368)
==32414==    by 0x1823ACD: vkt::synchronization::(anonymous namespace)::ShaderAccess::GraphicsPipeline::GraphicsPipeline(vkt::synchronization::OperationContext&, vk::VkShaderStageFlagBits, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, vk::Handle<(vk::HandleType)19>) (vktSynchronizationOperation.cpp:1452)
==32414== 
==32414== HEAP SUMMARY:
==32414==     in use at exit: 32,085,854 bytes in 290,211 blocks
==32414==   total heap usage: 670,935 allocs, 380,721 frees, 87,408,907 bytes allocated
==32414== 
==32414== LEAK SUMMARY:
==32414==    definitely lost: 404,384 bytes in 13 blocks
==32414==    indirectly lost: 0 bytes in 0 blocks
==32414==      possibly lost: 1,128,570 bytes in 4,098 blocks
==32414==    still reachable: 30,225,796 bytes in 286,100 blocks
==32414==                       of which reachable via heuristic:
==32414==                         newarray           : 608 bytes in 8 blocks
==32414==         suppressed: 0 bytes in 0 blocks
==32414== Rerun with --leak-check=full to see details of leaked memory
==32414== 
==32414== Use --track-origins=yes to see where uninitialised values come from
==32414== For lists of detected and suppressed errors, rerun with: -s
==32414== ERROR SUMMARY: 6 errors from 6 contexts (suppressed: 0 from 0)
Segmentation fault (core dumped)

At the following revision :

commit e01efbeabe358ac1a35e57f476427c4f98dee6f2
Author: Camden Stocker <camden@lunarg.com>
Date:   Tue Sep 3 15:27:42 2019 -0600

    layers: CoreChecks - Rem QueueBindSparse Warns

    Change-Id: Icceb222fa14f4ca7d946e076196c2577736257c4
djdeath commented 5 years ago

No problem with validation layers 1.1.101.0

mark-lunarg commented 5 years ago

@djdeath, with fresh builds of CTS we tried this with TOT validation layers on Linux and Windows, with and without valgrind and have not seen a crash. We also tried at the specified revision on Linux w/valgrind, it also ran fine -- do you have any suggestions for enabling us to reproduce the crash you are seeing?

djdeath commented 5 years ago

Unfortunately I'm unable to reproduce now.

I wonder if I was running with old generated files somehow...

mark-lunarg commented 5 years ago

No problem, this is my favorite kind of issue!