Crash after few frames in Dx12 application

Good morning. I am currently experiencing a crash when trying to run Nsight Graphics 2019.1 on my application.

The applications start, run a few frames then NSight crashes.
I managed to get a memory dmp. By the looks of it, the crash is deep in the NVidia dll and possible related to an allocator. (Maybe command allocator)?

For comparison, I am able to run the application successfully no crashes on four systems spanning a various combination of the all three major IHV. Pix and Radeon profiler work with no issues on all applicable platforms.

The attached dmp file is created on a system with 2700X + 2080ti. Raytracing DXR is not involved. Device and command list are V3.

Dump: https://1drv.ms/u/s!Ai0n7iKmKMz0gbEQoyqyYNKSPusDRQ

Any idea?

On a side note, I am not able to attach to a process rather than let NSight kick the application start. If I go on the “attach” tab no processes are displayed on localhost.

Here part of the analysis of the dmp:

PRIMARY_PROBLEM_CLASS:  NULL_POINTER_READ

BUGCHECK_STR:  APPLICATION_FAULT_NULL_POINTER_READ

LAST_CONTROL_TRANSFER:  from 00007ffda592dda2 to 00007ffd7f2f6412

STACK_TEXT:  
00000016`f11ef048 00007ffd`a592dda2 : 00000000`00000008 00007ffd`844b4498 00000206`7c890fa0 00000206`7c86dd50 : nvwgf2umx+0x3d6412
00000016`f11ef050 00000000`00000008 : 00007ffd`844b4498 00000206`7c890fa0 00000206`7c86dd50 00000206`7c890fa0 : nvapi64+0x25dda2
00000016`f11ef058 00007ffd`844b4498 : 00000206`7c890fa0 00000206`7c86dd50 00000206`7c890fa0 00007ffd`843f9272 : 0x8
00000016`f11ef060 00000206`7c890fa0 : 00000206`7c86dd50 00000206`7c890fa0 00007ffd`843f9272 00000000`00000000 : D3D12!`CCommandAllocator::_GetEntries'::`2'::_entries+0x28
00000016`f11ef068 00000206`7c86dd50 : 00000206`7c890fa0 00007ffd`843f9272 00000000`00000000 00000000`00000000 : 0x206`7c890fa0
00000016`f11ef070 00000206`7c890fa0 : 00007ffd`843f9272 00000000`00000000 00000000`00000000 00000000`00000000 : 0x206`7c86dd50
00000016`f11ef078 00007ffd`843f9272 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : 0x206`7c890fa0
00000016`f11ef080 00000000`00000000 : 00000000`00000000 00000000`00000000 00000000`00000000 00000000`00000000 : D3D12!CPrivateData::Set+0x6e

STACK_COMMAND:  ~0s; .ecxr ; kb

SYMBOL_STACK_INDEX:  0

SYMBOL_NAME:  nvwgf2umx+3d6412

FOLLOWUP_NAME:  MachineOwner

MODULE_NAME: nvwgf2umx

IMAGE_NAME:  nvwgf2umx.dll

DEBUG_FLR_IMAGE_TIMESTAMP:  5c5b3624

FAILURE_BUCKET_ID:  NULL_POINTER_READ_c0000005_nvwgf2umx.dll!Unknown

BUCKET_ID:  X64_APPLICATION_FAULT_NULL_POINTER_READ_nvwgf2umx+3d6412

WATSON_STAGEONE_URL:  http://watson.microsoft.com/StageOne/Sandbox_exe/0_0_0_0/5c67e9a7/nvwgf2umx_dll/25_21_14_1891/5c5b3624/c0000005/003d6412.htm?Retriage=1

bf00aa7b-4a5b-4dbd-8288-d32956882e88.7z (12.1 KB)

Hi Giordi,

Sorry that you are running into these issues!

Let’s break these up into two issues:

#1) Interesting crash. Thanks for all the details. I’ll file a bug internally and see if we can repro on our side. Something that will make this go by much faster is if you can share the app or have a sample that can reproduce the issue. I’ll see what the dev team has to say and let you know!

#2) The process tab is a bit confusing. Essentially, when a process is launched via Nsight Graphics, the dll is injected, but we are not “attached”. Then once we attach, we can call on the dll to get us data in order to debug/profile. By default, we attach right when we inject into a process. You can set “Attach Connect” to “no” to change this behavior. Nsight Graphics can only be attached to one process at a time, so this is helpful when a game uses a parent process to launch a child process that has the interesting rendering information. Try launching your application with “Automatically Connect” to “No” and see if this helps with the above error as well.

Thank you, about the crash we are getting it at work as well, so I have logged it through the partner program if you can pick that up, the ticket is: 2514117
We can continue the conversation there. If it is not you looking after those bugs I am more than happy to keep to separated and parallel conversations.

About the process tab, I think I understand it. Mostly I wanted to be able to run the application under the debugger to have more information about it. Render doc allows to do that by starting the application and attach render doc before graphics is initialized, is enough to start the application with a break in the first line of main, then attach RD and everything moves forward, it was really useful to find bugs in render doc and our applications. Would be cool to get the same feature in NSight, that is roughly what I expected from the attach tab.

Hi Giordi,

Sounds good. I found the NVBug and we can continue the conversation there.

I’ll post back here with the solution for anyone else who might run into this issue as well. (DG-4085)

Thanks,
Seth

Just wanted to post here in case anyone else comes across this issue. This bug was fixed in 2019.2, so please upgrade your build to one later than 2019.2 and it should fix your issue.

Thanks,
Seth