Plex Process Crash with New Linked Dataset in Jail?

yottabit

Contributor
Joined
Apr 15, 2012
Messages
192
I'm now running TrueNAS-12.0-U1, upgraded from FreeNAS-11.3-U5.

My Plex jail (manual jail, not plugin) has 3 datasets currently linked in:
  • /mnt/vol1/jail_configs/yottabit -> /mnt/iocage/jails/yottaplex/root/config
  • /mnt/vol1/movies -> /mnt/iocage/jails/yottaplex/root/mnt/movies
  • /mnt/vol1/tv -> /mnt/iocage/jails/yottaplex/root/mnt/tv
All of the above datasets are on a 2xRAID-Z1 volume and have been working fine in Plex for a long time.

I recently created a new striped volume with a dataset to be used for Plex transcoding:
  • /mnt/ssd_scratch/plex_transcode -> /mnt/iocage/jails/yottaplex/root/mnt/plex_transcode
But when I link that into the jail, Plex no longer runs. It continually crashes as follows:
Dec 17 10:23:28 nas1 kernel: pid 18281 (Plex Media Server), jid 37, uid 972: exited on signal 6

This crash only seems to happen when the dataset is linked into the jail path that is already being used by Plex for transcoding. If I unlink the dataset, the Plex process stops crashing.

If I instead link the dataset into a new jail path, and then configure Plex to use it, it works, including during restarts of the jail.

I have verified that permissions are not the problem. The dataset and all subdirectories are set to u+rwX,g+rwX,o+rX for 972:972, which is the Plex user both inside and outside the jail. This is working perfectly for the other datasets.

I also upgraded the jail from FreeBSD-11.2-RELEASE to FreeBSD-12.1-RELEASE, and it did not change the behavior.

The only interesting artifact I came across for the signal 6 crash was caused by a race condition in the jail, and some people had to add a delay into the startup script to fix it. But why would this happen only for a specific dataset? I would expect that the datasets are "mounted" before the Plex process is run, right? And this was a pretty dated article, so I'm not sure if it still applies today.

It was difficult finding any information on what exactly signal 6 means, and the Plex logging doesn't even have a chance to write since the process crashes immediately on run. The only info I could find on signal 6 is "the process itself has found that some essential pre-requisite for correct function is not available and voluntarily killing itself, rather than the process being killed by the kernel," so this does seem to be some sort of validation fail within the Plex process itself.

Has anyone else run into this? Or does this seem to be a Plex problem, rather than any sort of jail/dataset/FreeBSD problem?
 
Top