Sonarr version (exact version): 4.0.5.1710
Mono version (if Sonarr is not running on Windows):
OS: macOS Sonoma 14.5 ARM
Debug logs:
Description of issue: Updated Sonarr from 4.0.3.1413 to 4.0.5.1710, after which one of two root folders was not recognized, despite being correctly connected and verified in Finder. Tried changing folder name (removing spaces), now unable to add new root folder with the new path/name
Unable to add root folder
- {“message”:“value [/Volumes/HDM 28TB A/ TV/] is not a valid *nix path. paths must start with / (Parameter ‘path’)”,“description”:“System.ArgumentException: value [/Volumes/HDM 28TB A/ TV/] is not a valid *nix path. paths must start with / (Parameter ‘path’)\n at NzbDrone.Common.EnsureThat.EnsureStringExtensions.IsValidPath(Param
1 param, PathValidationType validationType) in ./Sonarr.Common/EnsureThat/EnsureStringExtensions.cs:line 119\n at NzbDrone.Common.Extensions.PathExtensions.CleanFilePath(String path) in ./Sonarr.Common/Extensions/PathExtensions.cs:line 41\n at NzbDrone.Common.Extensions.PathExtensions.PathEquals(String firstPath, String secondPath, Nullable
1 comparison) in ./Sonarr.Common/Extensions/PathExtensions.cs:line 59\n at NzbDrone.Core.Validation.Paths.RootFolderValidator.<>c__DisplayClass3_0.b__0(RootFolder r) in ./Sonarr.Core/Validation/Paths/RootFolderValidator.cs:line 27\n at System.Collections.Generic.List1.FindIndex(Int32 startIndex, Int32 count, Predicate
1 match)\n at System.Collections.Generic.List1.Exists(Predicate
1 match)\n at NzbDrone.Core.Validation.Paths.RootFolderValidator.IsValid(PropertyValidatorContext context) in ./Sonarr.Core/Validation/Paths/RootFolderValidator.cs:line 27\n at FluentValidation.Validators.PropertyValidator.Validate(PropertyValidatorContext context) in C:\Projects\FluentValidation\src\FluentValidation\Validators\PropertyValidator.cs:line 80\n at FluentValidation.Internal.PropertyRule.InvokePropertyValidator(IValidationContext context, IPropertyValidator validator, String propertyName) in C:\Projects\FluentValidation\src\FluentValidation\Internal\PropertyRule.cs:line 519\n at FluentValidation.Internal.PropertyRule.Validate(IValidationContext context)+MoveNext() in C:\Projects\FluentValidation\src\FluentValidation\Internal\PropertyRule.cs:line 351\n at System.Linq.Enumerable.WhereEnumerableIterator1.MoveNext()\n at FluentValidation.AbstractValidator
1.Validate(ValidationContext1 context) in C:\\Projects\\FluentValidation\\src\\FluentValidation\\AbstractValidator.cs:line 95\n at FluentValidation.AbstractValidator
1.Validate(T instance) in C:\Projects\FluentValidation\src\FluentValidation\AbstractValidator.cs:line 62\n at Sonarr.Http.REST.RestController1.ValidateResource(TResource resource, Boolean skipValidate, Boolean skipSharedValidate) in ./Sonarr.Http/REST/RestController.cs:line 122\n at Sonarr.Http.REST.RestController
1.OnActionExecuting(ActionExecutingContext context) in ./Sonarr.Http/REST/RestController.cs:line 87\n at Microsoft.AspNetCore.Mvc.Controller.OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)\n at Microsoft.AspNetCore.Mvc.Filters.ControllerActionFilter.OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()\n— End of stack trace from previous location —\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()\n— End of stack trace from previous location —\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)\n at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)\n at Microsoft.AspNetCore.Routing.EndpointMiddleware.g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)\n at Sonarr.Http.Middleware.BufferingMiddleware.InvokeAsync(HttpContext context) in ./Sonarr.Http/Middleware/BufferingMiddleware.cs:line 27\n at Sonarr.Http.Middleware.IfModifiedMiddleware.InvokeAsync(HttpContext context) in ./Sonarr.Http/Middleware/IfModifiedMiddleware.cs:line 40\n at Sonarr.Http.Middleware.CacheHeaderMiddleware.InvokeAsync(HttpContext context) in ./Sonarr.Http/Middleware/CacheHeaderMiddleware.cs:line 32\n at Sonarr.Http.Middleware.StartingUpMiddleware.InvokeAsync(HttpContext context) in ./Sonarr.Http/Middleware/StartingUpMiddleware.cs:line 37\n at Sonarr.Http.Middleware.UrlBaseMiddleware.InvokeAsync(HttpContext context) in ./Sonarr.Http/Middleware/UrlBaseMiddleware.cs:line 26\n at Sonarr.Http.Middleware.VersionMiddleware.InvokeAsync(HttpContext context) in ./Sonarr.Http/Middleware/VersionMiddleware.cs:line 28\n at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)\n at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)\n at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)\n at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)\n at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)”}