[BUG] LG webOS 10.x - Playback Error 400 (HTTP Header Overflow due to Client Profile Bloat)

Server Version#: 1.43.1.10611
Player Version#: 5.94.1
LG webOS Version: 10.3.0

Hi everyone,

I’m reporting a specific playback issue on the latest LG webOS firmware (v10.2.2 and v10.3.0) that results in an “Unknown Playback Error” on the TV and a 400 Bad Request in the server logs.

I don’t fully understand the underlying code myself, but I’ve been using an AI to help me troubleshoot my Mac Studio logs, and we’ve identified a very specific “Smoking Gun” that appears to be a bug in how Plex handshakes with these newer LG sets.

The Issue

The server is unable to find a specific client profile for webOS 10.x. As a result, it falls back to a “Generic” profile. This fallback triggers a massive X-Plex-Client-Profile-Extra string that is appended to the playback URL. When this string is combined with long filenames or internal metadata (like track titles), it exceeds the HTTP request limit of the Plex Media Server (4096 characters), causing the server to reject the request entirely.

Evidence from Logs

Here are the pertinent parts of my logs showing the server failing to parse the oversized request:

Plaintext

ERROR - [Req#68c9] Unable to find client profile for device; platform=webOS, platformVersion=10.3.0, device=webOS 10.3.0, model=OLED48C34LA
...
ERROR - Error parsing HTTP request: 26value%3D2160)%2Badd-limitation(scope%3DvideoTranscodeTarget... [Thousands of characters of codec data] ...&X-Plex-Client-Profile-Name=Generic
...
DEBUG - Completed: [192.168.0.3:56550] 400 GET /video/:/transcode/universal/session/sbhr7u6tawkzyvbfizdisub4/base/index.m3u8

AI Troubleshooting & Workaround

The AI suggested that I was hitting a character limit. We tested this by “shaving” the media files:

  1. Workaround 1 (Optimization): Creating an “Optimized Version” worked immediately because Plex uses a clean database entry and shorter file path for optimized versions.

  2. Workaround 2 (Metadata Stripping): I used mkvpropedit (for MKVs) and Subler (for MP4s) to physically delete internal “Stream Titles” and “Encoding Tool” metadata (like the long “Blackmagic Design Resolve Studio” tag).

Result: After stripping about 100-150 characters of metadata from the file headers and re-analyzing in Plex, the original files now play perfectly on the LG TV.

Request for Plex Team

It appears the “Generic” profile fallback for webOS 10 is too verbose and is pushing URLs right to the edge of the 4096-character limit. Any additional metadata in the file (track names, long paths) then pushes it over into a 400 error.

Could we please get an official client profile update for webOS 10.x to prevent this URL bloat.

Great Post!!! Still no response from anyone at Plex/LG

Same root cause, different device class — LG webOS 8.3 Smart Monitor (32SR50F-WA)

Confirming this isn’t just webOS 10.x on TVs. I’m hitting the identical bug on an LG 32SR50F-WA Smart Monitor running webOS 8.3.0 with Plex for LG 5.94.1, against PMS 1.43.1.10611 (Docker, linuxserver image).

Symptom: MEDIA_ELEMENT_ERROR / Format error code 4 on any video that needs transcoding. Direct-play works fine.

Server log shows the same fingerprint:

ERROR - Unable to find client profile for device; platform=webOS, platformVersion=8.3.0, device=webOS 8.3.0, model=32SR50F-WA

ERROR - Error parsing HTTP request: ideo%2Cmpeg4%26audioCodec%3Daac%2Cac3%2Ceac3%2Cmp2%2Cmp3)%2Badd-limitation(scope%3DvideoAudioCodec…

Followed by 400 on /video/:/transcode/universal/session/{id}/base/index.m3u8.

Quantifying the URL bloat for this device — pulled from one failed request in my server log:

Component Length
Total URL 4,281 chars
X-Plex-Client-Profile-Extra alone 3,100 chars
All other X-Plex headers combined ~510 chars

So 72% of the URL is the inline profile spec the app sends because PMS has no built-in profile for this device. Parser appears to truncate around 3 KB and reports “Error parsing HTTP request” with the request-line tail dangling.

Implication: this isn’t just a webOS 10.x regression — it’s a fallback-path bug that fires on any LG webOS device PMS doesn’t ship a profile for. Smart Monitors are a separate product line from TVs, with separate webOS versioning, and they’re going to keep producing new unprofiled models. The right fix is on the fallback path (truncate, send via POST body, or default to a generic profile), not per-device profile additions.

The “strip container-level title metadata from the media file” workaround that’s helped some users on the TV side does not help here — at least one of my failing files (a 4K HEVC HDR remux) has zero container-level title tags, and the bloat is entirely client-side regardless.

Happy to provide a full anonymised log excerpt if a Plex dev wants to dig in.

Same problem on webOS 9.2.2

I managed to workaround the issue myself by putting Plex server behind the reverse proxy (I used Caddy) with automatic removal of Referer header in each HTTP call - that completely solved the problem for me. The setup is much more complicated now, but it least you just need to do it once.

This proves, that this is indeed a buffer size limitation issue, which can be simply fixed on the server side.