freeNAS permissions: Affecting Plex transcoder?

Status
Not open for further replies.

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
Plex sees my media files; however,
it is not able to transcode large files.

When attempting to play a large file,
the plex receiver app begins a process percentage,
hits 13%, and then hangs on 33% before timing out.

This. is. a. common. issue; however,
I have exhausted all suggested fixes.

I posted elsewhere about my issue: Plex reddit,
followed by the Plex forums (much better description here),
but I have not yet heard or found a solution.

I thought that the issue could be related to
how I have set up my jail and its mounts (relating to permissions),
which might be better answered on the freeNAS forums.

I have freeNAS 11.2 RC1 installed with a single pool with plex installed.
I believe iocage and below use Unix style permissions.

/mnt/poolName/iocage/jails/plex


Windows permissions datasets:

I have a dataset for media, with subdatasets for movies/music/photos.
These are all Windows permissions and setup with samba (smb) shares.
(Is this an issue?)

/mnt/poolName/media/
/mnt/poolName/media/movies
/mnt/poolName/media/music
/mnt/poolName/media/photos


FTP GUI traverses datasets with Windows permissions and Unix permissions:

Currently, I samba is shut off and FTP is turned on
such that I can use an FTP GUI program (Transmit)
to jump around the folder structure rapidly.

The FTP program traverses datasets, including
./iocage/plex/* (with Unix permssions) and
./media/* (with Windows permissions).
(Is this an issue?)

Plex jail mount (media library):

I mounted the windows permissions dataset to the plex jail,
with user root and group public,
of which I am a part.

Source : /mnt/poolName/media
Destination: /mnt/poolName/iocage/jails/plex/root/media
[Read-only].

Plex was able to see the files in the library without issue.

Plex jail mount (User-specified transcode temporary file directory):

Some forum threads suggested that
I attempt to create a jail-external dataset, and
mount it to the jail for holding temporary files for transcoding.

I created the following Windows permissions datasets:

/mnt/poolName/temp
/mnt/poolName/temp/plex

I was confused about which permissions to use with respect to:
• User [root?]
• Group [public?]
• Windows-style or Unix-style [Tried both]
• Unix checkboxes [Tried selecting all]

I created a directories using the FTP GUI:

/mnt/poolName/temp/plex/transcodes
/mnt/poolName/iocage/jails/plex/root/mnt/temp/transcodes

I mounted:

Source : /mnt/poolName/temp/plex/transcodes
Destination: /mnt/poolName/iocage/jails/plex/root/mnt/temp/transcodes
[Read-only disabled]

I manually edited the transcode temporary file directory within the Plex settings:

Plex > Settings > Server > Transcoder > Transcoder temporary directory:
/mnt/temp/transcodes
 

kdragon75

Wizard
Joined
Aug 7, 2016
Messages
2,457
See if you can find plexs logs. That will likely tell us what's up. I'm guessing it is a permissions issue but using an external dataset for on the fly transcode is a bit silly. Just keep the default and fix the permissions of that's what the logs indicate
 

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
[Original logs were deleted due to use of verbose mode.]

Code:
Nov 09, 2018 18:10:58.783 [0x80a6c9000] INFO - Plex Media Server v1.13.8.5395-10d48da0d - FreeBSD PC amd64 - build: freebsd-x86_64 freebsd - GMT -05:00
Nov 09, 2018 18:10:58.794 [0x80a6c9000] ERROR - Failed to determine system locale: locale::facet::_S_create_c_locale name not valid. Defaulting to en-US.
Nov 09, 2018 18:10:58.794 [0x80a6c9000] INFO - FreeBSD version: 11.2-STABLE (FreeBSD 11.2-STABLE #0 r325575+97f4f541349(freenas/11.2-stable): Wed Oct 17 18:06:49 EDT 2018	 root@nemesis.tn.ixsystems.com:/freenas-11.2-releng/freenas/_BE/objs/freenas-11.2-releng/freenas/_BE/os/sys/FreeNAS.amd64), language: en-US
Nov 09, 2018 18:10:58.794 [0x80a6c9000] INFO - Processor Intel(R) Xeon(R) CPU E3-1231 v3 @ 3.40GHz
Nov 09, 2018 18:10:58.794 [0x80a6c9000] INFO - /usr/local/share/plexmediaserver/Plex_Media_Server
Nov 09, 2018 18:10:58.617 [0x80a616000] WARN - Default locale is invalid; falling back on classic+UTF-8
Nov 09, 2018 18:10:58.901 [0x80a616000] INFO - SQLITE3:0x10, 283, recovered 1000 frames from WAL file /usr/local/plexdata/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.db-wal
Nov 09, 2018 18:10:59.017 [0x80a616000] INFO - SQLITE3:0x10, 283, recovered 312 frames from WAL file /usr/local/plexdata/Plex Media Server/Plug-in Support/Databases/com.plexapp.plugins.library.blobs.db-wal
Nov 09, 2018 18:10:59.148 [0x80a616000] INFO - OCSP: Successfully retrieved response from cache.
Nov 09, 2018 18:11:02.978 [0x80b09ec00] INFO - Refreshing paths watched by LibraryUpdateManager
Nov 09, 2018 18:11:03.233 [0x80b1db500] WARN - Sync: Couldn't get sync lists without subscription.
Nov 09, 2018 18:15:16.859 [0x80bc41400] ERROR - Error response for update:  ().
Nov 09, 2018 18:15:16.859 [0x80b1db500] ERROR - Error response for update:  ().
Nov 09, 2018 18:15:17.334 [0x80bc40500] ERROR - Error response for update:  ().
Nov 09, 2018 18:15:23.651 [0x80bc40500] ERROR - Error response for update:  ().
Nov 09, 2018 18:15:25.616 [0x80bc41400] ERROR - Error response for update:  ().
Nov 09, 2018 18:15:57.208 [0x80b1db500] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:15:57.315 [0x80b1db500] WARN - Timed out waiting for segment.
Nov 09, 2018 18:15:57.498 [0x80b1db500] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:15:57.605 [0x80b1db500] WARN - Timed out waiting for segment.
Nov 09, 2018 18:15:57.692 [0x80bc41900] ERROR - Failed to delete session directory (boost::filesystem::remove: No such file or directory: "/usr/local/plexdata/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-115ddb4395b2a36acaa2dc7e730fab80-31935246-16e8-4950-b575-96829989ded6/media-00011.ts")
Nov 09, 2018 18:15:57.759 [0x80c333900] WARN - Got a request to stop a transcode session without a session GUID (or with an invalid one).
Nov 09, 2018 18:15:57.798 [0x80b1db500] ERROR - Error response for update:  ().
Nov 09, 2018 18:15:58.069 [0x80b09dd00] WARN - Got a request to stop a transcode session without a session GUID (or with an invalid one).
Nov 09, 2018 18:15:58.741 [0x80b1db500] ERROR - Error response for update:  ().
Nov 09, 2018 18:16:29.484 [0x80bc41400] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:16:29.591 [0x80bc41400] WARN - Timed out waiting for segment.
Nov 09, 2018 18:16:29.747 [0x80b1db500] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:16:29.849 [0x80b1db500] WARN - Timed out waiting for segment.
Nov 09, 2018 18:16:29.979 [0x80bc41900] ERROR - Failed to delete session directory (boost::filesystem::remove: No such file or directory: "/usr/local/plexdata/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-115ddb4395b2a36acaa2dc7e730fab80-c1bb9505-833b-4e82-abe7-d7da0ad8bdbd/media-00120.ts")
Nov 09, 2018 18:16:29.988 [0x80d273500] ERROR - Transcoder: Failed to delete session directory (boost::filesystem::remove: No such file or directory: "/usr/local/plexdata/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-115ddb4395b2a36acaa2dc7e730fab80-c1bb9505-833b-4e82-abe7-d7da0ad8bdbd/media-00116.ts")
Nov 09, 2018 18:16:30.034 [0x80d051f00] WARN - Got a request to stop a transcode session without a session GUID (or with an invalid one).
Nov 09, 2018 18:16:30.073 [0x80b1db500] ERROR - Error response for update:  ().
Nov 09, 2018 18:16:30.328 [0x80d052900] WARN - Got a request to stop a transcode session without a session GUID (or with an invalid one).
Nov 09, 2018 18:16:30.971 [0x80bc41400] ERROR - Error response for update:  ().
Nov 09, 2018 18:17:01.629 [0x80bc41400] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:17:01.736 [0x80bc41400] WARN - Timed out waiting for segment.
Nov 09, 2018 18:17:01.911 [0x80bc40500] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:17:02.018 [0x80bc40500] WARN - Timed out waiting for segment.
Nov 09, 2018 18:17:02.102 [0x80b09ce00] ERROR - Failed to delete session directory (boost::filesystem::remove: No such file or directory: "/usr/local/plexdata/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-115ddb4395b2a36acaa2dc7e730fab80-96257f88-ffab-4a9c-a5fe-d05c3c2bf393/media-00125.ts")
Nov 09, 2018 18:17:02.169 [0x80d273500] WARN - Got a request to stop a transcode session without a session GUID (or with an invalid one).
Nov 09, 2018 18:17:02.205 [0x80b1db500] ERROR - Error response for update:  ().
Nov 09, 2018 18:17:02.513 [0x80d051f00] WARN - Got a request to stop a transcode session without a session GUID (or with an invalid one).
Nov 09, 2018 18:17:03.033 [0x80bc40500] ERROR - Error response for update:  ().
Nov 09, 2018 18:17:33.775 [0x80b1db500] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:17:33.882 [0x80b1db500] WARN - Timed out waiting for segment.
Nov 09, 2018 18:17:34.045 [0x80bc41400] WARN - Transcode runner appears to have died.
Nov 09, 2018 18:17:34.152 [0x80bc41400] WARN - Timed out waiting for segment.
Nov 09, 2018 18:17:34.291 [0x80bc41900] ERROR - Transcoder: Failed to delete session directory (boost::filesystem::remove: No such file or directory: "/usr/local/plexdata/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-115ddb4395b2a36acaa2dc7e730fab80-89f62d44-3db0-4b8d-9482-715d44a123d8/media-00181.ts")
Nov 09, 2018 18:17:34.294 [0x80b42d000] ERROR - Transcoder: Failed to delete session directory (boost::filesystem::remove: No such file or directory: "/usr/local/plexdata/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-115ddb4395b2a36acaa2dc7e730fab80-89f62d44-3db0-4b8d-9482-715d44a123d8/media-00198.ts")
Nov 09, 2018 18:17:34.498 [0x80b1db500] ERROR - Error response for update:  ().
Nov 09, 2018 18:33:53.722 [0x80a616000] WARN - Timed out waiting for server to finish.

 
Last edited:

short-stack

Explorer
Joined
Feb 28, 2017
Messages
80
You need to use a VNET enabled network on the jail. Plex needs it’s own MAC and it doesn’t have that without VNET.


Sent from my iPhone using Tapatalk
 

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
You need to use a VNET enabled network on the jail.
Plex needs it’s own MAC and it doesn’t have that without VNET.

For better understanding, what keyed you off that that was the case?

Is a VNET enabled network configured using freeNAS, my router,
or is this something which requires a purchase (such as a domain or a VPN license)?
(I searched the freeNAS documentation for VNET, but nothing came up. Is there a guide?)

What's the difference between a VNET enabled network and a VPN?
 
Last edited:

short-stack

Explorer
Joined
Feb 28, 2017
Messages
80
For better understanding, what keyed you off that that was the case?

Is a VNET enabled network configured using freeNAS, my router,
or is this something which requires a purchase (such as a domain or a VPN license)?
(I searched the freeNAS documentation for VNET, but nothing came up. Is there a guide?)

What's the difference between a VNET enabled network and a VPN?

I honestly don't remember what keyed me off... I tend to be an early adopter so when FreeNAS first put iocage jails as an option I tried to stand one up and ran in to the same issue of Plex running and working until you try to watch a video and then it just would hang. So I investigated and looked around and found a thread of a thread of a thread of a similar issue and then posted on these forums somewhere about it a long time ago. VNET is just an option in the jail config, it basically creates a full virtual network stack for the jail, otherwise it just basically makes another alias on the current NIC and uses the same MAC address. That all said, I don't remember exactly the full reasons why Plex needs it, but it's something to do with needing the hardware address when it's sending the transcode stream.

https://doc.freenas.org/11.2/jails.html "During creation, set the VNET option to provide the jail with an independent networking stack. The jail is then able to broadcast an IP address, which is required by some applications."
 

short-stack

Explorer
Joined
Feb 28, 2017
Messages
80

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
During [jail] creation, set the VNET option...

When setting up Plex,
I turned off DHCP and set the plex IP to an internal static address.
Does VNET require DHCP?
(If unknown, I'll check when I get home.)

Based on your suggestion,
I reviewed a Plex installation guide,
in case I missed anything.

Here's the notes:

• Create new volume.

I used my primary volume rather than create a separate new one.
I assume this is fine.

• Define a share

Must a share be active for Plex to function?
Must the share allow anonymous access?

I assume this was only suggested such that
the user may add files to the library later in the guide.


• Disable remote security

Should I have done this?
(I'm not sure if I did:
Has this moved during the transition to 11.2 RC1? I don't recall seeing it.)
 

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
Attempted to enable the VNET option of the jail.
This unlocked the menu input item: default ipv4 route.

What should be posted for default ipv4 route?

With VNET enabled:
<none :> none [Plex]: "Secure connection unavailable (unreachable)"
<jail ipv4 address :> 192.168.86.10 [Plex]: "Secure connection unavailable (unreachable)"
<unused ipv4 address :> 192.168.86.11 [Plex]: "Secure connection unavailable (unreachable)"
<server ipv4 default gateway:> 192.168.86.1 [Plex]: "Secure connection unavailable (unreachable)"
<other?>


VNET blocks the connection.
 
Last edited:

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
Added results above.

Do I need to make use of the freeNAS:Network:Static Routes section to make one?
 

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
bump
 

Jailer

Not strong, but bad
Joined
Sep 12, 2014
Messages
4,977
Plex jail mount (User-specified transcode temporary file directory):

Some forum threads suggested that
I attempt to create a jail-external dataset, and
mount it to the jail for holding temporary files for transcoding.
This is totally unnecessary and where your problem is derived from. Just set up plex, mount your datasets containing your media and be done with it. You're making this way more complicated than it needs to be.

Also when posting output from a terminal or logs use the code tags found in the menu bar of the post editor. That GINORMOUS wall of text you posted is just plain obnoxious.
 

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
When posting output from a terminal or logs use the code tags found in the menu bar of the post editor.

You're absolutely right.
I know about code tags,
I don't know why I didn't wrap my logs in them.

Fixed.

[Mounting jail-external datasets] is totally unnecessary and where your problem is derived from.

That is not where my problem is derived from.
My problem existed before I tried that and
exists after I undid that and tried other things.
It is only one of the things I tried in response to the problem.

I'm just logging/posting everything I've tried, and
trying anything that anyone will suggest at this point.

Just set up plex, mount your datasets containing your media and be done with it. You're making this way more complicated than it needs to be.

I'm pretty stumped;
I understand that this is supposed to be very straightforward.
I've uninstalled the plugin and started from scratch already, and
I've tried everything that I've listed in above comments.

I just don't know where things are going wrong.
 
Last edited:

itskando

Contributor
Joined
Apr 30, 2018
Messages
172
Status
Not open for further replies.
Top