Hi,
I am using plex-media-server-1.11.3-4803-c40bba82e on Gentoo Linux. When streaming media to my PS4 that requires transcoding, the Plex Transcoder/ffmpeg process consistently produces segmentation faults. Here is a dmesg snippet from a few attempts:
[Feb16 03:52] Plex Transcoder[31516]: segfault at 48 ip 00000000004771d7 sp 00007ffef6190f70 error 4 in Plex Transcoder[400000+bf4000]
[ +8.432876] Plex Transcoder[31537]: segfault at 48 ip 00000000004771d7 sp 00007ffdf01d4220 error 4 in Plex Transcoder[400000+bf4000]
[ +6.828379] Plex Transcoder[31557]: segfault at 48 ip 00000000004771d7 sp 00007ffdbae2ec70 error 4 in Plex Transcoder[400000+bf4000]
[Feb16 03:53] Plex Transcoder[31576]: segfault at 48 ip 00000000004771d7 sp 00007ffcd515b8f0 error 4 in Plex Transcoder[400000+bf4000]
[ +7.571442] Plex Transcoder[31595]: segfault at 48 ip 00000000004771d7 sp 00007ffe372b1640 error 4 in Plex Transcoder[400000+bf4000]
[Feb20 02:04] Plex Transcoder[27991]: segfault at 48 ip 00000000004771d7 sp 00007ffcfc1c8230 error 4 in Plex Transcoder[400000+bf4000]
[ +11.817507] Plex Transcoder[28101]: segfault at 48 ip 00000000004771d7 sp 00007ffcb078ad90 error 4 in Plex Transcoder[400000+bf4000]
[ +10.573949] Plex Transcoder[28212]: segfault at 48 ip 00000000004771d7 sp 00007ffdc38706c0 error 4 in Plex Transcoder[400000+bf4000]
[ +21.377823] Plex Transcoder[28378]: segfault at 48 ip 00000000004771d7 sp 00007ffc365b2a10 error 4 in Plex Transcoder[400000+bf4000]
[Feb20 02:05] Plex Transcoder[28516]: segfault at 48 ip 00000000004771d7 sp 00007ffd774939b0 error 4 in Plex Transcoder[400000+bf4000]
[ +20.522742] Plex Transcoder[28683]: segfault at 48 ip 00000000004771d7 sp 00007ffd4d6eab30 error 4 in Plex Transcoder[400000+bf4000]
[ +19.689888] Plex Transcoder[28921]: segfault at 48 ip 00000000004771d7 sp 00007ffe18534ca0 error 4 in Plex Transcoder[400000+bf4000]
[Feb20 06:03] Plex Transcoder[21622]: segfault at 48 ip 00000000004771d7 sp 00007ffc1cd02860 error 4 in Plex Transcoder[400000+bf5000]
Here is an excerpt from Plex Media Server.log:
Feb 20, 2018 06:02:31.480 [0x7ff7903ff700] DEBUG - Job running: EAE_ROOT='/tmp/pms-.../EasyAudioEncoder' FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/6bd6751-1276-linux-ubuntu-x86_64/' XDG_CACHE_HOME='/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/' XDG_DATA_HOME='/usr/lib/plexmediaserver/Resources/' X_PLEX_TOKEN='xxxxxxxxxxxxxxxxxxxx' '/usr/lib64/plexmediaserver/Plex Transcoder' '-codec:0' 'h264' '-codec:1' 'dca' '-i' '/path/to/file.mkv' '-i' '/var/lib/plexmediaserver/Library/Application Support/Plex Media Server/Cache/Transcode/Sessions/plex-transcode-...-.../temp-0.idx' '-filter_complex' '[1:0]scale=1200:720[0];[0:0][0]overlay[1];[1]scale=w=1200:h=720[2];[2]format=pix_fmts=yuv420p|nv12[3]' '-filter_complex' '[0:1] aresample=async=1:ocl='\''5.1'\'':osr=48000[4]' '-map' '[3]' '-metadata:s:0' 'language=eng' '-codec:0' 'libx264' '-crf:0' '16' '-maxrate:0' '7824k' '-bufsize:0' '15648k' '-r:0' '23.975999999999999' '-preset:0' 'veryfast' '-level:0' '4.1' '-x264opts:0' 'subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none' '-force_key_frames:0' 'expr:gte(t,0+n_forced*3)' '-map' '[4]' '-metadata:s:1' 'language=eng' '-codec:1' 'aac' '-strict:1' 'experimental' '-aac_coder:1' 'fast' '-q:1' '0' '-segment_format' 'mpegts' '-f' 'ssegment' '-individual_header_trailer' '0' '-segment_time' '3' '-segment_start_number' '0' '-segment_copyts' '1' '-segment_time_delta' '0.0625' '-segment_list' 'http://127.0.0.1:32400/video/:/transcode/session/.../.../seglist' '-segment_list_type' 'csv' '-segment_list_size' '2147483647' '-segment_list_separate_stream_times' '1' '-max_delay' '5000000' '-avoid_negative_ts' 'disabled' '-map_metadata' '-1' '-map_chapters' '-1' 'media-%05d.ts' '-start_at_zero' '-copyts' '-vsync' 'cfr' '-y' '-nostats' '-loglevel' 'quiet' '-loglevel_plex' 'error' '-progressurl' 'http://127.0.0.1:32400/video/:/transcode/session/.../.../progress'
...
Feb 20, 2018 06:02:33.393 [0x7ff7943ff700] DEBUG - JobManager: child process killed by signal: 11 (Segmentation fault)
Feb 20, 2018 06:02:33.393 [0x7ff7943ff700] DEBUG - Jobs: '/usr/lib64/plexmediaserver/Plex Transcoder' exit code for process 21622 is -11
Feb 20, 2018 06:02:33.393 [0x7ff7943ff700] DEBUG - Jobs: '/usr/lib64/plexmediaserver/Plex Transcoder' exit code for process 21622 is -11
Feb 20, 2018 06:02:33.393 [0x7ff7943ff700] DEBUG - Jobs: '/usr/lib64/plexmediaserver/Plex Transcoder' exit code for process 21622 is -11
Feb 20, 2018 06:02:33.393 [0x7ff7943ff700] DEBUG - Streaming Resource: Terminating session %p:... which is using transcoder slot. Used slots is now 0
Feb 20, 2018 06:02:33.393 [0x7ff7943ff700] DEBUG - Streaming Resource: Terminated session %p:... with reason Conversion failed. The transcoder crashed or failed to start up.
Feb 20, 2018 06:02:33.393 [0x7ff7953ff700] DEBUG - Thread: Running async task started by thread 0x7ff7943ff700.
Feb 20, 2018 06:02:33.393 [0x7ff7953ff700] DEBUG - Killing job.
Feb 20, 2018 06:02:33.393 [0x7ff7953ff700] DEBUG - Signalling job ID 21622 with 9
Feb 20, 2018 06:02:33.393 [0x7ff7953ff700] DEBUG - Job was already killed, not killing again.
Feb 20, 2018 06:02:33.393 [0x7ff7953ff700] DEBUG - Stopping transcode session ...
Feb 20, 2018 06:02:33.396 [0x7ff7953ff700] DEBUG - Transcoder: Cleaning old transcode directories.
Since for whatever reason the package is using a bundled version of ffmpeg, here are the dynamic links:
$ ldd /usr/lib/plexmediaserver/Plex\ Transcoder
linux-vdso.so.1 (0x00007fff403f9000)
libva.so.2 => /usr/lib64/plexmediaserver/libva.so.2 (0x00007f4ab7c37000)
libva-drm.so.2 => /usr/lib64/plexmediaserver/libva-drm.so.2 (0x00007f4ab7a35000)
libz.so.1 => /lib64/libz.so.1 (0x00007f4ab781e000)
libiconv.so.2 => /usr/lib64/plexmediaserver/libiconv.so.2 (0x00007f4ab7532000)
libc.so.6 => /lib64/libc.so.6 (0x00007f4ab717d000)
libm.so.6 => /lib64/libm.so.6 (0x00007f4ab6e65000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libstdc++.so.6 (0x00007f4ab6a60000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f4ab685c000)
libexpat.so.1 => /usr/lib64/libexpat.so.1 (0x00007f4ab6632000)
librt.so.1 => /lib64/librt.so.1 (0x00007f4ab642a000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/6.4.0/libgcc_s.so.1 (0x00007f4ab6213000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f4ab5ff3000)
libdrm.so.2 => /usr/lib64/libdrm.so.2 (0x00007f4ab5de1000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4ab7e5f000)
EDIT: Sorry I didn’t initially see how to edit my original post. I’ve flagged my two comments below as “duplicates”, please delete them.