Playback error Plex Transcoder signal: Arithmetic exception 1.41.7.9795

Server Version#: 1.41.7.9795-b8182f5e6
Player Version#: Roku 7.36.14.10147-6754caeec-Plex

After upgrading to beta version 1.41.7.9795 from 1.41.6.9685 I started seeing a Playback Error. Looking into the logs I found an SIGFPE arithmetic exception failure in the transcoder. Installing 1.41.6.9685 again fixes the bug.

May 17, 2025 12:18:02.079 [140386662062904] DEBUG - Jobs: '/usr/lib/plexmediaserver/Plex Transcoder' exit code for process 567358 is -8 (signal: Arithmetic   exception)
May 17, 2025 12:18:02.079 [140386186394424] DEBUG - Killing job.
May 17, 2025 12:18:02.079 [140386226633528] DEBUG - Streaming Resource: Terminated session 0x7fae501cb998:62bb83c906da824267c07ba64c89554e with reason        Conversion failed. The transcoder exited due to an error.
May 17, 2025 12:18:02.080 [140386186394424] DEBUG - Signalling job ID 567358 with 9
May 17, 2025 12:18:02.080 [140386186394424] DEBUG - Job was already killed, not killing again.

Direct stream H.264 video, TRUEHD 5.1->EAC3 Audio Transcode

does the occur on any other player ?

May I get a sample of the file (enough to recreate and capture in the debugger) ?

I’ll test and get back to you, I’ve reverted back to the working version for the time being.

No error playing on a pixel 9 app version 2025.16.0, video direct stream audio transcode from TRUEHD 5.1 to OPUS which is a difference from the roku.

No error playing on linux via the web app but that is direct stream audio and video.

I should note this happens with other files / movies as well, the other I tested was The Meg audio is TRUEHD 7.1 so maybe TRUEHD * → EAC3 is the commonality?

How would you like the sample file? The original is an 11GiB mkv so I’m not sure if I can just dd the first 100MiB and have it be playable.

If you use dd to snip off that first chunk (bs=1M count=100) then it will take the first 100MB of the file and write it to of=

From there, a link to where to download would be great.
I’ll send you a PM for the link if you prefer.
( The forum doesn’t allow 100MB uploads)

First 100M of the file: https://drive.google.com/file/d/14l_YshX8qY7TlG6fWR5NulRwdMf0YA_s/view?usp=sharing

File Downloaded. Will test as soon as my server finishes maintenance

Thanks!

Same error is present in version 1.41.7.9799-5bce000f7

1 Like

I see that version is now stable not beta, Plex Media Server - #676 by chris_decker08

Guessing that the issue is with:

  • (Transcode) Transcoding High Bitrate EAC-3 could result in choppy audio. (PM-691)

given that I’m seeing only failures with EAC-3 audio transcoding.

@adam_grare.com

The sample you provided has the following contents:

  Stream #0:0(eng): Video: h264 (High), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc
  Stream #0:1(eng): Audio: truehd, 48000 Hz, 5.1(side), s32 (24 bit) (default)
    Metadata:
      title           : Surround 5.1
  Stream #0:2(eng): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      title           : Surround 5.1
  Stream #0:3(deu): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      title           : Surround 5.1
  Stream #0:4(fra): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      title           : Surround 5.1
  Stream #0:5(eng): Subtitle: hdmv_pgs_subtitle, 1920x1080

Please confirm you’re playing and transcoding the TrueHD track when the FPE occurs ?

Asking because I am not yet able to repro the fault.

The EAC3 fix resolved a very long standing EAC-3 stuttering bug. The work performed corrected a coding error in EAC-3 audio packet management.

This correction was tested in the forum and then landed in 1.41.5

Please confirm you’re playing and transcoding the TrueHD track when the FPE occurs ?

@ChuckPa correct, from the top comment I have the “Now Playing” dashboard tile from the version that is working showing English (TRUEHD 5.1) → EAC3 - Transcode

@adam_grare.com

The fix you referenced is when EAC-3 is the audio input not the output.

Specifically, when EAC-3 was the input, audio segments more than 6 packets long were being truncated to 6 packets maximum resulting in lost (choppy) audio output.

The correction there was to recalculate and reblock the incoming audio into multiples of 6 packets per block.

I’ve been out last week on medical leave. Today is my first day back.

To get back into this, the sample you provide reliably generates the FPE when EAC-3 audio is the output ? Will it also FPE with any other output codec ?

Got it, I was just trying to read into the changelog looking for what could have caused the regression.

Hope you’re doing better and welcome back!

The sample I provided reliably crashes for the TRUEHD 5.1 audio stream (being transcoded to EAC3 for the roku). If I switch to use the stream from TRUEHD 5.1 to AC3 5.1 then playback no longer crashes.

I have an equipment problem.

I don’t have a roku (no logs to pull).

Can you please recreate (using DEBUG server logging) and let it crash so that it’s in the PMS log files then attach the PMS logs ZIP?

My goal is to take the FFMPEG invocation from you and recreate using the command line with output redirected to a file. This should fail the same way.

1 Like

Tomorrow I can shutdown, clean out logs, reproduce and attach all the logs (recording tonight and don’t want to interrupt).

For now, this is the Plex Transcoder cmdline hope this helps

Plex Media Server.3.log:May 20, 2025 15:05:54.626 [139760715438904] DEBUG - [Req#15e6/Transcode/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/JobRunner] Job running: EAE_ROOT=/tmp/pms-4ea75dac-e3eb-4df0-8392-73e87f76d080/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/1c96867-c7c51eae1050ee8a09ae8dc1-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "/usr/lib/plexmediaserver/Plex Transcoder" -codec:0 h264 -codec:1 truehd_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -ss 16 -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i "/export/tv/Landman/Season 01/s01e01.mkv" -map 0:0 -metadata:s:0 language=eng -codec:0 copy -filter_complex "[0:1] aresample=async=1:ochl='5.1(side)':rematrix_maxval=0.000000dB:osr=48000[0]" -map "[0]" -metadata:s:1 language=eng -codec:1 eac3_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -b:1 774k -break_non_keyframes 1 -segment_format mpegts -f ssegment -individual_header_trailer 0 -segment_time 1 -segment_start_number 16 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list "http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/manifest?X-Plex-Http-Pipeline=infinite" -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 "media-%05d.ts" -start_at_zero -copyts -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/progress
root@nas:/var/lib/plexmediaserver/Library/Application Support/Plex Media Server# sudo -u plex EAE_ROOT=/tmp/pms-4ea75dac-e3eb-4df0-8392-73e87f76d080/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/1c96867-c7c51eae1050ee8a09ae8dc1-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx "/usr/lib/plexmediaserver/Plex Transcoder" -codec:0 h264 -codec:1 truehd_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -ss 16 -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i "/export/tv/Landman/Season 01/s01e01.mkv" -map 0:0 -metadata:s:0 language=eng -codec:0 copy -filter_complex "[0:1] aresample=async=1:ochl='5.1(side)':rematrix_maxval=0.000000dB:osr=48000[0]" -map "[0]" -metadata:s:1 language=eng -codec:1 eac3_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -b:1 774k -break_non_keyframes 1 -segment_format mpegts -f ssegment -individual_header_trailer 0 -segment_time 1 -segment_start_number 16 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list "http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/manifest?X-Plex-Http-Pipeline=infinite" -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 "media-%05d.ts" -start_at_zero -copyts -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/progress
Floating point exception

Running through gdb:

root@nas:/var/lib/plexmediaserver/Library/Application Support/Plex Media Server# EAE_ROOT=/tmp/pms-4ea75dac-e3eb-4df0-8392-73e87f76d080/EasyAudioEncoder FFMPEG_EXTERNAL_LIBS='/var/lib/plexmediaserver/Library/Application\ Support/Plex\ Media\ Server/Codecs/1c96867-c7c51eae1050ee8a09ae8dc1-linux-x86_64/' X_PLEX_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx gdb "/usr/lib/plexmediaserver/Plex Transcoder"
GNU gdb (Debian 13.1-3) 13.1
Copyright (C) 2023 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Type "show copying" and "show warranty" for details.
This GDB was configured as "x86_64-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<https://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
    <http://www.gnu.org/software/gdb/documentation/>.

For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /usr/lib/plexmediaserver/Plex Transcoder...
(No debugging symbols found in /usr/lib/plexmediaserver/Plex Transcoder)
(gdb) run -codec:0 h264 -codec:1 truehd_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -ss 16 -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i "/export/tv/Landman/Season 01/s01e01.mkv" -map 0:0 -metadata:s:0 language=eng -codec:0 copy -filter_complex "[0:1] aresample=async=1:ochl='5.1(side)':rematrix_maxval=0.000000dB:osr=48000[0]" -map "[0]" -metadata:s:1 language=eng -codec:1 eac3_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -b:1 774k -break_non_keyframes 1 -segment_format mpegts -f ssegment -individual_header_trailer 0 -segment_time 1 -segment_start_number 16 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list "http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/manifest?X-Plex-Http-Pipeline=infinite" -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 "media-%05d.ts" -start_at_zero -copyts -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/progress
Starting program: /usr/lib/plexmediaserver/Plex Transcoder -codec:0 h264 -codec:1 truehd_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -ss 16 -noaccurate_seek -analyzeduration 20000000 -probesize 20000000 -i "/export/tv/Landman/Season 01/s01e01.mkv" -map 0:0 -metadata:s:0 language=eng -codec:0 copy -filter_complex "[0:1] aresample=async=1:ochl='5.1(side)':rematrix_maxval=0.000000dB:osr=48000[0]" -map "[0]" -metadata:s:1 language=eng -codec:1 eac3_eae -eae_prefix:1 dfbd7676-272c-42a7-97a2-6630eefe3db3-7309_ -b:1 774k -break_non_keyframes 1 -segment_format mpegts -f ssegment -individual_header_trailer 0 -segment_time 1 -segment_start_number 16 -segment_copyts 1 -segment_time_delta 0.0625 -segment_list "http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/manifest?X-Plex-Http-Pipeline=infinite" -segment_list_type csv -segment_list_size 5 -segment_list_separate_stream_times 1 -segment_list_unfinished 1 -max_delay 5000000 -avoid_negative_ts disabled -map_metadata -1 -map_chapters -1 "media-%05d.ts" -start_at_zero -copyts -y -nostats -loglevel quiet -loglevel_plex error -progressurl http://127.0.0.1:32400/video/:/transcode/session/dfbd7676-272c-42a7-97a2-6630eefe3db3-7309/9842156f-9649-46fc-99c9-2d5dc2ae9c4f/progress
[New LWP 383009]
[New LWP 383010]
[New LWP 383011]
[New LWP 383012]
[New LWP 383013]
[New LWP 383014]
[New LWP 383015]
[New LWP 383016]
[New LWP 383017]
[New LWP 383018]
[New LWP 383019]
[New LWP 383020]
[New LWP 383021]
[New LWP 383022]
[New LWP 383023]
[New LWP 383024]
[New LWP 383025]
[New LWP 383026]
[New LWP 383027]
[New LWP 383028]
[New LWP 383029]
[New LWP 383030]
[New LWP 383031]
[New LWP 383032]
[New LWP 383033]
[New LWP 383034]
[New LWP 383035]
[New LWP 383036]
[New LWP 383037]
[New LWP 383038]
[New LWP 383039]
[New LWP 383040]
[New LWP 383041]
[New LWP 383042]

Thread 1 "Plex Transcoder" received signal SIGFPE, Arithmetic exception.
0x00007ffff6f93912 in ?? () from /usr/lib/plexmediaserver/lib/libavcodec.so.59
(gdb) bt
#0  0x00007ffff6f93912 in ?? () from /usr/lib/plexmediaserver/lib/libavcodec.so.59
#1  0x00007ffff6f924ae in ?? () from /usr/lib/plexmediaserver/lib/libavcodec.so.59
#2  0x00007ffff6f97a1f in ?? () from /usr/lib/plexmediaserver/lib/libavcodec.so.59
#3  0x00007ffff6f97960 in avcodec_send_frame () from /usr/lib/plexmediaserver/lib/libavcodec.so.59
#4  0x00007ffff7ff574d in ?? ()
#5  0x00007ffff7fee48a in ?? ()
#6  0x00007ffff7fea3d7 in main ()
(gdb) info threads
  Id   Target Id                    Frame 
* 1    LWP 383004 "Plex Transcoder" 0x00007ffff6f93912 in ?? () from /usr/lib/plexmediaserver/lib/libavcodec.so.59
  2    LWP 383009 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  3    LWP 383010 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  4    LWP 383011 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  5    LWP 383012 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  6    LWP 383013 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  7    LWP 383014 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  8    LWP 383015 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  9    LWP 383016 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  10   LWP 383017 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  11   LWP 383018 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  12   LWP 383019 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  13   LWP 383020 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  14   LWP 383021 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  15   LWP 383022 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  16   LWP 383023 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  17   LWP 383024 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  18   LWP 383025 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  19   LWP 383026 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  20   LWP 383027 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  21   LWP 383028 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  22   LWP 383029 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  23   LWP 383030 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  24   LWP 383031 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  25   LWP 383032 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  26   LWP 383033 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  27   LWP 383034 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  28   LWP 383035 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  29   LWP 383036 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  30   LWP 383037 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  31   LWP 383038 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  32   LWP 383039 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  33   LWP 383040 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  34   LWP 383041 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1
  35   LWP 383042 "Plex Transcoder" 0x00007ffff7f9c739 in ?? () from /usr/lib/plexmediaserver/lib/ld-musl-x86_64.so.1

If you have a build with debug symbols you can send I can run that and get a better backtrace.

1 Like

Here is the core dump
core.tar.gz (4.8 MB)

Just for fun I tried installing libavcodec.so.59 from the plexmediaserver_1.41.6.9685-d301f511a_amd64.deb version to see if it resolved the issue and it fixed it.
So with v1.41.7.9799 installed + libavcodec.so.59@1.41.6.9685 TRUEHD->EAC3 audio transcoding works.

If the full Logs dir would still be helpful: I shutdown plex, removed all log files, started plex, reproduced the error and tgz’d the logs up
logs.tar.gz (98.4 KB)

Thanks.

Plex uses MUSL so, as you found out, gdb is limited success …

but the stack trace is GREAT

I just repro’d the error as well in a container running to a file.

NOW,

The $500 question.

Is it only this file or is it ALL files ?

We had a LOT of EAC3 testing and confirmation. This is the first reported failure.

1 Like