This is SOLVED. You need to enable MSI interrupts - see my followup on page 2, or go direct to https://tvheadend.org/d/5822-solved-corrupted-video-with-tbs-twin-port-card-on-dvb-s-or-dvb-s2-hd-or-sd-channels?r=34042#message-34042
----
About once a day TVH gets into a state where there's corrupted video, either HD or SD channels. It doesn't matter whether I play using the web player or kodi with the TVH add-on. https://imgur.com/a/AWvFDqI
https://i.imgur.com/pn8Yb2a.png
Restarting TVH server doesn't fix it, I have to reboot. Sometimes when I ask nicely for a reboot, it locks up and I have to force a restart, and then TVH database files will be corrupted (e.g. no network, channels, etc) and any recording timers will be lost, and I have to piece together the config from the last backup so as not to orphan recordings.
My TVH server is a dedicated box, running headless. It's running 4.3-1236~g518d57b~xenial on ubuntu 16.04.04-lts-x64, kernel 4.4.0-116-lowlatency, on a core2quad q6600 with 4GB RAM and mirrored 750GB hard drives. I'm using a TBS twin port PCIe card.
When I was on 4.2.latest I used to find the TVH web UI would lock up hard with 100% of a CPU core pegged; that was with the ljalves driver.
After trying many things, I got to where I am now, running 4.3 latest, having installed the low latency kernel and switched to a freshly built new drivers from the tbsdriver git repo. I no longer get the hard UI lockups, but I do get occasional corruption of the configuration/db files.
When TVH is working for me, it's great, but sadly it's far too unreliable to replace my ageing Humax DVR which has a flakey HDMI port but is otherwise reliable :-(
thanks for any ideas.