DLNA issues - jbbandos - 2025-09-25
Jellyfin v10.10.7, running on docker container, client VLC 3.0.21
Server is openmediavault, the filesystem where the media is stored is btrfs.
When I try to access my music via Jellyfin's DLNA server, it is found by VLC. However, trying to see the albums (opening the Album "folder") VLC keeps scrolling down the list of folders until it finally opens the Genres, and plays the first music in the first subfolder.
Same music shared with openmediavault minidlna server, and I am able to open the albums, see their contents, etc, no error.
Checking the logs, there is always a complaint of a invalid character "0x1f". Enabling debug doesn't bring anything else relevant. Most of the music was bought as CD, and ripped by me,with the tags added/updated by k3b.
How can I find which file/folder is causing this issue? Or could it be due to the number of albums? (I have way over 1000 CDs, and a few hundred more albuns bought on bandcamp, etc.)
Here is the relevant part of the logs:
Code: [2025-09-25 21:32:06.463 +02:00] [ERR] [119] Jellyfin.Plugin.Dlna.ContentDirectory.ContentDirectoryService: Error processing control request
System.ArgumentException: '', hexadecimal value 0x1F, is an invalid character.
at System.Xml.XmlEncodedRawTextWriter.InvalidXmlChar(Int32 ch, Char* pDst, Boolean entitize)
at System.Xml.XmlEncodedRawTextWriter.WriteElementTextBlock(Char* pSrc, Char* pSrcEnd)
at System.Xml.XmlWellFormedWriter.WriteString(String text)
at Jellyfin.Plugin.Dlna.Didl.DidlBuilder.AddValue(XmlWriter writer, String prefix, String name, String value, String namespaceUri)
at Jellyfin.Plugin.Dlna.Didl.DidlBuilder.AddCommonFields(BaseItem item, Nullable`1 itemStubType, BaseItem context, XmlWriter writer, Filter filter)
at Jellyfin.Plugin.Dlna.Didl.DidlBuilder.AddGeneralProperties(BaseItem item, Nullable`1 itemStubType, BaseItem context, XmlWriter writer, Filter filter)
at Jellyfin.Plugin.Dlna.Didl.DidlBuilder.WriteFolderElement(XmlWriter writer, BaseItem folder, Nullable`1 stubType, BaseItem context, Int32 childCount, Filter filter, String requestedId)
at Jellyfin.Plugin.Dlna.ContentDirectory.ControlHandler.HandleBrowse(XmlWriter xmlWriter, IReadOnlyDictionary`2 sparams, String deviceId)
at Jellyfin.Plugin.Dlna.Service.BaseControlHandler.CreateControlResponse(ControlRequestInfo requestInfo)
at Jellyfin.Plugin.Dlna.Service.BaseControlHandler.ProcessControlRequestInternalAsync(ControlRequest request)
at Jellyfin.Plugin.Dlna.Service.BaseControlHandler.ProcessControlRequestAsync(ControlRequest request)
[2025-09-25 21:32:06.477 +02:00] [ERR] [119] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL "POST" "/dlna/79e73cdd-1439-4942-bdb1-d740227f1382/contentdirectory/control".
System.ArgumentException: '', hexadecimal value 0x1F, is an invalid character.
at System.Xml.XmlEncodedRawTextWriter.InvalidXmlChar(Int32 ch, Char* pDst, Boolean entitize)
at System.Xml.XmlEncodedRawTextWriter.WriteElementTextBlock(Char* pSrc, Char* pSrcEnd)
at System.Xml.XmlWellFormedWriter.WriteString(String text)
at Jellyfin.Plugin.Dlna.Service.ControlErrorHandler.GetResponse(Exception ex)
at Jellyfin.Plugin.Dlna.Service.BaseControlHandler.ProcessControlRequestAsync(ControlRequest request)
at Jellyfin.Plugin.Dlna.Api.DlnaServerController.ProcessContentDirectoryControlRequest(String serverId)
at lambda_method465(Closure, Object)
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(ActionContext actionContext, IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location ---
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Jellyfin.Api.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Api.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Api.Middleware.IPBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Api.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Api.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
|