Hey, I get an access violation crash in my engine with the latest GPA.
It crashes while creating the VkImageView instances for the swapchain.
It worked in previous versions of Graphics Monitor and iGPU driver.
This crash only happens when GPA is running. The engine works when GPA is fully closed.
I've attached the output of VK_LAYER_LUNARG_api_dump in the api_dump.log file.
Stacktrace for crash:
Exception thrown at 0x0000000000000000 in Game.exe: 0xC0000005: Access violation executing location 0x0000000000000000.
RAX = 0000000000000000 RBX = 000001FF6368F010 RCX = 000001FF45DBB0F8 RDX = 000000AE8FEFEBD0
RSI = 000000AE8FEFEBD0 RDI = 0000000000000000 R8 = 0000000000000000 R9 = 000001FF6368F010
R10 = 00007FFFE0F8BA50 R11 = 000001FF44EC4000 R12 = 000001FF636F2B50 R13 = FFFFFFFFFFFFFFFF
R14 = 0000000000000000 R15 = 000001FF6368F010 RIP = 0000000000000000 RSP = 000000AE8FEFE698
RBP = 000001FF45DBB0F8 EFL = 00010200
> Game.dll!SwapChainCreate() C++
Probably not related to the crash. But there is also a validation error when vkCreateDevice is called:
VALIDATION-ERROR [VUID-vkCmdResetQueryPool-firstQuery-00797] : 0xa7c5450000000023 :
Validation Error: [ VUID-vkCmdResetQueryPool-firstQuery-00797 ]
Object 0: handle = 0xa7c5450000000023, type = VK_OBJECT_TYPE_QUERY_POOL; | MessageID = 0xd66ad571 | VkCmdResetQueryPool():
In Query VkQueryPool 0xa7c5450000000023 the sum of firstQuery (10) + queryCount (2) is greater than the queryPool size (11).
The Vulkan spec states: The sum of firstQuery and queryCount must be less than or equal to the number of queries in queryPool
> Game.dll!createLogicalDevice() C++
Name: Windows 10 Version 2009 (OS Build 19043.1110)
Windows Developer Mode is enabled
Secure Boot/Trusted Boot is disabled
Cores count: 12
Version: Intel Corp. FNCML357.0052.2021.0409.1144
GPU #1 Information:
Name: Microsoft Remote Display Adapter
Driver Version: 10.0.19041.662
Driver Date: 6-21-2006
GPU #2 Information:
Name: Intel(R) UHD Graphics
Vendor id: 0x8086
Product id: 0x9BCA
Driver Version: 126.96.36.19966
Driver Date: 3-30-2021
Memory: 32572 MB
Screen: 1920x1080, 32 bit
Graphics Performance Analyzers:
Commit hash: c175604e
Installation folder: C:\Program Files\IntelSWTools\GPA\
First, I see that you have Microsoft Remote Display Adapter listed as your GPU#1 in GPA. This could mean you don't have the driver loaded for your iGPU. Based on the driver version showing for GPU#2, 188.8.131.5266, I am guessing you are running UHD Graphics 750?
So, do you have this driver installed? If not, is there a reason?
Second, the validation error shows that you are trying to allocate memory outside of your memory pool, which could indeed cause a crash if you attempt later to read or write from that memory. Did you change something in your engine that may cause an out of bounds issue?
I'm running UHD Graphics 620 (as the processor is Intel Core i7-10710U, inside of Intel NUC BXNUC10I7FNK2).
The 184.108.40.20666 driver is installed as it was the recommended one by GPA when I updated GPA.
I just tried the latest driver (220.127.116.1164) and the problem is still there.
The Microsoft Remote Display Adapter is listed as I use "Remote Desktop" to see the NUCs display output from my development machine.
Which works when GPA isn't running.
The validation error is not part of my code, it is from somewhere inside one of the GPA dlls, as it happens when I call `vkCreateDevice`.
Sorry if any of this was confusion from the original post.
I would have reported this as a support ticket on "Online Service Center" as this problem (the vkCreateImageView crash) is a regression, but GPA is not listed there.
We tested as closely as possible to your config using GPA Framework and could not replicate.
My workflow is:
- Connect to the NUC via Remote Desktop.
- Start Visual Studio 2019 Remote debugging
- Start Graphics Monitor 2021 R2, and enable auto-detect launched programs.
- Change the capture mode to "Stream [VK]".
- Then on my dev machine, I start remote debugging in Visual Studio 2019
In visual studio, I continue past the "VUID-vkCmdResetQueryPool-firstQuery-00797" vulkan validation error that happens during `vkCreateDevice`.
And then it will crash while running `vkCreateImageView` for the swapchain images retrieved from vkGetSwapchainImagesKHR.
Exception thrown at 0x0000000000000000 in Game.exe: 0xC0000005: Access violation executing location 0x0000000000000000. 0000000000000000() Unknown igpa-shim-x64.dll!00007ffec062fc4e() Unknown MetricsLayer-x64.dll!00007ffec0106ef1() Unknown capture-x64.dll!00007ffebd91e666() Unknown capture-x64.dll!00007ffebd4b6be0() Unknown igpa-shim-x64.dll!00007ffec0616105() Unknown > MyEngine.dll!VulkanSwapChain::create() C++
Current system specs on the nuc:
Driver Version: 18.104.22.16864
Driver Date: 8-20-2021
Graphics Performance Analyzers:
Commit hash: c175604e
Thanks for the quick response
Thanks for the clarity. This may help us trace the issue.
What is your workload? . . . the application you are profiling? It will help us track the issue if we can test the same workload. If it is proprietary, you can send it to me via private message - envelope icon, top-right of this page.
This issue is in our pipeline. We haven't seen it with any other workload. I'm wondering if you experience the same issue with GPA 21.3 (released 23.Sept.).
I tested GPA 21.3 and it sadly did not fix my issue.
I've tested both driver version 22.214.171.12466(Driver Date: 3-30-2021, GPA recommended) and 126.96.36.19964(Driver Date: 8-20-2021, latest driver).
0xC0000005: Access violation executing location 0x0000000000000000. 0000000000000000() Unknown igpa-shim-x64.dll!00007ff84846168e() Unknown MetricsLayer-x64.dll!00007ff8480671d1() Unknown capture-x64.dll!00007ff83ecb7dd6() Unknown capture-x64.dll!00007ff83e841457() Unknown igpa-shim-x64.dll!00007ff8484465d5() Unknown > Client.dll!createSwapchainImageView()