Playback Error and Tuner Service hang when changing to new channel in Live TV & DVR (tuner Segmentation Violation)

Server Version#: 1.24.0.4930
Player Version#: Plex Web Player and Android app
OS: Ubuntu 18.04.5 LTS
DVR Tuner: Hauppauge WinTV-dualHD

This issue has persisted over several PMS updates, indeed for as long as I can remember.

I navigate to the Live TV & DVR/Guide and select a channel to watch. The channel plays without issue. Then I close it and select another, which often plays without issue. After repeating some number of times (maybe 6-10, inconsistent) I eventually get a popup when trying to play another channel: “Playback Error - Could not tune channel. Please check your tuner or antenna.” No channel will play after this, including channels I just played successfully. It stays in this unusable state until I restart the Plex Media Server service: sudo systemctl stop plexmediaserver, sudo systemctl start plexmediaserver. Once restarted, channels will tune for a while until failing again.

Server logs are attached. I note that Plex Tuner Service.1.log ends in “ERROR - Error. Received SIGSEGV: Segmentation Violation.” There are no messages after this until restarting the Plex Media Server service, so I conclude that the Tuner Service has crashed.

Plex Media Server Logs_2021-08-18_22-27-24.zip (2.9 MB)

2 Likes

I just edited the title of this thread from tuner service “crash” to “hang”. My server is still in the same state as it was yesterday, since I haven’t restarted the plexmediaserver service yet. It appears the tuner service is still running, but no additional messages in Plex Tuner Service.1.log since yesterday at 22:26:26.

Processes running currently:

dan@plexserver:~$ ps -ef | grep plex
avahi 879 1 0 Jul29 ? 00:00:00 avahi-daemon: running [plexserver.local]
dan 15765 32361 0 20:26 pts/0 00:00:00 grep --color=auto plex
dan 26598 1 0 Aug17 tty2 00:00:24 gnome-software --local-filename=/tmp/plexmediaserver_1.24.0.4930-ab6e1a058_amd64.deb
plex 28876 1 0 Aug17 ? 00:09:46 /usr/lib/plexmediaserver/Plex Media Server
plex 28899 28876 0 Aug17 ? 00:01:24 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-ab6e1a058/Framework.bundle/Contents/Resources/Versions/2/Python/bootstrap.py --server-version 1.24.0.4930-ab6e1a058 /usr/lib/plexmediaserver/Resources/Plug-ins-ab6e1a058/System.bundle
plex 32226 28876 0 Aug18 ? 00:00:31 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resources/Tuner/Shared 1.24.0.4930-ab6e1a058 32600
dan@plexserver:~$

Recent debug logs attached:
Plex Media Server Logs_2021-08-19_20-23-17.zip (3.2 MB)

Finally, I just restarted the plexmediaserver service and successfully tuned channel 2.1. Here are the logs collected while channel 2.1 was still playing:
Plex Media Server Logs_2021-08-19_20-34-38.zip (2.5 MB)

I’m having the same issue my only differences would be that it appears random how long or how many times i can change the channel before i have to restart the plexmediaserver service. This is annoying because this issue can cause the dvr to fail to tune in and record a show.

1 Like

Thanks for your confirmation. It is also random how long it takes to fail for me

This sounds exactly what I’m seeing as well. I have another thread where I’ve been providing logs – Could not tune channel. Please check your tuner or antenna - #222 by hawkinsb

I see the Plex tuner service crash after a few tune attempts, and you have to restart the server to get tuning back.

2 Likes

I too am having this problem on my Nvidia Shield server, WinTV-dualHD.
Plex Media Server Logs_2021-08-26_20-50-13.zip (1.1 MB)

Here is another thread where the tuner service is failing with a segmentation fault. When the tuner service crashes/hangs it doesn’t release port 32600 (the port the tuner service listens on), so when the tuner service tries to restart it fails. A full Plex restart is required.

2 Likes

Update: Tonight I updated to PMS Version 1.24.1.4931. I tested tuning different channels on 2 different devices at the same time, and changed channels repeatedly on each. I was not able to duplicate the issue. I have not observed a tuner hang yet.

Hopefully, this version solves the issue (although nothing is listed in the release notes). I’ll update again if the issue returns.

I take it back. This morning as I was changing channels viewing from the Roku Plex app, the tuner became unresponsive again, although it took longer than usual for the tuner to fail. I was unable to tune any channel when viewed from Roku Plex app, Android Plex app, or from a Chrome web browser. Server logs are attached again, running on Version 1.24.1.4931.

Plex Media Server Logs_2021-08-28_09-23-20.zip (4.6 MB)

One more observation to confirm that it is a hang: When the tuner stops running, I can log in to the server and see that Plex Tuner Service is still running. This time, instead of restarting the whole plexmediaserver service, I just killed the Plex Tuner Service process. The plexmediaserver service restarted it automatically, and now I can tune channels again.

Ok so the issue seems to be persisting for me on plex server version 1.24.1.4931, which is running on an ubuntu 20.04lts. I have the logs retrieved within 24hours of it failing. Also my current fix which is to restart the plexmediaserver service appears to “fix” the issue(except it will just fail again).

Plex Media Server Logs_2021-09-01_01-00-27.zip (5.6 MB)

I am also having the same issue, I can see this error in dmesg:

[334125.593423] Plex Tuner Serv[1892]: segfault at 17 ip 00007fc578d51bdc sp 00007fc576fa1000 error 4 in Plex Tuner Service[7fc578d27000+127000]

Thanks - appears to be similar to the issue I responded to here

The Plex Media Server process is seeing it as a crash of Plex Tuner Service but restarting it gives an error on listening to port 32600 which is consistent with what you saw - the process remaining as running

I have referred this to the development team

3 Likes

Here to report the same issue with a newly (as in a few days ago) setup pms + tuner system. Here’s my system details:

Debian testing, using: Linux 5.10.0-8-amd64 #1 SMP Debian 5.10.46-4 (2021-08-03) x86_64 GNU/Linux

Running: plexmediaserver 1.24.1.4931-1a38e63c6 amd64

With a tuner: Bus 002 Device 003: ID 2040:826d Hauppauge 955D

Using an Intel NUC with an: Intel(R) Core™ i3-3217U CPU @ 1.80GHz, and I’ve configured plex to use the built-in i915 graphics, for hardware decode/encode offload:

00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09)

Additional tuner device details:

[ 4.757876] em28xx 2-1.2:1.0: Identified as Hauppauge WinTV-dualHD 01595 ATSC/QAM (card=100)
[ 4.762791] tveeprom: Hauppauge model 204201, rev C2I6, serial# 14063675
[ 6.101903] em28xx 2-1.2:1.0: Identified as Hauppauge WinTV-dualHD 01595 ATSC/QAM (card=100)
[ 6.107085] tveeprom: Hauppauge model 204201, rev C2I6, serial# 14063675
[ 6.418710] rc rc0: Hauppauge WinTV-dualHD 01595 ATSC/QAM as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/rc/rc0
[ 6.418933] input: Hauppauge WinTV-dualHD 01595 ATSC/QAM as /devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.2/2-1.2:1.0/rc/rc0/input6

…tuner chip & firmware rev:

si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
si2157 13-0060: firmware version: 3.0.5

The plex tuner daemon seems to segfault almost all the time after stopping a live TV session from the plex iOS app. I can’t seem to get it to crash when starting/stopping via app.plex.tv/desktop, only the iOS app. Curious.

In this example we see a kernel message from an apparent re-probe/modprobe of the usb tuner after I had tapped on a channel from the app. Note I allowed the iOS app to stream the channel for ~30 seconds before stopping the session. After stopping, we get the segfault.

Noteable: I have to reboot the system to restore tuner functionality. Simply reloading PMS and other services doesn’t un-wedge whatever state plex/this tuner driver left things in.

Sidebar: is the plex daemon reloading this module each time a user starts/stops a live tv tuning session? I can’t tell. Perhaps that’s causing the crash. I’m sure nobody tests reloading this module over and over as folks start/stop viewing and change channels, but I digress. Perhaps if the plex tuner daemon is in fact reloading this module, maybe don’t do that. :wink:

Sep 7 18:30:02 plexair-northwoods kernel: [40845.058800] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
Sep 7 18:30:02 plexair-northwoods kernel: [40845.086172] si2157 13-0060: firmware version: 3.0.5
Sep 7 18:30:34 plexair-northwoods kernel: [40876.997092] Plex Tuner Serv[544]: segfault at 17 ip 00007fb929f84bdc sp 00007fb927dc6000 error 4 in Plex Tuner Service[7fb929f5a000+127000]
Sep 7 18:30:34 plexair-northwoods kernel: [40876.997129] Code: 7d d0 e8 d7 a4 0f 00 80 3d cf 2e 12 00 00 48 8d 35 b1 2e 12 00 79 07 48 8b 35 a8 2e 12 00 48 8b 85 30 ff ff ff 4a 8b 54 20 28 <80> 7a 17 00 79 03 48 8b 12 48 8b 7d d0 e8 a2 a4 0f 00 48 8b 85 90

Happy bug hunting,

-Tk

Updated to latest plex release, 1.24.2.4973-2b1b51db9; took more starts and stops to generate the crash this time, but ultimately same result as previous versions:

[ 1517.319873] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[ 1517.375105] si2157 13-0060: firmware version: 3.0.5
[12019.225645] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[12019.253888] si2157 13-0060: firmware version: 3.0.5
[12275.248079] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[12275.277191] si2157 13-0060: firmware version: 3.0.5
[12317.504707] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[12317.559928] si2157 14-0062: firmware version: 3.0.5
[12360.083178] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[12360.110521] si2157 14-0062: firmware version: 3.0.5
[12400.804509] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[12400.832879] si2157 14-0062: firmware version: 3.0.5
[12412.223559] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[12412.251691] si2157 13-0060: firmware version: 3.0.5
[12489.958705] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[12489.987678] si2157 13-0060: firmware version: 3.0.5
[12516.752507] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[12516.782136] si2157 13-0060: firmware version: 3.0.5
[12606.878285] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[12606.907159] si2157 13-0060: firmware version: 3.0.5
[13169.675747] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[13169.704770] si2157 13-0060: firmware version: 3.0.5
[16337.382010] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[16337.410750] si2157 14-0062: firmware version: 3.0.5
[16389.770306] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[16389.797781] si2157 14-0062: firmware version: 3.0.5
[16486.383405] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[16486.410791] si2157 14-0062: firmware version: 3.0.5
[16631.540992] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[16631.569831] si2157 14-0062: firmware version: 3.0.5
[16687.619495] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[16687.649123] si2157 14-0062: firmware version: 3.0.5
[16734.217805] si2157 14-0062: found a ‘Silicon Labs Si2157-A30’
[16734.249912] si2157 14-0062: firmware version: 3.0.5
[17617.017897] perf: interrupt took too long (2544 > 2500), lowering kernel.perf_event_max_sample_rate to 78500
[20233.836412] perf: interrupt took too long (3189 > 3180), lowering kernel.perf_event_max_sample_rate to 62500
[23630.735683] perf: interrupt took too long (4006 > 3986), lowering kernel.perf_event_max_sample_rate to 49750
[29018.224752] perf: interrupt took too long (5030 > 5007), lowering kernel.perf_event_max_sample_rate to 39750
[36702.067749] perf: interrupt took too long (6289 > 6287), lowering kernel.perf_event_max_sample_rate to 31750
[54356.947563] sctp: Hash tables configured (bind 256/256)
[55735.865259] perf: interrupt took too long (7871 > 7861), lowering kernel.perf_event_max_sample_rate to 25250
[70948.469096] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[70948.498089] si2157 13-0060: firmware version: 3.0.5
[82079.240291] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[82079.268500] si2157 13-0060: firmware version: 3.0.5
[188831.381036] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[188831.409539] si2157 13-0060: firmware version: 3.0.5
[188903.157936] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[188903.185806] si2157 13-0060: firmware version: 3.0.5
[188928.022676] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[188928.050554] si2157 13-0060: firmware version: 3.0.5
[227481.162287] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[227481.191034] si2157 13-0060: firmware version: 3.0.5
[232157.415836] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[232157.442206] si2157 13-0060: firmware version: 3.0.5
[261785.974597] si2157 13-0060: found a ‘Silicon Labs Si2157-A30’
[261786.003453] si2157 13-0060: firmware version: 3.0.5
[263144.855333] Plex Tuner Serv[543]: segfault at 17 ip 00007fac02dc0bdc sp 00007fac01011000 error 4 in Plex Tuner Service[7fac02d96000+127000]
[263144.855350] Code: 7d d0 e8 d7 a4 0f 00 80 3d cf 2e 12 00 00 48 8d 35 b1 2e 12 00 79 07 48 8b 35 a8 2e 12 00 48 8b 85 30 ff ff ff 4a 8b 54 20 28 <80> 7a 17 00 79 03 48 8b 12 48 8b 7d d0 e8 a2 a4 0f 00 48 8b 85 90

Same behavior here, also using the DVR Tuner: Hauppauge WinTV-dualHD I have seen this both on my ubuntu based AMD Ryzen 3 setup and on a raspberry PI ubuntu setup. Let me know if additional logs will help.

1 Like

Thought I was going crazy, having the same issue. Here’s an output from dmesg:

[   28.405962] si2157 5-0060: found a 'Silicon Labs Si2157-A30'
[   28.434598] si2157 5-0060: firmware version: 3.0.5
[   80.212702] show_signal_msg: 21 callbacks suppressed
[   80.212706] Plex Tuner Serv[1101]: segfault at 17 ip 00007fe4a04e8bdc sp 00007fe49e32b000 error 4 in Plex Tuner Service[7fe4a04be000+127000]
[   80.212713] Code: 7d d0 e8 d7 a4 0f 00 80 3d cf 2e 12 00 00 48 8d 35 b1 2e 12 00 79 07 48 8b 35 a8 2e 12 00 48 8b 85 30 ff ff ff 4a 8b 54 20 28 <80> 7a 17 00 79 03 48 8b 12 48 8b 7d d0 e8 a2 a4 0f 00 48 8b 85 90

This happened right after rebooting, all I did was click on a channel and close it.
Server info:
Tuner: Hauppauge WinTV-dualHD
PMS version: 1.24.3.5033
OS: Ubuntu Server 20.04 running in a VM, host is Proxmox VE 7.0-11
The tuner is passed through to the VM.

Hi - Any update from the dev team? Seems like this is an general issue effecting many of us…

thanks

1 Like

I’m following as well. My issue is happening on Nvidia Shield with a WinTV-Dual HD tuner.