Deleting media that is still being watched in SyncPlay results in errors #7374

Open
opened 2026-02-07 04:52:28 +03:00 by OVERLORD · 1 comment
Owner

Originally created by @kmarius on GitHub (Sep 29, 2025).

This issue respects the following points:

  • This is a bug, not a question or a configuration issue; Please visit our forum or chat rooms first to troubleshoot with volunteers, before creating a report.
  • This issue is not already reported on GitHub (I've searched it).
  • I'm using an up to date version of Jellyfin Server stable, unstable or master; We generally do not support previous older versions. If possible, please update to the latest version before opening an issue.
  • I agree to follow Jellyfin's Code of Conduct.
  • This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one.

Description of the bug

After deleting media that is still being watched in a SyncPlay group it is not possible to for any user that is not in the group to view the list of SyncPlay groups (by clicking the SyncPlay button on the top right).
An error is shown on the UI: An error occurred while accessing groups list. and it is not possible to view or create groups, because the menu doesn't open. Server logs show a NullReferenceException.
Everything starts working again once everyone leaves and the group is dissolved.

Reproduction steps

  1. Prepare or backup a Movie from your library; it will be deleted from disk.
  2. Log in User1 via browser, create a SyncPlay group
  3. Log in User2 via browser, join User1's SyncPlay group (different browser/container tab)
  4. Begin watching the movie via SyncPlay
  5. Return from playback with User1 (via the Back button)
  6. Delete the movie being watched via the UI (three dots menu > Delete media)
  7. Leave the SyncPlay group on User1 (playback on User2 continues)
  8. With User1, attempt to view SyncPlay groups by clicking the SyncPlay button

What is the current bug behavior?

The following error is shown and no SyncPlay groups are displayed (the menu doesn't even open):
An error occurred while accessing groups list.

What is the expected correct behavior?

The list of active SyncPlay groups should be displayed.

Jellyfin Server version

10.10.0+

Specify the build version

10.10.7

Environment

- OS: Debian 12
- Linux Kernel: 6.1.0-26-amd64
- Virtualization: Docker
- Browser: Firefox, Brave
- Playback Method: Browser

Jellyfin logs

[13:56:31] [INF] [39] Emby.Server.Implementations.SyncPlay.Group: Group 303f15dc-d0c9-49cb-8162-a0257ff97927 switching from Waiting to Playing.
[13:56:31] [INF] [81] Emby.Server.Implementations.SyncPlay.Group: Session e52fc5cc38d66eec9f5c20e61020c2d7 requested Ready in group 303f15dc-d0c9-49cb-8162-a0257ff97927 that is Playing.
[13:56:32] [INF] [54] Emby.Server.Implementations.SyncPlay.Group: Session e58891763d09b8ee803e0c83219701c6 requested Ready in group 303f15dc-d0c9-49cb-8162-a0257ff97927 that is Playing.
[13:56:45] [INF] [39] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.10.7 playing MOVIE. Stopped at 17215 ms
[13:57:00] [INF] [81] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MOVIE, Path: PATH, Id: 8226269f-54c6-a3c5-28f5-133517f5c6ed
[13:57:00] [INF] [81] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: Movie, Name: MOVIE, Path: PATH, Id: 8226269f-54c6-a3c5-28f5-133517f5c6ed
[13:57:15] [INF] [35] Emby.Server.Implementations.SyncPlay.Group: Session e58891763d09b8ee803e0c83219701c6 left group 303f15dc-d0c9-49cb-8162-a0257ff97927.
[13:57:17] [ERR] [35] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /SyncPlay/List.
System.NullReferenceException: Object reference not set to an instance of an object.
   at Emby.Server.Implementations.SyncPlay.Group.HasAccessToQueue(User user, IReadOnlyList`1 queue)
   at Emby.Server.Implementations.SyncPlay.SyncPlayManager.ListGroups(SessionInfo session, ListGroupsRequest request)
   at Jellyfin.Api.Controllers.SyncPlayController.SyncPlayGetGroups()
   at lambda_method1802(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 Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
   at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
   at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
Originally created by @kmarius on GitHub (Sep 29, 2025). ### This issue respects the following points: - [x] This is a **bug**, not a question or a configuration issue; Please visit our [forum or chat rooms](https://jellyfin.org/contact/) first to troubleshoot with volunteers, before creating a report. - [x] This issue is **not** already reported on [GitHub](https://github.com/jellyfin/jellyfin/issues?q=is%3Aopen+is%3Aissue) _(I've searched it)_. - [x] I'm using an up to date version of Jellyfin Server stable, unstable or master; We generally do not support previous older versions. If possible, please update to the latest version before opening an issue. - [x] I agree to follow Jellyfin's [Code of Conduct](https://jellyfin.org/docs/general/community-standards.html#code-of-conduct). - [x] This report addresses only a single issue; If you encounter multiple issues, kindly create separate reports for each one. ### Description of the bug After deleting media that is still being watched in a SyncPlay group it is not possible to for any user that is not in the group to view the list of SyncPlay groups (by clicking the SyncPlay button on the top right). An error is shown on the UI: `An error occurred while accessing groups list.` and it is not possible to view or create groups, because the menu doesn't open. Server logs show a `NullReferenceException`. Everything starts working again once everyone leaves and the group is dissolved. ### Reproduction steps 1. Prepare or backup a Movie from your library; it will be deleted from disk. 2. Log in User1 via browser, create a SyncPlay group 3. Log in User2 via browser, join User1's SyncPlay group (different browser/container tab) 4. Begin watching the movie via SyncPlay 5. Return from playback with User1 (via the Back button) 6. Delete the movie being watched via the UI (three dots menu > Delete media) 7. Leave the SyncPlay group on User1 (playback on User2 continues) 8. With User1, attempt to view SyncPlay groups by clicking the SyncPlay button ### What is the current _bug_ behavior? The following error is shown and no SyncPlay groups are displayed (the menu doesn't even open): `An error occurred while accessing groups list.` ### What is the expected _correct_ behavior? The list of active SyncPlay groups should be displayed. ### Jellyfin Server version 10.10.0+ ### Specify the build version 10.10.7 ### Environment ```markdown - OS: Debian 12 - Linux Kernel: 6.1.0-26-amd64 - Virtualization: Docker - Browser: Firefox, Brave - Playback Method: Browser ``` ### Jellyfin logs ```shell [13:56:31] [INF] [39] Emby.Server.Implementations.SyncPlay.Group: Group 303f15dc-d0c9-49cb-8162-a0257ff97927 switching from Waiting to Playing. [13:56:31] [INF] [81] Emby.Server.Implementations.SyncPlay.Group: Session e52fc5cc38d66eec9f5c20e61020c2d7 requested Ready in group 303f15dc-d0c9-49cb-8162-a0257ff97927 that is Playing. [13:56:32] [INF] [54] Emby.Server.Implementations.SyncPlay.Group: Session e58891763d09b8ee803e0c83219701c6 requested Ready in group 303f15dc-d0c9-49cb-8162-a0257ff97927 that is Playing. [13:56:45] [INF] [39] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app Jellyfin Web 10.10.7 playing MOVIE. Stopped at 17215 ms [13:57:00] [INF] [81] Emby.Server.Implementations.Library.LibraryManager: Removing item, Type: Movie, Name: MOVIE, Path: PATH, Id: 8226269f-54c6-a3c5-28f5-133517f5c6ed [13:57:00] [INF] [81] Emby.Server.Implementations.Library.LibraryManager: Deleting item path, Type: Movie, Name: MOVIE, Path: PATH, Id: 8226269f-54c6-a3c5-28f5-133517f5c6ed [13:57:15] [INF] [35] Emby.Server.Implementations.SyncPlay.Group: Session e58891763d09b8ee803e0c83219701c6 left group 303f15dc-d0c9-49cb-8162-a0257ff97927. [13:57:17] [ERR] [35] Jellyfin.Api.Middleware.ExceptionMiddleware: Error processing request. URL GET /SyncPlay/List. System.NullReferenceException: Object reference not set to an instance of an object. at Emby.Server.Implementations.SyncPlay.Group.HasAccessToQueue(User user, IReadOnlyList`1 queue) at Emby.Server.Implementations.SyncPlay.SyncPlayManager.ListGroups(SessionInfo session, ListGroupsRequest request) at Jellyfin.Api.Controllers.SyncPlayController.SyncPlayGetGroups() at lambda_method1802(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 Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context) at Jellyfin.Api.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager) at Jellyfin.Api.Middleware.ExceptionMiddleware.Invoke(HttpContext context) ```
OVERLORD added the bugsyncplay labels 2026-02-07 04:52:28 +03:00
Author
Owner

@DiamondDom commented on GitHub (Oct 15, 2025):

I've had this but I managed to fix it by restarting the Jellyfin in the dashboard.

@DiamondDom commented on GitHub (Oct 15, 2025): I've had this but I managed to fix it by restarting the Jellyfin in the dashboard.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#7374