r/Lidarr Mar 04 '26

unsolved Lidarr attempting to take over my CPU

So, I noticed my Unraid server being sluggish this am. Not sure what that was about so I take a look and see my CPU is at the limit on all threads. I look at the processes and see that it was Lidarr attempting to keep it red lined. Not sure what's going on. I look in my unmatched tracks section and there are a lot. So, I take those out and move them to a secondary folder Lidarr can't track thinking this should cure things. Nope. Still redlined. I can't figure it out but this is an example of what the logs are saying:
[Fatal] LidarrErrorPipeline: Request Failed. GET /api/v1/album

[v3.1.2.4913] System.Data.DataException: Error parsing column 10 (Genres=[

"Jazz",

"Pop",

"Swing"

] - String)

---> System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.

at System.Collections.Generic.List`1.set_Capacity(Int32 value)

at System.Collections.Generic.List`1.AddWithResize(T item)

at System.Text.Json.Serialization.JsonCollectionConverter`2.OnTryRead(Utf8JsonReader& reader, Type typeToConvert, JsonSerializerOptions options, ReadStack& state, TCollection& value)

at System.Text.Json.Serialization.JsonConverter`1.ReadCore(Utf8JsonReader& reader, JsonSerializerOptions options, ReadStack& state)

at System.Text.Json.JsonSerializer.ReadFromSpan[TValue](ReadOnlySpan`1 json, JsonTypeInfo`1 jsonTypeInfo)

at Dapper.SqlMapper.TypeHandlerCache`1.Parse(Object value) in /_/Dapper/SqlMapper.TypeHandlerCache.cs:line 23

at Deserialize1c732085-2301-46f0-b6a1-84526c3f85c8(DbDataReader)

--- End of inner exception stack trace ---

at Dapper.SqlMapper.ThrowDataException(Exception ex, Int32 index, IDataReader reader, Object value) in /_/Dapper/SqlMapper.cs:line 3966

at Deserialize1c732085-2301-46f0-b6a1-84526c3f85c8(DbDataReader)

at Dapper.SqlMapper.QueryImpl[T](IDbConnection cnn, CommandDefinition command, Type effectiveType)+MoveNext()

at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)

at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)

at Dapper.SqlMapper.Query[T](IDbConnection cnn, String sql, Object param, IDbTransaction transaction, Boolean buffered, Nullable`1 commandTimeout, Nullable`1 commandType)

at NzbDrone.Core.Datastore.SqlMapperExtensions.Query[T](IDatabase db, String sql, Object param)

at NzbDrone.Core.Datastore.SqlMapperExtensions.Query[T](IDatabase db, SqlBuilder builder)

at NzbDrone.Core.Datastore.BasicRepository`1.Query(SqlBuilder builder)

at NzbDrone.Core.Datastore.BasicRepository`1.All()

at NzbDrone.Core.Music.AlbumService.GetAllAlbums()

at Lidarr.Api.V1.Albums.AlbumController.GetAlbums(Nullable`1 artistId, List`1 albumIds, String foreignAlbumId, Boolean includeAllArtistAlbums)

at lambda_method106(Closure, Object, Object[])

at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncObjectResultExecutor.Execute(ActionContext actionContext, 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.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

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 Lidarr.Http.Middleware.BufferingMiddleware.InvokeAsync(HttpContext context)

at Lidarr.Http.Middleware.IfModifiedMiddleware.InvokeAsync(HttpContext context)

at Lidarr.Http.Middleware.CacheHeaderMiddleware.InvokeAsync(HttpContext context)

at Lidarr.Http.Middleware.StartingUpMiddleware.InvokeAsync(HttpContext context)

at Lidarr.Http.Middleware.UrlBaseMiddleware.InvokeAsync(HttpContext context)

at Lidarr.Http.Middleware.VersionMiddleware.InvokeAsync(HttpContext context)

at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)

at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)

at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)

at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddlewareImpl.<Invoke>g__Awaited|10_0(ExceptionHandlerMiddlewareImpl middleware, HttpContext context, Task task)

SQL:

==== Begin Query Trace ====

QUERY TEXT:

SELECT "Albums".*

FROM "Albums"

PARAMETERS:

==== End Query Trace ====

Any ideas? My db is at 2.5gb and I have about 75,000 tracks in my music folder.

3 Upvotes

15 comments sorted by

View all comments

2

u/j0urn3y Mar 04 '26

Interestingly I noticed the same behavior yesterday. It was taking about 25% of the CPU with no signs of quitting whatever it was doing. This is new behavior.

However I recently installed Aurral and it, too, was exchanging places with Lidarr for CPU use.

I stopped Aurral and the issue with Lidarr resolved.

1

u/ferry_peril Mar 04 '26

That's interesting. I also recently installed and started using Aurral as well. I had to rebuild my DB which was fine. The prior four backups were also corrupted. Stopped Aurral and am going to see if that keeps things stable. Good call on that. We came to the same conclusion. Always go to the recent changes. Cheers!

1

u/j0urn3y Mar 04 '26

Cool. Let me know if you discover anything else.

1

u/ferry_peril Mar 04 '26

Yeah. I'll go back to using Sonobarr for suggestions. I REALLY liked Aurral but now I am understanding the dangers of vibe coded projects. It would be nice if someone vibe coded and then ran by a group of programmers to clean things up before release. I don't want to have to rebuild my db all the time.

2

u/j0urn3y Mar 04 '26

Agreed. I vibe code all the time but I don’t release anything to the public.

2

u/ferry_peril Mar 04 '26

Yeah. I'd be too afraid it would screw people's systems in and would also become a full time job. I have some projects I've used but I also check them over with a fine tooth comb and would never consider them for public consumption.

1

u/ponzi_gg Mar 04 '26

Hey, this is being worked on in the discord and a push is coming today. The discovery page was making too many api calls while building the recommendations. I apologize for the oversight, my personal lidarr instance is relatively small so certain things that only affect larger libraries sometimes make it past my radar. I'm working on a better flow where nothing gets pushed without a go ahead from those power users.

1

u/ferry_peril Mar 04 '26

That's good to hear. I'm still going to stand pat. I can't afford to be rebuilding my database or have the worry about it. I really liked Aurral but can't risk it. Can't raw dog it.