Occasional access violation exception from during vtkRendering

We are facing occasional runtime crashes from NVIDIA and VTK due to the Access Violation exception. We are using vtk 8.1.0. Please suggest if this is any known problem and any solution or workaround exists.

Exception message:
NVIDIA OpenGL Driver: Unable to recover from a kernel exception. The application must close.
Error code: 3 (subcode 7)
Configuration:

  • NVIDIA Quadro Series | Quadro K5200
    Use case:
  • We receive stereo camera images from our cameras and then augment the camera image with virtual objects.
  • We then pass these processed images to the vtk pipeline which in turn uses Open GL to render the image on a window.
  • To reproduce this issue, we frequently turn on and off the camera acquisition/feed and suspend the vtk rendering activities when the camera feed is turned off.

Windows crash dump is as follows: (Note: Application sensitive information is replaced with X)

NTGLOBALFLAG: 0

PROCESS_BAM_CURRENT_THROTTLED: 0

PROCESS_BAM_PREVIOUS_THROTTLED: 0

APPLICATION_VERIFIER_FLAGS: 0

CONTEXT: (.ecxr)
rax=0000020a23703c70 rbx=00000209b3f51de0 rcx=0000000000000000
rdx=00000000ffffffff rsi=0000007a54379bc0 rdi=000002f9b0ea0ef0
rip=00007ffd319b2e07 rsp=0000007a54379b20 rbp=0000000000000000
r8=0000000020010519 r9=0000020a2fe63400 r10=00000fffa6318c52
r11=ffffffffffffffff r12=0000000000000000 r13=0000000000000000
r14=0000000000000000 r15=00000209b2870000
iopl=0 nv up ei pl nz na po nc
cs=0033 ss=002b ds=002b es=002b fs=0053 gs=002b efl=00010206
nvoglv64!DrvPresentBuffers+0xb3547:
00007ffd319b2e07 48894708 mov qword ptr [rdi+8],rax ds:000002f9b0ea0ef8=???
Resetting default scope

EXCEPTION_RECORD: (.exr -1)
ExceptionAddress: 00007ffd319b2e07 (nvoglv64!DrvPresentBuffers+0x00000000000b3547)
ExceptionCode: c0000005 (Access violation)
ExceptionFlags: 00000000
NumberParameters: 2
Parameter[0]: 0000000000000001
Parameter[1]: 000002f9b0ea0ef8
Attempt to write to address 000002f9b0ea0ef8

PROCESS_NAME: XXXXX.Application.exe

WRITE_ADDRESS: 000002f9b0ea0ef8

ERROR_CODE: (NTSTATUS) 0xc0000005 - The instruction at 0x%p referenced memory at 0x%p. The memory could not be %s.

EXCEPTION_CODE_STR: c0000005

EXCEPTION_PARAMETER1: 0000000000000001

EXCEPTION_PARAMETER2: 000002f9b0ea0ef8

STACK_TEXT:
0000007a54379b20 00007ffd319b39a5 : 00000209b3f51de0 0000000000000000 0000000000000000 0000000000000000 : nvoglv64!DrvPresentBuffers+0xb3547
0000007a54379b60 00007ffd319b4f7b : 0000000000000000 0000020a23703c70 0000000000000001 00000209b3f51de0 : nvoglv64!DrvPresentBuffers+0xb40e5
0000007a54379b90 00007ffd318b40cc : 0000007a54379cd0 0000020a23703c70 00007ffd769286f1 0000020a23a57540 : nvoglv64!DrvPresentBuffers+0xb56bb
0000007a54379c20 00007ffd318c7e54 : 00000209b2870000 000000000000002c 0000020a1615ddf0 0000020a1615ddf0 : nvoglv64+0xcc40cc
0000007a54379d10 00007ffd318c6383 : 0000020a1615ddf0 0000000000000003 000000000000002c 00007ffd71d507e4 : nvoglv64!DrvValidateVersion+0x3c4
0000007a54379d40 00007ffd3d975362 : 0000020a3040be20 0000000000000078 00007ffd3d950000 0000000000000000 : nvoglv64!DrvReleaseContext+0xf3
0000007a54379d70 00007ffd3d974d24 : 0000000000010003 0000000000010003 000000000000002c 0000000000000003 : opengl32!bMakeNoCurrent+0x62
0000007a54379da0 00007ffd3d9752f1 : 0000000000000003 0000020988f3d210 0000000000000000 ffffffffb7010b84 : opengl32!MakeAnyCurrent+0x154
0000007a54379de0 00007ffd3e96cce2 : 00007ffd3ef81ae0 0000000000000008 0000000000000000 000002098825cea0 : opengl32!wglMakeCurrent+0x2d1
0000007a54379e80 00007ffd3eaefc51 : 0000020988e4ac40 00007ffd3ef81a30 00001bde4adb8975 00007ffd61d5c0e8 : vtkRenderingOpenGL2_8_1!vtkWin32OpenGLRenderWindow::MakeCurrent+0x162
0000007a54379ef0 00007ffd3eaefc0a : 000002098825cf20 00000209b401ea90 000002098825cea0 0000007a54379f80 : vtkRenderingCore_8_1!vtkRenderWindow::DoStereoRender+0x21
0000007a54379f20 00007ffd3eaef7fb : 0000007a5437a118 0000000000000000 00007ffd025f7d40 0000007a54379fe0 : vtkRenderingCore_8_1!vtkRenderWindow::DoFDRender+0x40a
0000007a5437a020 00007ffd3eaf0f3d : 0000007a5437d540 0000000000000000 00007ffd025f76c0 0000007a5437a0f0 : vtkRenderingCore_8_1!vtkRenderWindow::DoAARender+0x4eb
0000007a5437a120 00007ffd3edb4403 : 00000209b401eb98 00000000ffffffff 0000007a5437a2a0 00000209b401ea90 : vtkRenderingCore_8_1!vtkRenderWindow::Render+0x47d
0000007a5437a1b0 00007ffd02e9dda7 : 00000209b401ea90 0000000000000000 0000000000000000 00007ffd02e9bf64 : xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx!SD::ViewerVtk::Render+0x63
0000007a5437a1f0 00007ffd053ff59e : 00000000ffffffff 0000000000000000 0000007a5437a2f0 00007ffd053ff536 : 0x00007ffd02e9dda7 0000007a5437a2b0 00007ffd052c25f6 : 0000020989a48ac8 0000020988f3d210 0000020988f35408 0000020988f2f298 : 0x00007ffd053ff59e
0000007a5437a340 00007ffd02efd282 : 0000020989a48518 0000020988f55f60 0000020988f55f60 0000000000000000 : 0x00007ffd052c25f6 0000007a5437a380 00007ffd02efd131 : 0000007a5437a3c0 0000020988f2f3c8 0000000000000001 0000020988f2f2e0 : 0x00007ffd02efd282
0000007a5437a3e0 00007ffd02f0d72a : 0000020988f2f168 0000020988f2f2e0 0000020988f2f2e0 0000000000000000 : 0x00007ffd02efd131 0000007a5437a430 00007ffd02f0d4fb : 000002098ae97380 0000020988f35408 0000020988f35408 000002098bb26ab0 : 0x00007ffd02f0d72a
0000007a5437a4a0 00007ffd02f0c107 : 0000000000000000 0000020988f2f2e0 0000000000000000 00001ba4089fcecf : 0x00007ffd02f0d4fb 0000007a5437a500 00007ffd02f0d2c7 : 00007ffd76d59904 0000007a5437a520 0000000000000000 0000007a5437a620 : 0x00007ffd02f0c107
0000007a5437a570 00007ffd02f0d07e : 000002098ae97408 0000000000000000 0000000000000000 0000000000000000 : 0x00007ffd02f0d2c7 0000007a5437a5d0 00007ffd02f0ca44 : 0000000000000000 0000020900000000 000000000000c1ba 00007ffd02efdb71 : 0x00007ffd02f0d07e
0000007a5437a630 00007ffd02f0c26b : 000000000009029c 000000000000c1ba 0000020988f2f708 0000007a5437a778 : 0x00007ffd02f0ca44 0000007a5437a6d0 00007ffd02efd9ba : 0000020983e65f38 00007ffd01dc3140 000028116da215d0 00007ffd021ddfd8 : 0x00007ffd02f0c26b
0000007a5437a740 00007ffd02efd8d6 : 0000000000000000 00007ffd77d8e943 8000601100000001 0000000000000000 : 0x00007ffd02efd9ba 0000007a5437a7d0 00007ffd02efd322 : 0000000000000070 ffffffffffffffff ffffffffffffffff 00007ffd76f673a9 : 0x00007ffd02efd8d6
0000007a5437a820 00007ffd02efd131 : 0000020988f2f2e0 00007ffd02efd095 0000020983e66000 0000000000000000 : 0x00007ffd02efd322 0000007a5437a880 00007ffd02efcd77 : 0000020988f2f168 0000020988f2f2e0 000000000000c1ba 00007ffd02ef991b : 0x00007ffd02efd131
0000007a5437a8d0 00007ffd02efd6d6 : 000000000000c1ba 0000007a5437aa50 0000020988f2faf0 0000000000000000 : 0x00007ffd02efcd77 0000007a5437a960 00007ffd01f0a750 : 0000000000000000 0000007a5437aad0 000000000009029c 0000000000000000 : 0x00007ffd02efd6d6
0000007a5437aa60 00007ffd76f674d6 : 0000000000000001 0000000000000000 0000000000000000 00007ffd71d4d488 : 0x00007ffd01f0a750 0000007a5437aae0 00007ffd76f66ff2 : 0000020980d5fa30 00007ffd01dc31a4 000000000009029c 0000007a5437ad10 : user32!UserCallWinProcCheckWow+0x266 0000007a5437ac60 00007ffd76f7edb3 : 0000007a5437ad10 0000000000000000 0000000000000000 0000020980d704f0 : user32!DispatchMessageWorker+0x1b2 0000007a5437ace0 00007ffd76f7eb74 : 0000000000000000 0000000000000000 0000000000000000 0000000000000002 : user32!DialogBox2+0x217 0000007a5437ad70 00007ffd76fc3596 : 0000000000010003 0000007a5437aed0 0000007a5437b0f0 0000020a317c5990 : user32!InternalDialogBox+0x120 0000007a5437add0 00007ffd76fc1fd5 : 0000000000000000 00007ffd000000dd 00007ffd000002f7 00007ffd00000032 : user32!SoftModalMessageBox+0x7e6 0000007a5437af20 00007ffd76fc2d12 : 0000000000000000 0000000000000012 000000000000000e 0000000000000800 : user32!MessageBoxWorker+0x319 0000007a5437b0d0 00007ffd76fc2b32 : 0000000000000000 0000000000042114 00007ffd0000002a 0000020983b34570 : user32!MessageBoxTimeoutW+0x192 0000007a5437b1d0 00007ffd76fc275e : 0000007a5437b323 0000020983b34570 0000000000000003 0000000000000007 : user32!MessageBoxTimeoutA+0x102 0000007a5437b230 00007ffd318d2938 : 0000020983f70088 0000000000000001 00007ffd32c72fd8 00007ffd32c72e38 : user32!MessageBoxA+0x4e 0000007a5437b270 00007ffd3192e3f1 : 0000000000000300 00000209b3f51de0 0000007a5437b2c0 0000000000000000 : nvoglv64!DrvValidateVersion+0xaea8 0000007a5437b6f0 00007ffd3192c9c7 : 00000209b3f52338 0000000000000007 0000000000000000 0000000000000001 : nvoglv64!DrvPresentBuffers+0x2eb31 0000007a5437b760 00007ffd31917fb1 : 0000000000000000 00000209b3f51de0 0000000000000001 0000000040002740 : nvoglv64!DrvPresentBuffers+0x2d107 0000007a5437b840 00007ffd31a920a9 : 0000020900000000 00000209b3f51de0 00000209b3f51de0 0000000000000f00 : nvoglv64!DrvPresentBuffers+0x186f1 0000007a5437b8b0 00007ffd31a91d99 : 00000209b3f51de0 0000000000000002 0000000000000000 00000209b3f51de0 : nvoglv64!DrvPresentBuffers+0x1927e9 0000007a5437b900 00007ffd31a9821d : 0000007a00000000 0000020a2e5cf850 0000007a5437ba60 0000000000000000 : nvoglv64!DrvPresentBuffers+0x1924d9 0000007a5437b930 00007ffd31a994e7 : 0000007a5437cc01 0000007a5437c910 00000209b3f51d00 0000007a5437c901 : nvoglv64!DrvPresentBuffers+0x19895d 0000007a5437bcb0 00007ffd31ab72d6 : 00000209b0e6f300 00007ffd00000000 0000020a23703c70 0000007a5437cce0 : nvoglv64!DrvPresentBuffers+0x199c27 0000007a5437be70 00007ffd318ce9e6 : 0000007a5437cce0 00000209b3f51de0 0000007a5437cce0 00007ffd318ce0ef : nvoglv64!DrvPresentBuffers+0x1b7a16 0000007a5437bf50 00007ffd31a74a43 : 0000020a23703c70 00000209b3f51de0 0000000000000001 0000000000000000 : nvoglv64!DrvValidateVersion+0x6f56 0000007a5437bfa0 00007ffd31a2b2a6 : 0000000000000001 0000007a5437cce0 0000020900000001 0000020a23703c70 : nvoglv64!DrvPresentBuffers+0x175183 0000007a5437c840 00007ffd314d3c6f : 0000000000001901 0000000000000000 0000000000000019 00007ffd00000500 : nvoglv64!DrvPresentBuffers+0x12b9e6 0000007a5437d150 00007ffd314dabee : 0000000000000000 0000000000000000 0000000000000400 0000000000000000 : nvoglv64+0x8e3c6f 0000007a5437d1e0 00007ffd3d97fb28 : 0000020ba16a5040 00000209b2870000 00000209b2903b50 00007ffd3168a467 : nvoglv64+0x8eabee 0000007a5437d230 00007ffd3e9284c0 : 0000000000000000 0000007a5437d311 0000007a5437d3a0 0000000000000000 : opengl32!glReadPixels+0x78 0000007a5437d280 00007ffd3e926f0d : ffffffffd2010c44 00007ffd7662b01e 00007ffd3d950000 0000000000000009 : vtkRenderingOpenGL2_8_1!vtkOpenGLRenderWindow::ReadPixels+0x220 0000007a5437d360 00007ffd3edb4cfd : 0000007a5437d4e8 0000000000000000 0000000000000000 00007ffd3ed4554c : vtkRenderingOpenGL2_8_1!vtkOpenGLRenderWindow::GetPixelData+0xad 0000007a5437d400 00007ffd3ed4807f : 00000209b67e7ad0 00000209b6396780 0000007a5437d4e8 0000000000000000 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX!SD::ViewerVtk::Capture+0x9d 0000007a5437d4a0 00007ffd02e9dda7 : 00000209b63965b0 0000000000000000 0000000000000000 00007ffd02e9bf64 : XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX!SD::ARViewer::Render+0xbf 0000007a5437d510 00007ffd053a496e : 00000000ffffffff 0000000000000000 0000007a5437d610 00007ffd053a4906 : 0x00007ffd02e9dda7
0000007a5437d5d0 00007ffd052c25f6 : 0000020989d01958 0000020988f3d210 0000020988f35408 0000020988f2f298 : 0x00007ffd053a496e 0000007a5437d660 00007ffd02efd282 : 0000020989d01248 00007ffd021d43e0 0000000000000130 0000000000000000 : 0x00007ffd052c25f6
0000007a5437d6a0 00007ffd02efd131 : 0000007a5437d6e0 0000020988f2f3c8 0000000000000001 0000020988f2f2e0 : 0x00007ffd02efd282 0000007a5437d700 00007ffd02f0d72a : 0000020988f2f168 0000020988f2f2e0 0000000000000004 0000000000000000 : 0x00007ffd02efd131
0000007a5437d750 00007ffd02f0d4fb : 000002098ae4dd28 0000020988f35408 0000020988f35408 000002098ba28670 : 0x00007ffd02f0d72a 0000007a5437d7c0 00007ffd02f0c107 : 0000020988e4ac40 0000020988f2f2e0 0000000000000000 00001ba4089fb22f : 0x00007ffd02f0d4fb
0000007a5437d820 00007ffd02f0d2c7 : 00007ffd76d59904 0000007a5437d840 0000000000000000 0000007a5437d940 : 0x00007ffd02f0c107 0000007a5437d890 00007ffd02f0d07e : 000002098ae4ddb0 0000000000000000 0000000000000000 0000000000000000 : 0x00007ffd02f0d2c7
0000007a5437d8f0 00007ffd02f0ca44 : 0000000000000000 0000020900000000 000000000000c1ba 00007ffd02efdb71 : 0x00007ffd02f0d07e 0000007a5437d950 00007ffd02f0c26b : 000000000009029c 000000000000c1ba 0000020988f2f708 0000007a5437da98 : 0x00007ffd02f0ca44
0000007a5437d9f0 00007ffd02efd9ba : 00007ffd054ae900 00007ffd01dc3140 000028116da26af0 00007ffd77d8e943 : 0x00007ffd02f0c26b 0000007a5437da60 00007ffd02efd8d6 : 0000020988e4ac40 0000000000000000 8000601100000001 0000000000000000 : 0x00007ffd02efd9ba
0000007a5437daf0 00007ffd02efd322 : 0000000000000001 00007ffd6197f731 0000020988e4ac40 0000000000000000 : 0x00007ffd02efd8d6 0000007a5437db40 00007ffd02efd131 : 0000020988f2f2e0 00007ffd02efd095 00002f684d6d38cf 00007ffd61bc29a2 : 0x00007ffd02efd322
0000007a5437dba0 00007ffd02efcd77 : 0000020988f2f168 0000020988f2f2e0 000000000000c1ba 00007ffd02ef991b : 0x00007ffd02efd131 0000007a5437dbf0 00007ffd02efd6d6 : 0000020989860970 00007ffd02bf4710 00000209ad6cfce0 00001ba400000000 : 0x00007ffd02efcd77
0000007a5437dc80 00007ffd01f0a750 : 0000000000000000 0000007a5437ddf0 000000000009029c 00007ffd71d4d488 : 0x00007ffd02efd6d6 0000007a5437dd80 00007ffd76f674d6 : 0000000000000001 0000000000000000 0000020989069cb0 00000000000b00fc : 0x00007ffd01f0a750
0000007a5437de00 00007ffd76f66ff2 : 0000020980d5fa30 00007ffd01dc31a4 000000000009029c 0000007a5437e100 : user32!UserCallWinProcCheckWow+0x266
0000007a5437df80 00007ffd022b5e6b : 0000007a5437e100 0000020900000000 0000007a5437e3b8 0000007a5437e100 : user32!DispatchMessageWorker+0x1b2
0000007a5437e000 00007ffd49a3aa0f : 0000020988f591f8 0000007a5437e100 00007ffd01dc4000 00007ffd023fca00 : 0x00007ffd`022b5e6b

STACK_COMMAND: ~0s; .ecxr ; kb

SYMBOL_NAME: nvoglv64+b3547

MODULE_NAME: nvoglv64

IMAGE_NAME: nvoglv64.dll

FAILURE_BUCKET_ID: INVALID_POINTER_WRITE_c0000005_nvoglv64.dll!Unknown

OS_VERSION: 10.0.17763.1

BUILDLAB_STR: rs5_release

OSPLATFORM_TYPE: x64

OSNAME: Windows 10

IMAGE_VERSION: 30.0.14.7284

@sankhesh Any ideas? I suspect you might have the hardware to test this.

How do you suspend vtk rendering activities? The stack trace makes me think that vtk is trying to make a context current but there is none available.