/DisplayPreferences/usersettings endpoint returning 500 when attempting to log in #3195

Closed
opened 2026-02-06 22:57:25 +03:00 by OVERLORD · 8 comments
Owner

Originally created by @gregoryjjb on GitHub (Aug 10, 2021).

Describe the bug

When attempting to sign in the page hangs with a spinner; it specifically fails on the /DisplayPreferences/usersettings?userId=xxx&client=emby request, which is returning a 500. Exact error visible in logs section below. Existing sessions are currently unaffected, only new sign in attempts are broken. Sometimes refreshing the page in this stuck state will complete the login, other times it will keep me on the login screen.

System (please complete the following information):

  • OS: Ubuntu Server 20.04.1
  • Virtualization: Docker (official image)
  • Clients: Browser
  • Browser: Firefox 90, Chrome 92
  • Jellyfin Version: 10.7.6
  • Playback: N/A
  • Hardware Acceleration: NVENC
  • Installed Plugins: AudioDB, Fanart, Kodi Sync Queue, MusicBrainz, OMBd, Open Subtitles, TMDb Box Sets, TV Maze
  • Reverse Proxy: Caddy
  • Base URL: none
  • Networking: Bridge/NAT + IPv6
  • Storage: local

To Reproduce

  1. Visit login page
  2. Enter username & password
  3. Click "Sign In"

Expected behavior

I should be signed in.

Server Logs

[04:41:26] [INF] [219] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 2600:1700:38d4:5550:dda4:eb03:fb9d:59c6 closed
[04:41:34] [INF] [154] Jellyfin.Server.Implementations.Users.UserManager: Authentication request for admin has succeeded.
[04:41:34] [INF] [154] Emby.Server.Implementations.Session.SessionManager: Current/Max sessions for user admin: 1/0
[04:41:34] [INF] [154] Emby.Server.Implementations.Session.SessionManager: Creating new access token for user 230335c2-a58b-47ff-ae96-dae28961e81c
[04:41:34] [ERR] [199] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /DisplayPreferences/usersettings.
System.MissingMethodException: Method not found: 'System.Collections.Generic.IDictionary`2<System.String,System.String> MediaBrowser.Controller.IDisplayPreferencesManager.ListCustomItemDisplayPreferences(System.Guid, System.Guid, System.String)'.
   at Jellyfin.Api.Controllers.DisplayPreferencesController.GetDisplayPreferences(String displayPreferencesId, Guid userId, String client)
   at lambda_method388(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location ---
   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|24_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.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context)
   at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context)
   at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
   at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
   at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
   at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
   at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
   at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
   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.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
   at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context)
   at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)

FFmpeg Logs

N/A

Browser Console Logs

opening web socket with url: wss://jellyfin.***.***/socket?api_key=a7b1f47……BHZWNrbykgQ2hyb21lLzkyLjAuNDUxNS4xMzEgU2FmYXJpLzUzNy4zNnwxNjI4NTcxMTA1ODAx
main.0f18378….bundle.js:2 returning instance from getOrAddApiClient
main.0f18378….bundle.js:2 Requesting url without automatic networking: https://jellyfin.***.***/DisplayPreferences/usersettings?userId=230335c…&client=emby
main.0f18378….bundle.js:2 web socket connection opened
/DisplayPreferences/…1e81c&client=emby:1 Failed to load resource: the server responded with a status of 500 ()
index.html#!/login.h…79e254ad181978295:1 Uncaught (in promise) 
    Response
    body: (...)
    bodyUsed: false
    headers: Headers {}
    ok: false
    redirected: false
    status: 500
    statusText: ""
    type: "basic"
    url: "https://jellyfin.***.***/DisplayPreferences/usersettings?userId=230335c2a58b47ffae96dae28961e81c&client=emby"
    [[Prototype]]: Response
main.0f18378….bundle.js:2 Sending web socket message: KeepAlive

Screenshots

N/A

Additional context

I've seen this endpoint fail with this same (or at least a very similar) error before but it's always resolved itself; having no such luck this time. Appreciate any help.

Originally created by @gregoryjjb on GitHub (Aug 10, 2021). **Describe the bug** <!-- A clear and concise description of what the bug is. --> When attempting to sign in the page hangs with a spinner; it specifically fails on the `/DisplayPreferences/usersettings?userId=xxx&client=emby` request, which is returning a 500. Exact error visible in logs section below. Existing sessions are currently unaffected, only new sign in attempts are broken. Sometimes refreshing the page in this stuck state will complete the login, other times it will keep me on the login screen. **System (please complete the following information):** - OS: Ubuntu Server 20.04.1 - Virtualization: Docker (official image) - Clients: Browser - Browser: Firefox 90, Chrome 92 - Jellyfin Version: 10.7.6 - Playback: N/A - Hardware Acceleration: NVENC - Installed Plugins: AudioDB, Fanart, Kodi Sync Queue, MusicBrainz, OMBd, Open Subtitles, TMDb Box Sets, TV Maze - Reverse Proxy: Caddy - Base URL: none - Networking: Bridge/NAT + IPv6 - Storage: local **To Reproduce** <!-- Steps to reproduce the behavior: --> 1. Visit login page 2. Enter username & password 3. Click "Sign In" **Expected behavior** <!-- A clear and concise description of what you expected to happen. --> I should be signed in. **Server Logs** <!-- Please paste any log errors. --> ``` [04:41:26] [INF] [219] Emby.Server.Implementations.HttpServer.WebSocketManager: WS 2600:1700:38d4:5550:dda4:eb03:fb9d:59c6 closed [04:41:34] [INF] [154] Jellyfin.Server.Implementations.Users.UserManager: Authentication request for admin has succeeded. [04:41:34] [INF] [154] Emby.Server.Implementations.Session.SessionManager: Current/Max sessions for user admin: 1/0 [04:41:34] [INF] [154] Emby.Server.Implementations.Session.SessionManager: Creating new access token for user 230335c2-a58b-47ff-ae96-dae28961e81c [04:41:34] [ERR] [199] Jellyfin.Server.Middleware.ExceptionMiddleware: Error processing request. URL GET /DisplayPreferences/usersettings. System.MissingMethodException: Method not found: 'System.Collections.Generic.IDictionary`2<System.String,System.String> MediaBrowser.Controller.IDisplayPreferencesManager.ListCustomItemDisplayPreferences(System.Guid, System.Guid, System.String)'. at Jellyfin.Api.Controllers.DisplayPreferencesController.GetDisplayPreferences(String displayPreferencesId, Guid userId, String client) at lambda_method388(Closure , Object , Object[] ) at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync() at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted) at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync() --- End of stack trace from previous location --- 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|24_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.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger) at Prometheus.HttpMetrics.HttpRequestDurationMiddleware.Invoke(HttpContext context) at Prometheus.HttpMetrics.HttpRequestCountMiddleware.Invoke(HttpContext context) at Prometheus.HttpMetrics.HttpInProgressMiddleware.Invoke(HttpContext context) at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager) at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager) at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager) at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager) at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult) at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context) 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.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext) at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext) at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context) at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context) at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context) ``` **FFmpeg Logs** <!-- Please paste any log errors. --> N/A **Browser Console Logs** <!-- Please paste any log errors. --> ``` opening web socket with url: wss://jellyfin.***.***/socket?api_key=a7b1f47……BHZWNrbykgQ2hyb21lLzkyLjAuNDUxNS4xMzEgU2FmYXJpLzUzNy4zNnwxNjI4NTcxMTA1ODAx main.0f18378….bundle.js:2 returning instance from getOrAddApiClient main.0f18378….bundle.js:2 Requesting url without automatic networking: https://jellyfin.***.***/DisplayPreferences/usersettings?userId=230335c…&client=emby main.0f18378….bundle.js:2 web socket connection opened /DisplayPreferences/…1e81c&client=emby:1 Failed to load resource: the server responded with a status of 500 () index.html#!/login.h…79e254ad181978295:1 Uncaught (in promise) Response body: (...) bodyUsed: false headers: Headers {} ok: false redirected: false status: 500 statusText: "" type: "basic" url: "https://jellyfin.***.***/DisplayPreferences/usersettings?userId=230335c2a58b47ffae96dae28961e81c&client=emby" [[Prototype]]: Response main.0f18378….bundle.js:2 Sending web socket message: KeepAlive ``` **Screenshots** <!-- If applicable, add screenshots to help explain your problem. --> N/A **Additional context** <!-- Add any other context about the problem here. --> I've seen this endpoint fail with this same (or at least a very similar) error before but it's always resolved itself; having no such luck this time. Appreciate any help.
OVERLORD added the bug label 2026-02-06 22:57:25 +03:00
Author
Owner

@barronpm commented on GitHub (Sep 10, 2021):

Fixed in 10.7.7

@barronpm commented on GitHub (Sep 10, 2021): Fixed in 10.7.7
Author
Owner

@gregoryjjb commented on GitHub (Sep 14, 2021):

Just upgraded and still facing the exact same issue :( it's actually worse now, refreshing the page never gets me through the login now.

@gregoryjjb commented on GitHub (Sep 14, 2021): Just upgraded and still facing the exact same issue :( it's actually worse now, refreshing the page never gets me through the login now.
Author
Owner

@cvium commented on GitHub (Sep 14, 2021):

Please provide the full log

@cvium commented on GitHub (Sep 14, 2021): Please provide the full log
Author
Owner

@gregoryjjb commented on GitHub (Sep 14, 2021):

More logs than provided above? Here's the full thing: https://pastebin.com/raw/GKU8YffN

You can see the error on the /DisplayPreferences/usersettings endpoint right at the end, from a login attempt

@gregoryjjb commented on GitHub (Sep 14, 2021): More logs than provided above? Here's the full thing: https://pastebin.com/raw/GKU8YffN You can see the error on the `/DisplayPreferences/usersettings` endpoint right at the end, from a login attempt
Author
Owner

@cvium commented on GitHub (Sep 14, 2021):

Looks like a different error. Have you tried rebooting?

@cvium commented on GitHub (Sep 14, 2021): Looks like a different error. Have you tried rebooting?
Author
Owner

@gregoryjjb commented on GitHub (Sep 14, 2021):

I have rebooted yeah.

@gregoryjjb commented on GitHub (Sep 14, 2021): I have rebooted yeah.
Author
Owner

@barronpm commented on GitHub (Sep 15, 2021):

It looks like this is a different issue from the known bug for display preferences. Does this occur when you have no plugins? If not, which plugin causes the error?

@barronpm commented on GitHub (Sep 15, 2021): It looks like this is a different issue from the known bug for display preferences. Does this occur when you have no plugins? If not, which plugin causes the error?
Author
Owner

@gregoryjjb commented on GitHub (Sep 15, 2021):

Still occurs with all plugins disabled. It's because _displayPreferencesManager is null right? Can I set up any more advanced debugging on my instance?

@gregoryjjb commented on GitHub (Sep 15, 2021): Still occurs with all plugins disabled. It's because `_displayPreferencesManager` is null right? Can I set up any more advanced debugging on my instance?
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#3195