Jellyfin Forum
SOLVED: Stacktrace Scanning Movies Library - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Stacktrace Scanning Movies Library (/t-solved-stacktrace-scanning-movies-library)



Stacktrace Scanning Movies Library - Xanadu - 2024-09-03

Hey!

Server version: 10.9.10
Web version: 10.9.10
Build version: 10.9.10
running in docker on Synology.

I'm getting a translator stack trace when trying to scan my newly added Movies library:

Code:
System.TypeInitializationException: The type initializer for 'ICU4N.Text.Transliterator' threw an exception.
---> System.TypeInitializationException: The type initializer for 'ICU4N.Globalization.UCultureInfo' threw an exception.
---> System.Globalization.CultureNotFoundException: Only the invariant culture is supported in globalization-invariant mode. See https://aka.ms/GlobalizationInvariantMode for more information. (Parameter 'name')
en is an invalid culture identifier.
  at System.Globalization.CultureInfo..ctor(String name, Boolean useUserOverride)
  at ICU4N.Globalization.UCultureInfo..cctor()
  --- End of inner exception stack trace ---
  at ICU4N.Globalization.UCultureInfo.get_CurrentCulture()
  at ICU4N.Impl.ICUResourceBundle.GetBundleInstance(String baseName, String localeID, Assembly root, OpenType openType)
  at ICU4N.Impl.ICUResourceBundle.GetBundleInstance(String baseName, String localeID, Assembly root, Boolean disableFallback)
  at ICU4N.Util.UResourceBundle.<>c__DisplayClass25_0.<GetRootType>b__0(String key)
  at System.Collections.Concurrent.ConcurrentDictionary`2.GetOrAdd(TKey key, Func`2 valueFactory)
  at ICU4N.Util.UResourceBundle.GetRootType(String baseName, Assembly root)
  at ICU4N.Util.UResourceBundle.InstantiateBundle(String baseName, String localeName, Assembly root, Boolean disableFallback)
  at ICU4N.Util.UResourceBundle.GetBundleInstance(String baseName, String localeName, Assembly root, Boolean disableFallback)
  at ICU4N.Util.UResourceBundle.GetBundleInstance(String baseName, String localeName, Assembly root)
  at ICU4N.Text.Transliterator..cctor()
  --- End of inner exception stack trace ---
  at ICU4N.Text.Transliterator.GetInstance(String id)
  at Jellyfin.Extensions.StringExtensions.<>c.<.cctor>b__8_0()
  at System.Lazy`1.ViaFactory(LazyThreadSafetyMode mode)
  at System.Lazy`1.ExecutionAndPublication(LazyHelper executionAndPublication, Boolean useDefaultConstructor)
  at System.Lazy`1.CreateValue()
  at Jellyfin.Extensions.StringExtensions.Transliterated(String text)
  at MediaBrowser.Controller.Entities.BaseItem.ModifySortChunks(ReadOnlySpan`1 name)
  at MediaBrowser.Controller.Entities.BaseItem.CreateSortName()
  at MediaBrowser.Controller.Entities.BaseItem.get_SortName()
  at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItem(BaseItem item, BaseItem topParent, String userDataKey, SqliteCommand saveItemStatement)
  at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItemsInTransaction(ManagedConnection db, IEnumerable`1 tuples)
  at Emby.Server.Implementations.Data.SqliteItemRepository.SaveItems(IReadOnlyList`1 items, CancellationToken cancellationToken)
  at Emby.Server.Implementations.Library.LibraryManager.CreateItems(IReadOnlyList`1 items, BaseItem parent, CancellationToken cancellationToken)
  at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal2(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, Boolean allowRemoveRoot, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
  at MediaBrowser.Controller.Entities.Folder.ValidateChildrenInternal(IProgress`1 progress, Boolean recursive, Boolean refreshChildMetadata, Boolean allowRemoveRoot, MetadataRefreshOptions refreshOptions, IDirectoryService directoryService, CancellationToken cancellationToken)
  at MediaBrowser.Providers.Manager.ProviderManager.RefreshCollectionFolderChildren(MetadataRefreshOptions options, CollectionFolder collectionFolder, CancellationToken cancellationToken)
  at MediaBrowser.Providers.Manager.ProviderManager.RefreshItem(BaseItem item, MetadataRefreshOptions options, CancellationToken cancellationToken)
  at MediaBrowser.Providers.Manager.ProviderManager.StartProcessingRefreshQueue()

My TV library is totally fine.  Both libraries are also available and fully functional in Plex (and have been for many years), so I know it's not a permissions issue.

What else do you need to know?

Thank you!
M.


RE: Stacktrace Scanning Movies Library - TheDreadPirate - 2024-09-03

Set this docker environment variable to 0.

DOTNET_SYSTEM_GLOBALIZATION_INVARIANT


RE: Stacktrace Scanning Movies Library - Xanadu - 2024-09-04

(2024-09-03, 10:41 PM)TheDreadPirate Wrote: Set this docker environment variable to 0.

DOTNET_SYSTEM_GLOBALIZATION_INVARIANT

That worked perfectly.  It's odd to me that the TV library was fine but the Movies blew up, but whatever.  The scanner is chewing on the drives as I type.

THANK YOU!


RE: Stacktrace Scanning Movies Library - TheDreadPirate - 2024-09-04

This issue would only happen if you have any file or folder names that contain non-English characters. Some systems set that variable to 1, others 0. Mine defaults to 0.


RE: Stacktrace Scanning Movies Library - nonnenmacher85 - 2024-10-07

hallo zusammen, ich habe das selbe Problem und ich würde gerne wissen wo ich diese variable finden kann um sie auf 0 zu setzen?
liebe grüse nonnenmacher85

Hello everyone, I have the same problem and would like to know where I can find this variable to set it to 0? dear gruse nunnenmacher85


RE: Stacktrace Scanning Movies Library - TheDreadPirate - 2024-10-07

Depends on how you run your docker container.  If you are using docker compose, you'd add that variable to the environments section of your compose file.

Code:
    environment:
      - DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=0