Error when starting duplicati relating to System.Exception: Invalid size value: 0.8mb

Hi
I’ve been using Duplicati for a long time now, but got this error today (below).

I think this may be because I used the throttle option in the GUI recently and set the upload to 0.8mb which has somehow got mixed up with the cmd line parameters (how - I have no idea- a bug?). Anyhow I just want to fix the install (running Manjaro linux up to date) so the 0.8mb is not specified and duplicati starts cleanly again

Thanks
Julian

/usr/bin/mono /opt/duplicati-latest/Duplicati.Server.exe --webservice-port=8200
A serious error occurred in Duplicati: System.Exception: Invalid size value: 0.8mb
at Duplicati.Library.Utility.Sizeparser.ParseSize (System.String size) [0x00106] in <9e3565512d4d4bb39442d539c512c851>:0
at Duplicati.Library.Utility.Sizeparser.ParseSize (System.String size, System.String defaultSuffix) [0x00059] in <9e3565512d4d4bb39442d539c512c851>:0
at Duplicati.Server.LiveControls…ctor (Duplicati.Server.Database.ServerSettings settings) [0x00100] in <92afe8d01e4f4825a0b6e223be7f2aae>:0
at Duplicati.Server.Program.RealMain (System.String[] args) [0x00376] in <92afe8d01e4f4825a0b6e223be7f2aae>:0

Thanks for using Duplicati for so long!

I have a few questions that will hopefully help figure out what’s going on:

  1. What version of Duplicati are you running
  2. Are you using the web GUI (http://localhost:8200/) at all?
  3. Can you post an Export of your backup job “As command-line” (if you’re using the GUI) or the actual CLI call (if you’re using the command line) - in either case, be sure to scrub any private info (usernames, passwords, hashes, etc.)

Note that there is a known bug in the Commandline section of the GUI where it appears that if there are more than 10 “Advanced options” the parameter values get “off by 1” relative to the parameter names.

The error itself is caused by Duplicati not accepting fractions, so you need to write 819kb.

The crash happens because Duplicati attempts to apply the throttle options on startup (we should fix that).

To recover, you need a tool to open file ~/.config/Duplicati/Duplicati-server.sqlite, and you can use SQLite Browser.

Under the Execute SQL tab, run this query:

UPDATE "Option" SET "Value" = "" WHERE "BackupID" = -2 AND "Name" = "max-upload-speed";

You can also run this from the commandline if you have sqlite3 installed:

sqlite3 ~/.config/Duplicati/Duplicati-server.sqlite "UPDATE Option SET Value = '' WHERE BackupID = -2 AND Name = 'max-upload-speed';"
1 Like

Hello Ken

Many thanks for your answer. Yes I think it’s worth fixing this bug as it isn’t trivial to fix unless you know the insides of the application really well.

I guessed it was because the upload limit I used on a run but this gave no error, whereas I unexpectedly got the error when next running Duplicati

Thanks again
Julian

Should they UI accept fractions but convert it to whole numbers before saving it (such as I enter 0.5mb and it gets stored as 512kb)?

@kees-z, my apologies for not directly checking but is this “no fractions” limitation in the documentation?

Well, err… The throttle options are yet not documented at all.:thinking:
However, I guess allowing fractions to be entered but crashing when using them is a bug. It’s my intention to omit as much as possible from the manual that is very specific to a particular version or expected to be changed or fixed soon.
Fixing bugs should be more useful than describing them.

1 Like

@kenkendk . I altered the sqlite file as suggested but it made no difference . However, once I checked using the SQLite Browser I found that there was a 0.8mb figure which I knew to change to 800mb which worked once I restarted the service.

Thanks for the help, but yes this is a bad bug that you can oh so easily act and break your config. However at least I now know how to read the config files I did not realise there were part of a sqllite file, so I’ve learnt something :wink:

2 Likes

Not sure why the SQL updates did not work. Maybe there needs to be a commit; statement for it to take effect?

Anyway, I have fixed part of the problem so it no longer crashes if there are invalid throttle values. Next fix would be preventing that the invalid values are entered at all (or at least convert them to integer values).

1 Like