Server Version#: 1.21.0.3616
Player Version#: Plex on Fire Stick 4K (8.9.1.21593)
(File removed)
A family member reported that she cannot play any tv shows in her library. It’s just loading. I checked the logs and here’s what stood out:
Line 49823: Nov 30, 2020 21:33:01.000 [0x7f5fab7fe700] ERROR - [Transcoder] [eac3_eae @ 0x10e6980] EAE timeout! EAE not running, or wrong folder? Could not read '/tmp/pms-195f4c81-be5f-43a3-b365-77281fdeeada/EasyAudioEncoder/Convert to WAV (to 8ch or less)/40e9125de45e7087-com-plexapp-android_27851-0-9.wav'
Line 49824: Nov 30, 2020 21:33:01.000 [0x7f5fab7fe700] ERROR - [Transcoder] [eac3_eae @ 0x10e6980] error reading output
Line 49825: Nov 30, 2020 21:33:01.000 [0x7f5fab7fe700] ERROR - [Transcoder] Error while decoding stream #0:1: Input/output error
Line 49826: Nov 30, 2020 21:33:04.000 [0x7f5fab7fe700] ERROR - [Transcoder] [eac3_eae @ 0x10e6980] EAE timeout! EAE not running, or wrong folder? Could not read '/tmp/pms-195f4c81-be5f-43a3-b365-77281fdeeada/EasyAudioEncoder/Convert to WAV (to 8ch or less)/40e9125de45e7087-com-plexapp-android_27851-0-10.wav'
Line 49827: Nov 30, 2020 21:33:04.000 [0x7f5fab7fe700] ERROR - [Transcoder] [eac3_eae @ 0x10e6980] error reading output
Line 49828: Nov 30, 2020 21:33:04.000 [0x7f5fab7fe700] ERROR - [Transcoder] Error while decoding stream #0:1: Input/output error
Line 49829: Nov 30, 2020 21:33:07.000 [0x7f5fab7fe700] ERROR - [Transcoder] [eac3_eae @ 0x10e6980] EAE timeout! EAE not running, or wrong folder? Could not read '/tmp/pms-195f4c81-be5f-43a3-b365-77281fdeeada/EasyAudioEncoder/Convert to WAV (to 8ch or less)/40e9125de45e7087-com-plexapp-android_27851-0-11.wav'
Line 49830: Nov 30, 2020 21:33:07.000 [0x7f5fab7fe700] ERROR - [Transcoder] [eac3_eae @ 0x10e6980] error reading output
Line 49831: Nov 30, 2020 21:33:07.000 [0x7f5fab7fe700] ERROR - [Transcoder] Error while decoding stream #0:1: Input/output error
I see a lot of these. What do these mean? Doesn’t Plex have access to the default /tmp transcode directory for any reason? I checked and it looks like the pms directory inside /tmp has the correct plex:plex permissions:
root@nuc:~# ls -la /tmp
total 40
drwxrwxrwt 10 root root 4096 Nov 30 21:56 .
drwxr-xr-x 18 root root 4096 Nov 21 14:58 ..
drwxrwxrwt 2 root root 4096 Nov 29 14:43 .font-unix
drwxrwxrwt 2 root root 4096 Nov 29 14:43 .ICE-unix
drwxr-xr-x 3 plex plex 4096 Nov 30 22:26 pms-195f4c81-be5f-43a3-b365-77281fdeeada
-rw-r--r-- 1 root root 0 Nov 29 14:43 .rnsems0-roon
-rw-r--r-- 1 root root 0 Nov 29 14:43 .rnsgem0-
drwx------ 3 root root 4096 Nov 29 14:43 systemd-private-ae7a7abd8d394c4283365fab060bd2b7-ModemManager.service-SLldEl
drwx------ 3 root root 4096 Nov 29 14:43 systemd-private-ae7a7abd8d394c4283365fab060bd2b7-systemd-timesyncd.service-mbjXn0
drwxrwxrwt 2 root root 4096 Nov 29 14:43 .Test-unix
drwxrwxrwt 2 root root 4096 Nov 29 14:43 .X11-unix
drwxrwxrwt 2 root root 4096 Nov 29 14:43 .XIM-unix
Yes but how do I do that? Plex creates the file on the fly, doesn’t it? Are you saying that you to chown the /tmp folder so that plex has access to it? I don’t see that in the installation instructions for Linux Debian.
Clear out the Transcoder parameter temporarily to see if the error goes away. I would also clean up the /tmp/pms* in case you filled up /tmp without knowing.
Going through the logs, did you use an override.conf file? The Plex data directory is using /home/plex. It isn’t properly detecting the iGPU for Hardware Transcoding, which could be a kernel level due to the newness of your CPU.
I would of avoided any existing linux directories (/media,/mnt, etc) due to inherited permission conflicts.
Yes, I did. I needed to transfer the Plex data directory to /home/plex as that’s where most of my SSD space is. How were you able to confirm that it was not able to detect the iGPU for HW transcoding? I just tested (by forcing a stream to transcode) and HW transcoding works just fine. @ChuckPa also confirmed that the iGPU of the Intel NUC 10 system is supported by the iHD driver.
My movies/shows directory are on my NAS so I mounted on /mnt. Based on this post: Customizing your Plex configuration, I only need to avoid the /media directory as it is reserved by Gnome and Gnome’s Nautilus file browser. That’s why I decided to go ahead and use the default /mnt directory.
If you have TMPDIR= where is it pointing? You should point to /home/plex to make sure the temp directory has Read,Write,eXecute .
/mnt defaults to read only unless you override it in FSTAB or change the permissions after mount so I avoided any accidents and made a directory /plex to mount my media hard drive where I also have the Plex data. I can just pull the drive and go to another system if I need to.
I had only looked at the DEBUG - TPU for the EAC3 failure which read “DEBUG - TPU: hardware transcoding: final decoder: , final encoder” , at another stream it does say “DEBUG - [Transcode] TPU: hardware transcoding: final decoder: vaapi, final encoder: vaapi”
I saw this “ERROR - [Transcode] [FFMPEG] - libva: /usr/lib/plexmediaserver/lib/dri/i965_drv_video.so init failed” but that may have been before you fixed your preferences file.
I truly prefer Debian over other distros but sometimes it can be a little too cautious, if you didn’t install a kernel 5.1 or later from backports then you may be running in legacy mode since the 4.19 kernel came out before the processor did.
#
# Customize Plex's config
#
# Identify this as a service override
[Service]
#
# Move the data directory
Environment="PLEX_MEDIA_SERVER_APPLICATION_SUPPORT_DIR=/home/plex/Library/Application Support"
#
# These values are only needed if you wish to change user & group
#User=chuck
#Group=chuck
#
# This is needed to change the default umask
UMask=002 # this must be octal - See warning below
I do not have TMPDIR and I also do not have it set (blank) on the PMS GUI. So that defaults to /tmp. I can point it to /home/plex/transcode, no problems. I just don’t understand why this was not considered by the installation? Also, if it was a permissions issue, how was Plex able to create folders inside the /tmp folder that has plex:plex ownership?
Yes, I have uid and gid set in my FSTAB so that the permissions get changed. gid is set to 100 (users) so it looks like this:
root@nuc:~# ls -ls /mnt
total 12
4 drwxr-xr-x 2 root root 4096 Nov 22 12:09 RoonStorage_114cc71340afadc8e738e00a14a415142f151839
0 drwxr-xr-x 2 root root 0 Sep 26 23:15 RoonStorage_ffce135c52efa4274f7095f7b89a96376d09b335
4 drwxrwxr-x 5 root users 4096 Nov 24 11:45 storage
4 drwxr-xr-x 2 root root 4096 Nov 23 22:02 usb
0 drwxrwxr-x 2 dockeruser users 0 Sep 1 00:23 video_alvin
0 drwxrwxr-x 2 dockeruser users 0 Nov 23 23:58 video_maine
video_alvin and video_maine are the mount points for plex here. And plex is part of the users group so it should have access to both these mount points:
root@nuc:~# id plex
uid=997(plex) gid=996(plex) groups=996(plex),44(video),100(users),107(render)
Correct, that’s when I accidentally forced it to use the i965 driver which @ChuckPa mentioned should not be done. So I fixed the Preferences.xml file to remove that so that PMS uses the default iHD driver.
Way ahead of you on that I have the latest kernel from the buster backports repo installed.
root@nuc:~# uname -a
Linux nuc 5.8.0-0.bpo.2-amd64 #1 SMP Debian 5.8.10-1~bpo10+1 (2020-09-26) x86_64 GNU/Linux
I’m not in anyway a Linux expert and I’m just starting out with Debian. I came from Windows so Linux is a whole another world but I’m getting the hang of it. I only ever used Debian so I can’t compare with the other distros. It hasn’t given me any major problems though.
So I change the transcoder directory to /home/plex (from the GUI) and it looks like that is only for encoding. The “EasyAudioEncoder” we saw under “/tmp/pms-195f4c81-be5f-43a3-b365-77281fdeeada/” is obviously for audio. Is the TMPDIR environment variable you have in the override.conf different from that in the GUI?
Yes, some of Plex features like sync,audio transcode use TMPDIR which needs to be persistent to work correctly. The system values are checked and displayed during install but if you re-booted your machine that file will be gone.
umask behavior changed multiple times from 4.19 to 5.8 so it’s possible that the directory was created under one kernel and can’t be accessed by the later.
Right. I changed the temp directory in override.conf, tried transcding audio and video, and now it’s doing it under /home/plex/Transcode. I had to do that anyway since the recommended tmp directory space is source file to transcode plus 100MB. With 4K videos and /tmp having 6GB capacity only (because I used the automatic partitioning scheme during the Debian install), that is simply a no go.
Well, I was using the LSIO docker container for my PMS for quite a while now and I transitioned to installing/using PMS in my native Debian Linux box just two days ago. So there wasn’t any change in kernel or anything. PMS had access to the /tmp folder one way or another.
That is nowhere near the 8192 default inotify table size. The top level directories there are what I have monitored in the libraries I have set in PMS.
[Transcoder] [truehd_eae @ 0x35b6cc0] EAE timeout! EAE not running, or wrong folder? Could not read '/home/plex/Transcode/pms-8bd1da89-02c5-452e-b195-940c70ba6751/EasyAudioEncoder/Convert to WAV (to 8ch or less)/1dec918586c472c0-com-plexapp-android_6290-0-11.wav'
@ChuckPa, I’m seeing that you worked on this same issue with other Plex users in the past and that the iNotify was the ultimate fix. Do I need to do that workaround even though my total number of library is just 1369?
Ok, deleting the Codecs folder seems to have fixed it for now. Could be incorrect permissions, who knows, but it’s too early to tell as I’ve seen posts saying that the problem came back after a couple of days. I’ll post back when I see the issue again.