DxVA: crash when stopping video with Intel
Sometimes, when stopping a video, I get a crash on the following location:
gdb: Target exception EXCEPTION_ACCESS_VIOLATION at 0x7fee157b577
read access violation at 0x628
Thread 23 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 2692.0x1964]
0x000007fee157b577 in igdumdim64!OpenAdapter ()
from C:\Windows\system32\igdumdim64.dll
(gdb) bt
[#0](https://code.videolan.org/videolan/vlc/-/issues/0) 0x000007fee157b577 in igdumdim64!OpenAdapter () from C:\Windows\system32\igdumdim64.dll
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x000007fee156fe0b in igdumdim64!OpenAdapter () from C:\Windows\system32\igdumdim64.dll
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x000007fee2ee2f6b in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x000007fee2ee2c40 in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x000007fee2ee51f3 in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x000007fee2e3b389 in d3d9!Direct3DCreate9 () from C:\Windows\system32\d3d9.dll
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x000007fee2e008b4 in d3d9!Direct3DCreate9Ex () from C:\Windows\system32\d3d9.dll
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x000007fee2e2449c in d3d9!Direct3DShaderValidatorCreate9 () from C:\Windows\system32\d3d9.dll
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x000007fee2e8d66e in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x000007fea65f23ef in Display (vd=0x66b9aa0, picture=0x6aa0830, subpicture=0x0)
at ../../extras/package/win32/../../../modules/video_output/win32/direct3d9.c:574
[#10](https://code.videolan.org/videolan/vlc/-/issues/10) 0x000007fed8cb5d66 in vout_display_Display (subpicture=0x0, picture=0x6aa0830, vd=0x66b9aa0)
at ../../extras/package/win32/../../../include/vlc_vout_wrapper.h:57
[#11](https://code.videolan.org/videolan/vlc/-/issues/11) ThreadDisplayRenderPicture (vout=vout@entry=0x12a8df00, is_forced=<optimized out>)
at ../../extras/package/win32/../../../src/video_output/video_output.c:1102
[#12](https://code.videolan.org/videolan/vlc/-/issues/12) 0x000007fed8cb7804 in ThreadDisplayPicture (vout=vout@entry=0x12a8df00, deadline=deadline@entry=0x999fd08)
at ../../extras/package/win32/../../../src/video_output/video_output.c:1173
[#13](https://code.videolan.org/videolan/vlc/-/issues/13) 0x000007fed8cb7ad1 in Thread (object=0x12a8df00) at ../../extras/package/win32/../../../src/video_output/video_o
[#14](https://code.videolan.org/videolan/vlc/-/issues/14) 0x000007fed8cea176 in vlc_entry (p=0x6b0fe70) at ../../extras/package/win32/../../../src/win32/thread.c:470
[#15](https://code.videolan.org/videolan/vlc/-/issues/15) 0x000007fefe51415f in srand () from C:\Windows\system32\msvcrt.dll
[#16](https://code.videolan.org/videolan/vlc/-/issues/16) 0x000007fefe516ebd in msvcrt!_ftime64_s () from C:\Windows\system32\msvcrt.dll
[#17](https://code.videolan.org/videolan/vlc/-/issues/17) 0x00000000775959ed in KERNEL32!BaseThreadInitThunk () from C:\Windows\system32\kernel32.dll
[#18](https://code.videolan.org/videolan/vlc/-/issues/18) 0x00000000776cc541 in ntdll!RtlUserThreadStart () from C:\Windows\SYSTEM32\ntdll.dll
[#19](https://code.videolan.org/videolan/vlc/-/issues/19) 0x0000000000000000 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)
(gdb) up
[#1](https://code.videolan.org/videolan/vlc/-/issues/1) 0x000007fee156fe0b in igdumdim64!OpenAdapter () from C:\Windows\system32\igdumdim64.dll
(gdb)
[#2](https://code.videolan.org/videolan/vlc/-/issues/2) 0x000007fee2ee2f6b in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
(gdb)
[#3](https://code.videolan.org/videolan/vlc/-/issues/3) 0x000007fee2ee2c40 in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
(gdb)
[#4](https://code.videolan.org/videolan/vlc/-/issues/4) 0x000007fee2ee51f3 in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
(gdb)
[#5](https://code.videolan.org/videolan/vlc/-/issues/5) 0x000007fee2e3b389 in d3d9!Direct3DCreate9 () from C:\Windows\system32\d3d9.dll
(gdb)
[#6](https://code.videolan.org/videolan/vlc/-/issues/6) 0x000007fee2e008b4 in d3d9!Direct3DCreate9Ex () from C:\Windows\system32\d3d9.dll
(gdb)
[#7](https://code.videolan.org/videolan/vlc/-/issues/7) 0x000007fee2e2449c in d3d9!Direct3DShaderValidatorCreate9 () from C:\Windows\system32\d3d9.dll
(gdb)
[#8](https://code.videolan.org/videolan/vlc/-/issues/8) 0x000007fee2e8d66e in d3d9!DebugSetLevel () from C:\Windows\system32\d3d9.dll
(gdb)
[#9](https://code.videolan.org/videolan/vlc/-/issues/9) 0x000007fea65f23ef in Display (vd=0x66b9aa0, picture=0x6aa0830, subpicture=0x0)
at ../../extras/package/win32/../../../modules/video_output/win32/direct3d9.c:574
574 hr = IDirect3DDevice9Ex_PresentEx(p_d3d9_dev->devex, &src, &dst, NULL, NULL, 0);
(gdb) l
569 const RECT src = sys->sys.rect_dest_clipped;
570 const RECT dst = sys->sys.rect_dest_clipped;
571
572 HRESULT hr;
573 if (sys->hd3d.use_ex) {
574 hr = IDirect3DDevice9Ex_PresentEx(p_d3d9_dev->devex, &src, &dst, NULL, NULL, 0);
575 } else {
576 hr = IDirect3DDevice9_Present(p_d3d9_dev->dev, &src, &dst, NULL, NULL);
577 }
578 if (FAILED(hr)) {
I use Win7, with vlc-3.0.0-20171228-0501-rc5-win64-debug.7z (today's nightly build).
Attached a log where I first started the video, fullscreen on, fullscreen off, stop. First time no problem. Then I repeated the same steps, play, fullscreen on/off, stop -> crash.
I've had it crash sometimes on the first stop as well, and sometimes I can repeat that whole sequence 20 times and still no problem.
The address where it tries to read from is not always 0x628, I've had 0x748 sometimes as well.
If you need more information, just ask.
Edited by Jean-Baptiste Kempf