The operation ListBrokenFiles has failed => Access to the path 'X:\log' is denied

The operation ListBrokenFiles has failed => Access to the path ‘X:\log’ is denied.
Setting custom SQLite option ‘cache_size=-500736’.

System.UnauthorizedAccessException: Access to the path ‘X:\log’ is denied.
at Microsoft.Win32.SafeHandles.SafeFileHandle.CreateFile(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options)
at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode) at System.IO.Strategies.OSFileStreamStrategy..ctor(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode)
at System.IO.Strategies.FileStreamHelpers.ChooseStrategyCore(String path, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize, Nullable1 unixCreateMode) at System.IO.FileStream..ctor(String path, FileMode mode, FileAccess access) at Duplicati.Library.Logging.StreamLogDestination..ctor(String filename) at Duplicati.Library.Main.Controller.SetupCommonOptions(ISetCommonOptions result, String[]& paths, IFilter& filter, ControllerMultiLogTarget logTarget) at Duplicati.Library.Main.Controller.RunAction[T](T result, String[]& paths, IFilter& filter, Func3 method)
at Duplicati.Library.Main.Controller.RunAction[T](T result, Func3 method) at Duplicati.Library.Main.Controller.ListBrokenFiles(IFilter filter, Func6 callbackhandler)
at Duplicati.CommandLine.Commands.ListBrokenFiles(TextWriter outwriter, Action1 setup, List1 args, Dictionary2 options, IFilter filter) at Duplicati.CommandLine.Program.ParseCommandLine(TextWriter outwriter, Action1 setup, Boolean& verboseErrors, String args)
at Duplicati.CommandLine.Program.RunCommandLine(TextWriter outwriter, TextWriter errwriter, Action`1 setup, String args)
Return code: 100

Duplicati - 2.1.0.119_canary_2025-05-29

Welcome to the forum @rosser

Please clarify how you are specifying X:\log and what permission checks X: drive has. Depending on what user Duplicati is run as (clarify), Windows may certainly deny access.

EDIT 1:

I’m seeing some suggestions that you used log-file or similar in the GUI Commandline.
If you’re not sure what user Duplicati got run as, check Username in About → System info.

Here’s the English translation of the Chinese text:

Duplicati is running as the **local administrator user: rnas. Even after I granted Everyone full control permissions, access is still denied. In fact, no matter what path I provide, access is denied


You didn’t answer my first question, but if you’re saying log-file=C:\log that will fail.

image

image

image

fails for me because C:\tmp is a folder, so Duplicati can’t write to it. Give it a file to log to.

If I guess wrong at what you did, please say what you did.

Here’s the English translation:

“I thought --log-file=<path> was a folder path. How should I use it?”

Here’s the English translation:

"I have successfully specified the .log file, but encountered the following error:

2025-06-05 01:31:03 +08 - [Error-Duplicati.Library.Main.Controller-FailedOperation]: The operation ListBrokenFiles has failed
Duplicati.Library.Interface.UserInformationException: Filters are not supported for this operation
at Duplicati.Library.Main.Operation.ListBrokenFilesHandler.DoRunAsync(IBackendManager backendManager, LocalListBrokenFilesDatabase db, IDbTransaction transaction, IFilter filter, Func6 callbackhandler) at Duplicati.Library.Main.Operation.ListBrokenFilesHandler.RunAsync(IBackendManager backendManager, IFilter filter, Func6 callbackhandler)
at Duplicati.Library.Utility.Utility.Await(Task task)
at Duplicati.Library.Main.Controller.RunAction[T](T result, String& paths, IFilter& filter, Func`3 method)

It’s not. It’s a file path. Please specify a file to log to. Which you did I guess, so up next:

On Source screen. you added filters. This is fine for backup but not list-broken-files.

Filters go in the Commandline as --exclude and maybe --include. Delete them there.

1 Like

I did it, thank you!

2 Likes