Read access violation stating "current was 0xfffffffffffffff7"

After upgrading my Vulkan SDK from 1.1.126.2 to 1.2.131.2 this error occurs.


Slight changes were made to the source code which are just the way I add data to the vector class. Data was not corrupted by the time this exception was thrown.
One change that I did was instead of storing all the 4 shader types (Vertex, Tessellation, Geometry and Fragment) I only include the shaders that are defined (Vertex and Fragment in this instance). Is there any connection between these two? If not, what could be the reason for this error.

And validation layers are enabled correctly but it does not prompt anything.

Thank You!

Most probably undefined values that the validation layer can’t handle. Make sure all values that go into pipeline creation are properly initialized and contain no values that went out of scope. In such cases it’s very helpful to step into the code of the validation layers to see where and why your gt the access violation. Afaik the LunarG SDK comes with debug symbols to make this possible, and if not it’s always possible to compile layers yourself and step right into the code.

I double checked everything and I even reverted back to how it was before when it all worked fine but it still raises that same error. I guess its something to do with the SDK version but im not quite sure about that because all the other Vulkan calls work fine.Is there anything else that could lead to this?

Newer validation layers may include additional checks that weren’t present in older versions, so one of those new additional checks seems to fail with your code. So, no there is no easy way to find out why this is happening except for debugging into layer sources and see what application value leads to the access violation.

How can we debug the validation layers? Should we include the layer_factory project to our solution file?

Either build the layers yourself (so you can jump into the source), or add the debug symbols included in the SDK and check against the sources that were used to built the SDK that you’ve been using.