Exception has been thrown by the target of an invocation

I had an issue with one of my VMs and I had to rebuild it. I’ve rebuilt it and have installed duplicati. I’m now trying to restore. I can see my backups (in the file selection screen), I can select them and then hit restore but when I do I get an error stating:

“Exception has been thrown by the target of an invocation”

If I click on the red “Show” button nothing happens. I’ve searched through trying to find some logs anywhere to tell me what’s wrong but I can’t find anything. Can anyone help me? I’m beginning to get worried my backups aren’t valid :frowning:

Thanks!
Brad

Your backups should be ok. The problem is in the restore process. This is also being discussed here:

A fix has been proposed:

As warwickmm says, it seems I introduced an unfortunate bug while trying to make restoring files in case of asymmetric gpg encryption more flexible. Hopefully @kenkendk has time to make a new canary release soon.

Thanks guys - that was it. I downloaded the latest code using git, built it, created a deb file installed it and confirmed I can now restore files… given this means people can’t restore their files I hope a new beta build is being produced fairly soon?

This issue should not be present on the current beta. Have you had this issue on the beta?

Thanks for confirming that the proposed fix works! :slight_smile:

For the record, you probably could have used your existing version to restore with via the GUI Commandline option to get around this recent “System.ArgumentException: Empty passphrase not allowed” bug apparently introduced in 2.0.4.6.

I tested with the following and it worked just fine:

  • Click job Commandline link
  • Select “Command” of ‘restore’
  • Leave “Target URL >” alone
  • Clear all “Commandline arguments” to restore ALL files otherwise replace with a list of files (full paths) to be restored (one per line)
  • Click Edit as text link to the right of the “Advanced options”
  • Make sure at least the following are included
--version=0
--restore-path=/MyTestRestore/
--dbpath=/data/Duplicati/RASDWXHNGW.sqlite
--passphrase=myAwesomePassphrase
--no-local-blocks=1

Note: You only need --version= if you want to restore other than the latest backup and --no-local-blocks=1 is only need if you do NOT want to use local data where possible to reduce how much has to be pulled from the backup. I used it only because this was a test restore.