Creating a new music library with network share path doesn't save properly and doesn't scan files (Windows) #7774

Closed
opened 2025-12-22 06:23:20 +01:00 by backuprepo · 4 comments
Owner

Originally created by @josh-endries on GitHub (Nov 16, 2025).

Description of the bug

Similar to #1303, I am trying to add a new music library using a network share via UNC path. When adding the folder to Jellyfin, either via the drive letter or directly via UNC path, I am able to browse folders (e.g. artists/albums) so the "add folder" feature is able to access the share just fine.

Image

When I initially create the library, saving it seems to work, the UI modal goes away and the Music library appears in the dashboard list. However, the settings I chose (English, US location, save NFO, save images...) are not set, even though the UNC file path is saved.

After creating the library, there is no disk activity on the share and nothing in the Jellyfin app console. Selecting "Scan library" for that newly-created library to refresh doesn't work either. I see a "null itemId" error in the browser console when I try that.

Image

When editing the library after initial save, I can fix the settings that didn't change, but when I try to save the changes, the UI doesn't respond. Clicking "OK" doesn't do anything--nothing in the browser console, no network requests, no UI messages, etc..

This is using jellyfin_10.11.2-amd64 on Windows 10. Previously, months ago, I was using 10.10.6 on this same machine and added my movies, via UNC path, and those seem to work just fine. I am just running Jellyfin from the unzipped folder, so it should be running as myself, not a service. This is the way I did it previously also. The Music library doesn't show up in the list as a user (not dashboard).

I am currently waiting for a "Scan all libraries" to run to see what that does...

Reproduction steps

  1. Try to add a music library from a UNC path and save the library.

What is the current bug behavior?

  • The library doesn't get created properly/completely.
  • The library doesn't scan for metadata or work.

What is the expected correct behavior?

  • The opposite of what I just said... the library should be saved completely, and it should work.

Jellyfin Server version

10.11.0+

Specify commit id

No response

Specify unstable release number

No response

Specify version number

No response

Specify the build version

10.11.2

Environment

- OS: Windows 10
- Linux Kernel: N/A
- Virtualization: None
- Clients: Browser
- Browser: Firefox
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- GPU Model:
- Plugins:
- Reverse Proxy: None
- Base URL:
- Networking:
- Jellyfin Data Storage: Local
- Media Storage: SMB network share
- External Integrations:

Jellyfin logs

Haven't found any that seem related.

FFmpeg logs


Client / Browser logs

No response

Relevant screenshots or videos

No response

Additional information

No response

Originally created by @josh-endries on GitHub (Nov 16, 2025). ### Description of the bug Similar to [#1303](https://github.com/jellyfin/jellyfin/issues/1303), I am trying to add a new music library using a network share via UNC path. When adding the folder to Jellyfin, either via the drive letter or directly via UNC path, I am able to browse folders (e.g. artists/albums) so the "add folder" feature is able to access the share just fine. <img width="549" height="482" alt="Image" src="https://github.com/user-attachments/assets/b2d55e61-6651-4d08-8dcd-2cc3f76567c1" /> When I initially create the library, saving it seems to work, the UI modal goes away and the Music library appears in the dashboard list. However, the settings I chose (English, US location, save NFO, save images...) are not set, even though the UNC file path is saved. After creating the library, there is no disk activity on the share and nothing in the Jellyfin app console. Selecting "Scan library" for that newly-created library to refresh doesn't work either. I see a "null itemId" error in the browser console when I try that. <img width="1856" height="612" alt="Image" src="https://github.com/user-attachments/assets/6ae38617-6d4c-4d90-85c1-ad7e1f48d991" /> When editing the library after initial save, I can fix the settings that didn't change, but when I try to save the changes, the UI doesn't respond. Clicking "OK" doesn't do anything--nothing in the browser console, no network requests, no UI messages, etc.. This is using jellyfin_10.11.2-amd64 on Windows 10. Previously, months ago, I was using 10.10.6 on this same machine and added my movies, via UNC path, and those seem to work just fine. I am just running Jellyfin from the unzipped folder, so it should be running as myself, not a service. This is the way I did it previously also. The Music library doesn't show up in the list as a user (not dashboard). I am currently waiting for a "Scan all libraries" to run to see what that does... ### Reproduction steps 1. Try to add a music library from a UNC path and save the library. ### What is the current _bug_ behavior? * The library doesn't get created properly/completely. * The library doesn't scan for metadata or work. ### What is the expected _correct_ behavior? * The opposite of what I just said... the library should be saved completely, and it should work. ### Jellyfin Server version 10.11.0+ ### Specify commit id _No response_ ### Specify unstable release number _No response_ ### Specify version number _No response_ ### Specify the build version 10.11.2 ### Environment ```markdown - OS: Windows 10 - Linux Kernel: N/A - Virtualization: None - Clients: Browser - Browser: Firefox - FFmpeg Version: - Playback Method: - Hardware Acceleration: - GPU Model: - Plugins: - Reverse Proxy: None - Base URL: - Networking: - Jellyfin Data Storage: Local - Media Storage: SMB network share - External Integrations: ``` ### Jellyfin logs ```shell Haven't found any that seem related. ``` ### FFmpeg logs ```shell ``` ### Client / Browser logs _No response_ ### Relevant screenshots or videos _No response_ ### Additional information _No response_
backuprepo 2025-12-22 06:23:20 +01:00
  • closed this issue
  • added the
    bug
    label
Author
Owner

@josh-endries commented on GitHub (Nov 16, 2025):

After starting the "rescan all libraries" I immediately saw lots and lots of object disposed exceptions related to MusicBrainz, which is likely a separate issue but I can paste the console output below in case it helps.

After maybe ten minutes of just those exceptions, I do see warnings related to "ID3v1" tags for my music files, so it seems like it might be working, and the Music library does now show up on the user page, so it seems like the main issue here might be the UI "freezing" and/or not kicking off an initial scan when saving the new library.

Maybe I am wrong in assuming that should happen but that seems intuitive to me. The library is Enabled when I create it so I thought it would start scanning right away. Unfortunately even trying to scan manually doesn't work. In any case, editing the library afterwards doesn't seem to function and my settings didn't get saved initially, so I can't change them after initial creation.

The MusicBrainz exceptions continued throughout the whole rescan process. There are so many of these exceptions flying by I can't really tell if there are any other errors. Lots of noise to sift through.

[09:10:56] [ERR] [17] MediaBrowser.Providers.Music.ArtistMetadataService: Error in MusicBrainz
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'MetaBrainz.MusicBrainz.Query'.
   at MetaBrainz.MusicBrainz.Query.get_Client()
   at MetaBrainz.MusicBrainz.Query.PerformRequestAsync(Uri uri, HttpMethod method, HttpContent body, CancellationToken cancellationToken, String format)
   at MetaBrainz.MusicBrainz.Query.ApplyDelayAsync[T](Func`2 request, CancellationToken cancellationToken)
   at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.PerformRequestAsync(CancellationToken cancellationToken)
   at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.NextAsync(CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetSearchResults(ArtistInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetMetadata(ArtistInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[09:10:57] [ERR] [17] MediaBrowser.Providers.Music.ArtistMetadataService: Error in MusicBrainz
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'MetaBrainz.MusicBrainz.Query'.
   at MetaBrainz.MusicBrainz.Query.get_Client()
   at MetaBrainz.MusicBrainz.Query.PerformRequestAsync(Uri uri, HttpMethod method, HttpContent body, CancellationToken cancellationToken, String format)
   at MetaBrainz.MusicBrainz.Query.ApplyDelayAsync[T](Func`2 request, CancellationToken cancellationToken)
   at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.PerformRequestAsync(CancellationToken cancellationToken)
   at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.NextAsync(CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetSearchResults(ArtistInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetMetadata(ArtistInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
[09:10:58] [ERR] [9] MediaBrowser.Providers.Music.ArtistMetadataService: Error in MusicBrainz
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'MetaBrainz.MusicBrainz.Query'.
   at MetaBrainz.MusicBrainz.Query.get_Client()
   at MetaBrainz.MusicBrainz.Query.PerformRequestAsync(Uri uri, HttpMethod method, HttpContent body, CancellationToken cancellationToken, String format)
   at MetaBrainz.MusicBrainz.Query.ApplyDelayAsync[T](Func`2 request, CancellationToken cancellationToken)
   at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.PerformRequestAsync(CancellationToken cancellationToken)
   at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.NextAsync(CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetSearchResults(ArtistInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetMetadata(ArtistInfo info, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken)
...
@josh-endries commented on GitHub (Nov 16, 2025): After starting the "rescan all libraries" I immediately saw lots and lots of object disposed exceptions related to MusicBrainz, which is likely a separate issue but I can paste the console output below in case it helps. After maybe ten minutes of just those exceptions, I do see warnings related to "ID3v1" tags for my music files, so it seems like it might be working, and the Music library does now show up on the user page, so it seems like the main issue here might be the UI "freezing" and/or not kicking off an initial scan when saving the new library. Maybe I am wrong in assuming that should happen but that seems intuitive to me. The library is Enabled when I create it so I thought it would start scanning right away. Unfortunately even trying to scan manually doesn't work. In any case, editing the library afterwards doesn't seem to function and my settings didn't get saved initially, so I can't change them after initial creation. The MusicBrainz exceptions continued throughout the whole rescan process. There are so many of these exceptions flying by I can't really tell if there are any other errors. Lots of noise to sift through. ``` [09:10:56] [ERR] [17] MediaBrowser.Providers.Music.ArtistMetadataService: Error in MusicBrainz System.ObjectDisposedException: Cannot access a disposed object. Object name: 'MetaBrainz.MusicBrainz.Query'. at MetaBrainz.MusicBrainz.Query.get_Client() at MetaBrainz.MusicBrainz.Query.PerformRequestAsync(Uri uri, HttpMethod method, HttpContent body, CancellationToken cancellationToken, String format) at MetaBrainz.MusicBrainz.Query.ApplyDelayAsync[T](Func`2 request, CancellationToken cancellationToken) at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.PerformRequestAsync(CancellationToken cancellationToken) at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.NextAsync(CancellationToken cancellationToken) at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetSearchResults(ArtistInfo searchInfo, CancellationToken cancellationToken) at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetMetadata(ArtistInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [09:10:57] [ERR] [17] MediaBrowser.Providers.Music.ArtistMetadataService: Error in MusicBrainz System.ObjectDisposedException: Cannot access a disposed object. Object name: 'MetaBrainz.MusicBrainz.Query'. at MetaBrainz.MusicBrainz.Query.get_Client() at MetaBrainz.MusicBrainz.Query.PerformRequestAsync(Uri uri, HttpMethod method, HttpContent body, CancellationToken cancellationToken, String format) at MetaBrainz.MusicBrainz.Query.ApplyDelayAsync[T](Func`2 request, CancellationToken cancellationToken) at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.PerformRequestAsync(CancellationToken cancellationToken) at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.NextAsync(CancellationToken cancellationToken) at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetSearchResults(ArtistInfo searchInfo, CancellationToken cancellationToken) at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetMetadata(ArtistInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) [09:10:58] [ERR] [9] MediaBrowser.Providers.Music.ArtistMetadataService: Error in MusicBrainz System.ObjectDisposedException: Cannot access a disposed object. Object name: 'MetaBrainz.MusicBrainz.Query'. at MetaBrainz.MusicBrainz.Query.get_Client() at MetaBrainz.MusicBrainz.Query.PerformRequestAsync(Uri uri, HttpMethod method, HttpContent body, CancellationToken cancellationToken, String format) at MetaBrainz.MusicBrainz.Query.ApplyDelayAsync[T](Func`2 request, CancellationToken cancellationToken) at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.PerformRequestAsync(CancellationToken cancellationToken) at MetaBrainz.MusicBrainz.Objects.PagedQueryResults`3.NextAsync(CancellationToken cancellationToken) at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetSearchResults(ArtistInfo searchInfo, CancellationToken cancellationToken) at MediaBrowser.Providers.Plugins.MusicBrainz.MusicBrainzArtistProvider.GetMetadata(ArtistInfo info, CancellationToken cancellationToken) at MediaBrowser.Providers.Manager.MetadataService`2.ExecuteRemoteProviders(MetadataResult`1 temp, String logName, Boolean replaceData, TIdType id, IEnumerable`1 providers, CancellationToken cancellationToken) ... ```
Author
Owner

@cvium commented on GitHub (Nov 16, 2025):

UNC paths are not supported. Please verify that the issue also occurs when mounting to a drive letter and make sure that the user running Jellyfin also has access to the drive.

@cvium commented on GitHub (Nov 16, 2025): UNC paths are not supported. Please verify that the issue also occurs when mounting to a drive letter and make sure that the user running Jellyfin also has access to the drive.
Author
Owner

@josh-endries commented on GitHub (Nov 17, 2025):

Oh interesting, nowhere did it say it was unsupported, in fact other than the weird UI issues with the library, it works fine with the UNC path after I ran the "scan all libraries". It scanned and plays the music just fine. I am running it myself (not as a service), so yes it has access.

I had similar issues when using a mapped drive letter. Saving the initial library works, but trying to edit it gives me this:

Image

Trying to edit the UNC library doesn't give me that, it just does nothing.

Trying to rescan the drive-letter library specifically does nothing (UI doesn't do anything), just like the UNC path. Running "scan all libraries" ... the same thing happened, drive letter works, just like the UNC path does.

@josh-endries commented on GitHub (Nov 17, 2025): Oh interesting, nowhere did it say it was unsupported, in fact other than the weird UI issues with the library, it works fine with the UNC path after I ran the "scan all libraries". It scanned and plays the music just fine. I am running it myself (not as a service), so yes it has access. I had similar issues when using a mapped drive letter. Saving the initial library works, but trying to edit it gives me this: <img width="373" height="299" alt="Image" src="https://github.com/user-attachments/assets/e0081afa-d0c0-4bc4-b325-e54d44e48a65" /> Trying to edit the UNC library doesn't give me that, it just does nothing. Trying to rescan the drive-letter library specifically does nothing (UI doesn't do anything), just like the UNC path. Running "scan all libraries" ... the same thing happened, drive letter works, just like the UNC path does.
Author
Owner

@josh-endries commented on GitHub (Nov 17, 2025):

Well after deleting the drive letter library I am now seeing foreign key constraint exceptions. I guess I will just delete everything and start over...

@josh-endries commented on GitHub (Nov 17, 2025): Well after deleting the drive letter library I am now seeing foreign key constraint exceptions. I guess I will just delete everything and start over...
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: starred/jellyfin#7774
No description provided.