VDPAU fails decoding Mpeg2 on GTX 660 and 384.59

Running:

mpv --hwdec=vdpau

on an Mpeg2 encoded video on my Nvidia GTX 660 using the latest driver 384.59 on Archlinux results in a GPU page fault:

NVRM: Xid (PCI:0000:01:00): 31, Ch 00000012, engmask 00000101, intr 10000000

And my system grinds to a halt until the process is terminated.

Exactly the same occurs with VLC.

Opening the movie without --hwdec=vdpau gives no problem.

vdpau_trace.log (260 KB)
nvidia-bug-report.log.gz (200 KB)

Could someone test the above for me on a similar setup on an MPEG 2 video?

Lynxthecat
i have just tested : mpv --hwdec=vdpau

it works fine
here the output :
mpv --hwdec=vdpau ~/Schreibtisch/20170802\ 1628\ -\ Das\ Erste\ -\ Fußball\ -\ Audi\ Cup.ts
Warning: mpv was compiled against a different version of ffmpeg than the shared
library it is linked against. This can expose subtle ABI compatibility issues
and can lead to misbehavior and crashes.
Playing: /home/mounir/Schreibtisch/20170802 1628 - Das Erste - Fußball - Audi Cup.ts
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg] NULL: start time for stream 5 is not set in estimate_timings_from_pts
[ffmpeg] NULL: start time for stream 6 is not set in estimate_timings_from_pts
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 7 (Unknown: none ([12][0][0][0] / 0x000C)): unknown codec
[ffmpeg/demuxer] Consider increasing the value for the ‘analyzeduration’ and ‘probesize’ options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 8 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
[ffmpeg/demuxer] Consider increasing the value for the ‘analyzeduration’ and ‘probesize’ options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 9 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
[ffmpeg/demuxer] Consider increasing the value for the ‘analyzeduration’ and ‘probesize’ options
(+) Video --vid=1 (mpeg2video)
(+) Audio --aid=1 --alang=deu (mp2)
Audio --aid=2 --alang=mis (mp2)
Audio --aid=3 --alang=deu (ac3)
Subs --sid=1 --slang=deu (dvb_teletext)
Subs --sid=2 --slang=deu (dvb_subtitle)
Using software decoding.
AO: [pulse] 48000Hz stereo 2ch s16
VO: [opengl] 720x576 => 1024x576 yuv420p
AV: 00:00:17 / 00:01:01 (29%) A-V: 0.000

Exiting… (Quit)

sorry you should give : mpv --vo vdpau and the result is :
mpv --vo vdpau ~/Schreibtisch/20170802\ 1628\ -\ Das\ Erste\ -\ Fußball\ -\ Audi\ Cup.ts
Warning: mpv was compiled against a different version of ffmpeg than the shared
library it is linked against. This can expose subtle ABI compatibility issues
and can lead to misbehavior and crashes.
Playing: /home/mounir/Schreibtisch/20170802 1628 - Das Erste - Fußball - Audi Cup.ts
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg/video] mpeg2video: Invalid frame dimensions 0x0.
[ffmpeg] NULL: start time for stream 5 is not set in estimate_timings_from_pts
[ffmpeg] NULL: start time for stream 6 is not set in estimate_timings_from_pts
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: PES packet size mismatch
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 7 (Unknown: none ([12][0][0][0] / 0x000C)): unknown codec
[ffmpeg/demuxer] Consider increasing the value for the ‘analyzeduration’ and ‘probesize’ options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 8 (Unknown: none ([5][0][0][0] / 0x0005)): unknown codec
[ffmpeg/demuxer] Consider increasing the value for the ‘analyzeduration’ and ‘probesize’ options
[ffmpeg/demuxer] mpegts: Could not find codec parameters for stream 9 (Unknown: none ([11][0][0][0] / 0x000B)): unknown codec
[ffmpeg/demuxer] Consider increasing the value for the ‘analyzeduration’ and ‘probesize’ options
(+) Video --vid=1 (mpeg2video)
(+) Audio --aid=1 --alang=deu (mp2)
Audio --aid=2 --alang=mis (mp2)
Audio --aid=3 --alang=deu (ac3)
Subs --sid=1 --slang=deu (dvb_teletext)
Subs --sid=2 --slang=deu (dvb_subtitle)
AO: [pulse] 48000Hz stereo 2ch s16
VO: [vdpau] 720x576 => 1024x576 yuv420p
AV: 00:00:14 / 00:01:01 (24%) A-V: 0.000

Exiting… (Quit)

Did you see VO : vdpau
with your command hwdec= vdpau it uses VO = opengl .

Hello,
i have the same problem with the 384.59 driver on Arch Linux. I use VDR and on many channels he crash.

NVRM: GPU at PCI:0000:01:00: GPU-edc12a6f-e792-8f8a-aa74-d8a0c053283b
NVRM: Xid (PCI:0000:01:00): 31, Ch 00000005, engmask 00000101, intr 10000000
vdr[7177]: video/vdpau: can't create decoder: The display was pre-empted, or a fatal error occurred.
vdr[7177]: video/vdpau: can't create video surface: An invalid handle value was provided.

I set the driver back to 381.22

Happens to me as well, but the entire kernel (4.12.4-1-ARCH, i686) halts.

01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 520] (rev a1)

Reverting to 381.22 “fixes” it.

I am reassured that I am not alone; this would appear then to be a catastrophic driver problem capable of grinding a linux-based system to a halt through the mere opening of a video file.

Hi all,
When issue hit , does the system and desktop responsive and accessible via ssh? Please generated nvidia bug report logs as soon as issue hit and attach. What desktop env you are running gnome, kde, xfce or else? Please blacklist nouveau driver and test. what version of mpv , vlc , VDR you are running ? Did you used any special options while installing or compiling mpv , vlc or any other video player? Is the reverting to earlier or old driver fix the issue? Can I get video clip you are testing with? how long it take to trigger the issue. Do I need to run multiple videos to hit this issue? Are you running video in fullscreen or window mode?

[please delete this post]

Hi sandipt,

If you look on my first post above you will see that I attached the nvidia log and vdpau trace. The system grinds to a halt and becomes unresponsive. I am running xfce and this is windowed or fullscreen. I am running Archlinux and mpv / vlc are the latest versions on the Archlinux repository. As you can read above, reverting to the earlier driver version appears to resolve the issue. For me any Mpeg 2 video using the latest driver results in the error.

Hey Sandip.

Kernel halt - incl. the usb stack what means I even failed on a sysrq. (I’ll try to get hod on a ps/2 keyboard)
No ssh, no VT switch, no ping, nothing.

Also nothing in dmesg -w (before the video freezes, takes 2-3 seconds) - are there any module or kernel parameters to increase relevant debug output from the module?

Using Fluxbox, no compositor. Also with no X client besides the video player.

It doesn’t happen with every video, but regardless of the fullscreen state.
Some dvb-t/c streams (mpg2) trigger it for sure, others (mpg2 as well) don’t (at least I could not reproduce it)
Tried only vlc (because of mentioned dvb cause ;-)

No problems with software decoding and 381.22 does not expose this bug.

I have exactly the same problem with my GeForce GT 630
I use Kodi on my HTPC. If I watch a MPEG2 based TV channel with Kodi, the CPU core, Kodi runs on, jumps to 100% and Kodi hangs.
My system keeps responsive. I was able to log in via SSH.

And your forum software doesn’t allow me to attach a file…
Get it from here:
http://m-reimer.de/tmp/nvidia-bug-report.log.gz

I can confirm the attachment facility is rather buggy, though I managed to do it in the end (see my first post). When you hover mouse over an already written message (no facility to do it before actually posting, which seems odd), then click on attachment button and add attachment nothing apparently happens and no confirmation it went ok. But then it seems file is uploaded and scanned in the background and if you hit refresh you see it. It would be nice if a) you could attach when posting not after having posted and b) the handling of actually having uploaded were to be improved.

… but this is off-topic!

Thanks for reporting this issue. I have filed bug “200337484 : With mpv/vlc players VDPAU fails decoding Mpeg2, Xid 31 and the system grinds to a halt and becomes unresponsive” to track this issue.

Please attach nvidia bug report to your existing post if not already provided. Also me us know of exact same issue observed by any other users.

I cannot run requested nvidia-bug-report.sh after this happened, because the system is completely unresponsive, sorry. However running dmesg -w over ssh I can confirm

[  119.818736] NVRM: GPU at PCI:0000:01:00: GPU-904eea50-22fe-5e83-d2a1-1371ebbf9390
[  119.818744] NVRM: Xid (PCI:0000:01:00): 31, Ch 00000003, engmask 00000101, intr 10000000

to be the last life sign (and the only only error message)

Yeah, that shows the XID 31 for GPU memory page fault I quoted above, see here:

http://docs.nvidia.com/deploy/xid-errors/index.html

See if you can able to find file in /var/log/* where Xid 31 error got logged. Share that file. Run nvidia bug report after reboot and share .

Is this bugtracker available somewhere? Is it possible to subscribe to this bug to get notified about changes?

No! its internal bug.

When can we expect a fix on this? It seems rather serious to me given how it incapacitates the entire system through only playing a simple video file.