5 hours ago
I upgraded to 10.11 a few days ago and I'm consistently seeing the same pattern of errors in the logs, i.e. "SQLite Error 6: 'database table is locked'".
Jellyfin is installed on Debian in an LXC (Proxmox), underlying container storage is LVM, library storage is ZFS.
I'm very happy to work with the developers to resolve this, if you'd like me to provide any more info let me know. I've included an sample from the log file below for reference.
[2025-10-23 03:00:01.001 +01:00] [INF] Daily trigger for "Generate Trickplay Images" set to fire at 2025-10-24 03:00:00.000 +01:00, which is 23:59:58.9988042 from now.
[2025-10-23 03:00:54.483 +01:00] [INF] "Generate Trickplay Images" Completed after 0 minute(s) and 54 seconds
[2025-10-23 03:41:15.604 +01:00] [INF] Optimizing and vacuuming jellyfin.db...
[2025-10-23 03:41:22.774 +01:00] [INF] jellyfin.db optimized successfully!
[2025-10-23 03:41:22.774 +01:00] [INF] "Optimize database" Completed after 0 minute(s) and 7 seconds
[2025-10-23 09:41:15.605 +01:00] [INF] Stopping directory watching for path "/var/lib/jellyfin/data/collections"
[2025-10-23 09:41:15.605 +01:00] [INF] Stopping directory watching for path "/series"
[2025-10-23 09:41:15.607 +01:00] [INF] Stopping directory watching for path "/movies"
[2025-10-23 09:41:15.610 +01:00] [INF] Validating media library
[2025-10-23 09:41:46.545 +01:00] [ERR] Failed executing DbCommand ("30,228"ms) [Parameters=["@__item_Id_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""DELETE FROM \"BaseItemImageInfos\" AS \"b\"
WHERE \"b\".\"ItemId\" = @__item_Id_0"
[2025-10-23 09:41:46.546 +01:00] [ERR] An exception occurred while executing an 'ExecuteDelete' operation for context type '"Jellyfin.Database.Implementations.JellyfinDbContext"'."
""Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked: BaseItemImageInfos'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.<>c.<NonQueryResult>b__31_0(DbContext _, ValueTuple
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.NonQueryResult(RelationalQueryContext relationalQueryContext, RelationalCommandResolver relationalCommandResolver, Type contextType, CommandSource commandSource, Boolean threadSafetyChecksEnabled)"
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked: BaseItemImageInfos'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.<>c.<NonQueryResult>b__31_0(DbContext _, ValueTuple3 state)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.NonQueryResult(RelationalQueryContext relationalQueryContext, RelationalCommandResolver relationalCommandResolver, Type contextType, CommandSource commandSource, Boolean threadSafetyChecksEnabled)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteCore[TResult](Expression query, Boolean async, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
at Jellyfin.Server.Implementations.Item.BaseItemRepository.SaveImages(BaseItem item)
at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate)
[2025-10-23 09:41:46.630 +01:00] [ERR] Error executing Scheduled Task
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked: BaseItemImageInfos'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.<>c.<NonQueryResult>b__31_0(DbContext _, ValueTuple
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.NonQueryResult(RelationalQueryContext relationalQueryContext, RelationalCommandResolver relationalCommandResolver, Type contextType, CommandSource commandSource, Boolean threadSafetyChecksEnabled)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteCore[TResult](Expression query, Boolean async, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
at Jellyfin.Server.Implementations.Item.BaseItemRepository.SaveImages(BaseItem item)
at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate)
at Emby.Server.Implementations.Library.LibraryManager.RunMetadataSavers(BaseItem item, ItemUpdateType updateReason)
at Emby.Server.Implementations.Library.LibraryManager.UpdateItemsAsync(IReadOnlyList1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken)
at MediaBrowser.Controller.Entities.BaseItem.UpdateToRepositoryAsync(ItemUpdateType updateReason, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService
at MediaBrowser.Providers.Manager.MetadataService
at MediaBrowser.Providers.Manager.MetadataService
at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LibraryManager.ValidateTopLibraryFolders(CancellationToken cancellationToken, Boolean removeRoot)
at Emby.Server.Implementations.Library.LibraryManager.PerformLibraryValidation(IProgress1 progress, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LibraryManager.ValidateMediaLibraryInternal(IProgress
at Emby.Server.Implementations.ScheduledTasks.Tasks.RefreshMediaLibraryTask.ExecuteAsync(IProgress1 progress, CancellationToken cancellationToken)
at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
[2025-10-23 09:41:46.633 +01:00] [INF] "Scan Media Library" Failed after 0 minute(s) and 31 seconds
[2025-10-23 09:41:46.634 +01:00] [INF] Watching directory "/var/lib/jellyfin/data/collections"
[2025-10-23 09:41:46.921 +01:00] [INF] Watching directory "/series"
[2025-10-23 09:41:46.963 +01:00] [INF] Watching directory "/movies"
[2025-10-23 09:42:16.605 +01:00] [INF] Optimizing and vacuuming jellyfin.db...
[2025-10-23 09:43:16.167 +01:00] [ERR] Failed executing DbCommand ("30,232"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""PRAGMA wal_checkpoint(TRUNCATE)"
[2025-10-23 09:43:16.167 +01:00] [ERR] Error while optimizing jellyfin.db
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync(DatabaseFacade databaseFacade, String sql, IEnumerable
at Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider.RunScheduledOptimisation(CancellationToken cancellationToken)
at Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider.RunScheduledOptimisation(CancellationToken cancellationToken)
at Emby.Server.Implementations.ScheduledTasks.Tasks.OptimizeDatabaseTask.ExecuteAsync(IProgress1 progress, CancellationToken cancellationToken)
[2025-10-23 09:43:16.168 +01:00] [INF] "Optimize database" Completed after 0 minute(s) and 59 seconds
[2025-10-23 09:44:07.283 +01:00] [INF] "Media Segment Scan" Completed after 2 minute(s) and 51 seconds
[2025-10-23 15:43:17.606 +01:00] [INF] Optimizing and vacuuming jellyfin.db...
[2025-10-23 15:43:24.622 +01:00] [INF] jellyfin.db optimized successfully!
[2025-10-23 15:43:24.622 +01:00] [INF] "Optimize database" Completed after 0 minute(s) and 7 seconds
[2025-10-23 21:41:15.606 +01:00] [INF] "Clean Transcode Directory" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:15.747 +01:00] [INF] Starting TMDbBoxSets refresh library task
[2025-10-23 21:41:15.749 +01:00] [INF] "Audio Normalization" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:15.888 +01:00] [INF] "Clean Log Directory" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:16.202 +01:00] [INF] "TasksRefreshChannels" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:16.487 +01:00] [INF] Found 0 TMDb collection(s) across all movies
[2025-10-23 21:41:16.487 +01:00] [INF] TMDbBoxSets refresh library task finished
[2025-10-23 21:41:16.487 +01:00] [INF] "Scan library for new box sets" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:16.803 +01:00] [INF] "Clean Cache Directory" Completed after 0 minute(s) and 1 seconds
Jellyfin is installed on Debian in an LXC (Proxmox), underlying container storage is LVM, library storage is ZFS.
I'm very happy to work with the developers to resolve this, if you'd like me to provide any more info let me know. I've included an sample from the log file below for reference.
[2025-10-23 03:00:01.001 +01:00] [INF] Daily trigger for "Generate Trickplay Images" set to fire at 2025-10-24 03:00:00.000 +01:00, which is 23:59:58.9988042 from now.
[2025-10-23 03:00:54.483 +01:00] [INF] "Generate Trickplay Images" Completed after 0 minute(s) and 54 seconds
[2025-10-23 03:41:15.604 +01:00] [INF] Optimizing and vacuuming jellyfin.db...
[2025-10-23 03:41:22.774 +01:00] [INF] jellyfin.db optimized successfully!
[2025-10-23 03:41:22.774 +01:00] [INF] "Optimize database" Completed after 0 minute(s) and 7 seconds
[2025-10-23 09:41:15.605 +01:00] [INF] Stopping directory watching for path "/var/lib/jellyfin/data/collections"
[2025-10-23 09:41:15.605 +01:00] [INF] Stopping directory watching for path "/series"
[2025-10-23 09:41:15.607 +01:00] [INF] Stopping directory watching for path "/movies"
[2025-10-23 09:41:15.610 +01:00] [INF] Validating media library
[2025-10-23 09:41:46.545 +01:00] [ERR] Failed executing DbCommand ("30,228"ms) [Parameters=["@__item_Id_0='?' (DbType = Guid)"], CommandType='Text', CommandTimeout='30']"
""DELETE FROM \"BaseItemImageInfos\" AS \"b\"
WHERE \"b\".\"ItemId\" = @__item_Id_0"
[2025-10-23 09:41:46.546 +01:00] [ERR] An exception occurred while executing an 'ExecuteDelete' operation for context type '"Jellyfin.Database.Implementations.JellyfinDbContext"'."
""Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked: BaseItemImageInfos'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.<>c.<NonQueryResult>b__31_0(DbContext _, ValueTuple
3 state)at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.NonQueryResult(RelationalQueryContext relationalQueryContext, RelationalCommandResolver relationalCommandResolver, Type contextType, CommandSource commandSource, Boolean threadSafetyChecksEnabled)"
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked: BaseItemImageInfos'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.<>c.<NonQueryResult>b__31_0(DbContext _, ValueTuple3 state)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.NonQueryResult(RelationalQueryContext relationalQueryContext, RelationalCommandResolver relationalCommandResolver, Type contextType, CommandSource commandSource, Boolean threadSafetyChecksEnabled)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteCore[TResult](Expression query, Boolean async, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
at Jellyfin.Server.Implementations.Item.BaseItemRepository.SaveImages(BaseItem item)
at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate)
[2025-10-23 09:41:46.630 +01:00] [ERR] Error executing Scheduled Task
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked: BaseItemImageInfos'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteNonQuery()
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQuery(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.<>c.<NonQueryResult>b__31_0(DbContext _, ValueTuple
3 state)at Microsoft.EntityFrameworkCore.Query.RelationalShapedQueryCompilingExpressionVisitor.NonQueryResult(RelationalQueryContext relationalQueryContext, RelationalCommandResolver relationalCommandResolver, Type contextType, CommandSource commandSource, Boolean threadSafetyChecksEnabled)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.ExecuteCore[TResult](Expression query, Boolean async, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryCompiler.Execute[TResult](Expression query)
at Jellyfin.Server.Implementations.Item.BaseItemRepository.SaveImages(BaseItem item)
at Emby.Server.Implementations.Library.LibraryManager.UpdateImagesAsync(BaseItem item, Boolean forceUpdate)
at Emby.Server.Implementations.Library.LibraryManager.RunMetadataSavers(BaseItem item, ItemUpdateType updateReason)
at Emby.Server.Implementations.Library.LibraryManager.UpdateItemsAsync(IReadOnlyList1 items, BaseItem parent, ItemUpdateType updateReason, CancellationToken cancellationToken)
at MediaBrowser.Controller.Entities.BaseItem.UpdateToRepositoryAsync(ItemUpdateType updateReason, CancellationToken cancellationToken)
at MediaBrowser.Providers.Manager.MetadataService
2.SaveItemAsync(MetadataResult1 result, ItemUpdateType reason, CancellationToken cancellationToken)at MediaBrowser.Providers.Manager.MetadataService
2.<RefreshMetadata>g__SaveInternal|36_0(BaseItem item, MetadataRefreshOptions refreshOptions, ItemUpdateType updateType, Boolean isFirstRefresh, Boolean requiresRefresh, MetadataResult1 metadataResult, CancellationToken cancellationToken)at MediaBrowser.Providers.Manager.MetadataService
2.RefreshMetadata(BaseItem item, MetadataRefreshOptions refreshOptions, CancellationToken cancellationToken)at MediaBrowser.Controller.Entities.BaseItem.RefreshMetadata(MetadataRefreshOptions options, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LibraryManager.ValidateTopLibraryFolders(CancellationToken cancellationToken, Boolean removeRoot)
at Emby.Server.Implementations.Library.LibraryManager.PerformLibraryValidation(IProgress1 progress, CancellationToken cancellationToken)
at Emby.Server.Implementations.Library.LibraryManager.ValidateMediaLibraryInternal(IProgress
1 progress, CancellationToken cancellationToken)at Emby.Server.Implementations.ScheduledTasks.Tasks.RefreshMediaLibraryTask.ExecuteAsync(IProgress1 progress, CancellationToken cancellationToken)
at Emby.Server.Implementations.ScheduledTasks.ScheduledTaskWorker.ExecuteInternal(TaskOptions options)
[2025-10-23 09:41:46.633 +01:00] [INF] "Scan Media Library" Failed after 0 minute(s) and 31 seconds
[2025-10-23 09:41:46.634 +01:00] [INF] Watching directory "/var/lib/jellyfin/data/collections"
[2025-10-23 09:41:46.921 +01:00] [INF] Watching directory "/series"
[2025-10-23 09:41:46.963 +01:00] [INF] Watching directory "/movies"
[2025-10-23 09:42:16.605 +01:00] [INF] Optimizing and vacuuming jellyfin.db...
[2025-10-23 09:43:16.167 +01:00] [ERR] Failed executing DbCommand ("30,232"ms) [Parameters=[""], CommandType='Text', CommandTimeout='30']"
""PRAGMA wal_checkpoint(TRUNCATE)"
[2025-10-23 09:43:16.167 +01:00] [ERR] Error while optimizing jellyfin.db
Microsoft.Data.Sqlite.SqliteException (0x80004005): SQLite Error 6: 'database table is locked'.
at Microsoft.Data.Sqlite.SqliteDataReader.NextResult()
at Microsoft.Data.Sqlite.SqliteCommand.ExecuteReader(CommandBehavior behavior)
at System.Data.Common.DbCommand.ExecuteNonQueryAsync(CancellationToken cancellationToken)
--- End of stack trace from previous location ---
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteNonQueryAsync(RelationalCommandParameterObject parameterObject, CancellationToken cancellationToken)
at Microsoft.EntityFrameworkCore.RelationalDatabaseFacadeExtensions.ExecuteSqlRawAsync(DatabaseFacade databaseFacade, String sql, IEnumerable
1 parameters, CancellationToken cancellationToken)at Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider.RunScheduledOptimisation(CancellationToken cancellationToken)
at Jellyfin.Database.Providers.Sqlite.SqliteDatabaseProvider.RunScheduledOptimisation(CancellationToken cancellationToken)
at Emby.Server.Implementations.ScheduledTasks.Tasks.OptimizeDatabaseTask.ExecuteAsync(IProgress1 progress, CancellationToken cancellationToken)
[2025-10-23 09:43:16.168 +01:00] [INF] "Optimize database" Completed after 0 minute(s) and 59 seconds
[2025-10-23 09:44:07.283 +01:00] [INF] "Media Segment Scan" Completed after 2 minute(s) and 51 seconds
[2025-10-23 15:43:17.606 +01:00] [INF] Optimizing and vacuuming jellyfin.db...
[2025-10-23 15:43:24.622 +01:00] [INF] jellyfin.db optimized successfully!
[2025-10-23 15:43:24.622 +01:00] [INF] "Optimize database" Completed after 0 minute(s) and 7 seconds
[2025-10-23 21:41:15.606 +01:00] [INF] "Clean Transcode Directory" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:15.747 +01:00] [INF] Starting TMDbBoxSets refresh library task
[2025-10-23 21:41:15.749 +01:00] [INF] "Audio Normalization" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:15.888 +01:00] [INF] "Clean Log Directory" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:16.202 +01:00] [INF] "TasksRefreshChannels" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:16.487 +01:00] [INF] Found 0 TMDb collection(s) across all movies
[2025-10-23 21:41:16.487 +01:00] [INF] TMDbBoxSets refresh library task finished
[2025-10-23 21:41:16.487 +01:00] [INF] "Scan library for new box sets" Completed after 0 minute(s) and 0 seconds
[2025-10-23 21:41:16.803 +01:00] [INF] "Clean Cache Directory" Completed after 0 minute(s) and 1 seconds
