Canary .11 still reporting unfindable errors

Plugging some of the pastebin output found Duplicati.CommandLine.exe crash and other issues pointing to it. Unfortunately it’s still a mystery. The lack of findable errors in the web UI per-job log seems easy to reproduce using a .bat file doing, say, “exit 3”, causing a popup with nothing in the web UI job or server log. --log-file has:

2018-09-14 17:33:24 -04 - [Warning-Duplicati.Library.Modules.Builtin.RunScript-InvalidExitCode]: The script "C:\Users\Ted\Documents\exit.bat" returned with exit code 3

I played with other options to see if I could log text said by the bat file. No luck, but I might misunderstand this:

C:\Program Files\Duplicati 2>Duplicati.CommandLine.exe help runscript
Run script (runscript):
 Executes a script before starting an operation, and again on completion
 Module is loaded automatically, use --disable-module to prevent this
 Supported options:
  --run-script-before (Path): Run a script on startup
    Executes a script before performing an operation. The operation will block
    until the script has completed or timed out.
  --run-script-after (Path): Run a script on exit
    Executes a script after performing an operation. The script will receive
    the operation results written to stdout.
  --run-script-before-required (Path): Run a required script on startup
    Executes a script before performing an operation. The operation will block
    until the script has completed or timed out. If the script returns a
    non-zero error code or times out, the operation will be aborted.
  --run-script-result-output-format (Enumeration): Selects the output format
    for results
    Selects the output format for results. Available formats: Duplicati, Json
    * values: Duplicati, Json
    * default value: Duplicati
  --run-script-timeout (Timespan): Sets the script timeout
    Sets the maximum time a script is allowed to execute. If the script has
    not completed within this time, it will continue to execute but the
    operation will continue too, and no script output will be processed.
    * default value: 60s
  --run-script-log-level (Enumeration): Defines a log level for messages
    Use this option to set the log level for messages to include in the report
    * values: ExplicitOnly, Profiling, Verbose, Retry, Information, DryRun,
    Warning, Error
    * default value: Warning
  --run-script-log-filter (String): Log message filter
    Use this option to set a filter expression that defines what options are
    included in the report


C:\Program Files\Duplicati 2>

I chose the “exit 3” because 2.0.3.10 made some Improvements for –run-script-before/after options, but the probable code at Added support for multiple exit codes, and added a unittest to verify… looks like the older behavior would have also put something in the --log-file log. Unfortunately, not everyone runs those, so they can’t find the cause. I’m glad that you were able to find yours, and there’s probably a separate issue for that.