KhronosGroup/Vulkan-Loader

invalid MAGIC value 0x0410aded

Closed this issue · 7 comments

1e09b25

[ Loader Message ] terminator_CreateDevice: Device pointer (0x55a44c41f720) has invalid MAGIC value 0x0410aded. Device value possibly corrupted by active layer (Policy #LLP_LAYER_22).
  1. Value is printed incorrectly (0x%08x vs 0x%08lx ?)
  2. Checking for LOADER_MAGIC_NUMBER when it should be checking for DEVICE_DISP_TABLE_MAGIC_NUMBER?

@charles-lunarg

The actual values are:

10aded040410aded
10aded010110aded

PS. Maybe both the expected and the actual value should be logged?

Just to clarify, is there a bug where this newly added check (actually what was previously an assert turned into an abort) causing issues for you?

Yes, both the expected and actual value should be printed now that I think about it, but want to first make sure there isn't a more urgent regression to fix.

Ah okay, looking at the code there definitely is a problem due to using LOADER_MAGIC_NUMBER instead of DEVICE_DISP_TABLE_MAGIC_NUMBER.

Thats an easy fix, as well as a test to ensure that device dispatching also is correct.

it's this new check added in the commit: } else if (LOADER_MAGIC_NUMBER != dev->loader_dispatch.core_dispatch.magic) {

Just causing a bunch of noise, nothings seems particularly broken otherwise.

I am fairly confident this regression is due to death_tests having poor logging visibility, as they run in a subprocess. Checking that the log in the test is 'correct' and free of spam is easy to forget to do, which I apparently did here. I'm creating a PR for this shortly.

Thanks!

Thanks for promptly reporting this!