XORG using 100% CPU Using VDPAU on Quadro FX 1800
I am currently developing an application to decode and render multiple h264 video streams. Most of the time everything runs without any problems bu every so often, about once every 20 or so runs, the Xorg's cpu usage jumps to 100%, the display flickers and freezes. I am able to ssh from another computer and run gdb. The problem always occurs during the creation of a VdpDecoder and get following backtrace:
#0 0x0000003aac80a170 in pthread_rwlock_wrlock () from /lib64/libpthread.so.0
#1 0x00002aab08f66bc1 in ?? () from /usr/lib64/libvdpau_nvidia.so
#2 0x00002aab08f6d883 in ?? () from /usr/lib64/libvdpau_nvidia.so
#3 0x00002aab092f8668 in ?? () from /usr/lib64/libvdpau_trace.so
#4 0x00002aaafe833b38 in VDPAUManagerInternal:: DecoderCreate (this=0x5a87dbe0, profile=8, width=1920, height=1080, max_references=1, decoder=0x5af413dc) at isisvd_VDPAUManagerInternal.cc:336
The function call on line 4 is simply wrapper for VdpDecoderCreate. Usually after a few minutes I get a bunch of VDPAU Debug errors printing to the screen (I've attached this print out) and an attempt to recover through a preemption callback. The program remains stuck in the VdpDecoderCreate and I'm forced to kill the program through a kill -9. I see this on multiple version of the driver (I've tried it on 195.36.15, 195.36.24, and 256.35. I've attached the VDPAU trace output, the output from resulting from activating VDPAU_NVIDIA_DEBUG, and the Nvidia bug report.