Need help with Backup, keep getting error when I should not be

Ok, I will try to be as specific as possible

Duplicati - 2.0.3.9_canary_2018-06-30

Here is some info on my backup

Source:2.78 TB
accept-any-ssl-certificate
Exclude Filter Groups:Default excludes
Remote volume size: 200 MB
Keep All Backups
–skip-metadata=true
–log-file=
–log-retention=15D
–tempdir=

I have also moved the Local database path to a drive with more space available

The backup tells me I need to repair, yet when I run repair it goes to about 75% (estimate from process bar) and I get the error…

The operation Repair has failed with error: Insertion failed because the database is full
 database or disk is full

Here is an example of the log before this

Jul 21, 2018 12:21 AM: The operation Repair has failed with error: Insertion failed because the database is full
 database or disk is full
{"ClassName":"Mono.Data.Sqlite.SqliteException","Message":"Insertion failed because the database is full\r\ndatabase or disk is full","Data":null,"InnerException":null,"HelpURL":null,"StackTraceString":"  at Mono.Data.Sqlite.SQLite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00084] in <66d0f2b36dc5439784c7fcec2b0dd6bb>:0 \n  at Mono.Data.Sqlite.SQLite3.Step (Mono.Data.Sqlite.SqliteStatement stmt) [0x0003d] in <66d0f2b36dc5439784c7fcec2b0dd6bb>:0 \n  at Mono.Data.Sqlite.SqliteDataReader.NextResult () [0x00104] in <66d0f2b36dc5439784c7fcec2b0dd6bb>:0 \n  at Mono.Data.Sqlite.SqliteDataReader..ctor (Mono.Data.Sqlite.SqliteCommand cmd, System.Data.CommandBehavior behave) [0x0004e] in <66d0f2b36dc5439784c7fcec2b0dd6bb>:0 \n  at (wrapper remoting-invoke-with-check) Mono.Data.Sqlite.SqliteDataReader..ctor(Mono.Data.Sqlite.SqliteCommand,System.Data.CommandBehavior)\n  at Mono.Data.Sqlite.SqliteCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x00006] in <66d0f2b36dc5439784c7fcec2b0dd6bb>:0 \n  at Mono.Data.Sqlite.SqliteCommand.ExecuteNonQuery () [0x00000] in <66d0f2b36dc5439784c7fcec2b0dd6bb>:0 \n  at Duplicati.Library.Main.Database.ExtensionMethods.ExecuteNonQuery (System.Data.IDbCommand self, System.String cmd, System.Object[] values) [0x00058] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Database.LocalRecreateDatabase.FindMissingBlocklistHashes (System.Int64 hashsize, System.Int64 blocksize, System.Data.IDbTransaction transaction) [0x000a2] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Operation.RecreateDatabaseHandler.DoRun (Duplicati.Library.Main.Database.LocalDatabase dbparent, System.Boolean updating, Duplicati.Library.Utility.IFilter filter, Duplicati.Library.Main.Operation.RecreateDatabaseHandler+NumberedFilterFilelistDelegate filelistfilter, Duplicati.Library.Main.Operation.RecreateDatabaseHandler+BlockVolumePostProcessor blockprocessor) [0x00e8a] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Operation.RecreateDatabaseHandler.Run (System.String path, Duplicati.Library.Utility.IFilter filter, Duplicati.Library.Main.Operation.RecreateDatabaseHandler+NumberedFilterFilelistDelegate filelistfilter, Duplicati.Library.Main.Operation.RecreateDatabaseHandler+BlockVolumePostProcessor blockprocessor) [0x00037] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Operation.RepairHandler.RunRepairLocal (Duplicati.Library.Utility.IFilter filter) [0x000ba] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Operation.RepairHandler.Run (Duplicati.Library.Utility.IFilter filter) [0x00012] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Controller+<>c__DisplayClass17_0.<Repair>b__0 (Duplicati.Library.Main.RepairResults result) [0x0001c] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Controller.RunAction[T] (T result, System.String[]& paths, Duplicati.Library.Utility.IFilter& filter, System.Action`1[T] method) [0x0022e] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Controller.RunAction[T] (T result, Duplicati.Library.Utility.IFilter& filter, System.Action`1[T] method) [0x00007] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Library.Main.Controller.Repair (Duplicati.Library.Utility.IFilter filter) [0x0001a] in <0ce58d578b8642d49036dc15fbad38f1>:0 \n  at Duplicati.Server.Runner.Run (Duplicati.Server.Runner+IRunnerData data, System.Boolean fromQueue) [0x00399] in <8486dd191d20467cbf8d627f56ca2e90>:0 ","RemoteStackTraceString":null,"RemoteStackIndex":0,"ExceptionMethod":null,"HResult":-2147467259,"Source":"Mono.Data.Sqlite"}
Jul 21, 2018 12:21 AM: Running Repair took 0:06:05:17.768
Jul 21, 2018 12:21 AM: Recreate database for repair took 0:06:05:17.768
Jul 20, 2018 11:47 PM: ExecuteNonQuery: INSERT INTO "Block" ("Hash", "Size", "VolumeID") SELECT "FullHash" AS "Hash", "Length" AS "Size", -1 AS "VolumeID" FROM (SELECT "A"."FullHash", "A"."Length", CASE WHEN "B"."Hash" IS NULL THEN '' ELSE "B"."Hash" END AS "Hash", CASE WHEN "B"."Size" is NULL THEN -1 ELSE "B"."Size" END AS "Size" FROM (SELECT DISTINCT "FullHash", "Length" FROM (SELECT "BlockHash" AS "FullHash", "BlockSize" AS "Length" FROM ( 
 SELECT
 "E"."BlocksetID",
 "F"."Index" + ("E"."BlocklistIndex" * 3200) AS "FullIndex",
 "F"."BlockHash",
 MIN(102400, "E"."Length" - (("F"."Index" + ("E"."BlocklistIndex" * 3200)) * 102400)) AS "BlockSize",
 "E"."Hash",
 "E"."BlocklistSize",
 "E"."BlocklistHash"
 FROM
 (
 SELECT * FROM
 (
 SELECT 
 "A"."BlocksetID",
 "A"."Index" AS "BlocklistIndex",
 MIN(3200 * 32, ((("B"."Length" + 102400 - 1) / 102400) - ("A"."Index" * (3200))) * 32) AS "BlocklistSize",
 "A"."Hash" AS "BlocklistHash",
 "B"."Length"
 FROM 
 "BlocklistHash" A,
 "Blockset" B
 WHERE 
 "B"."ID" = "A"."BlocksetID"
 ) C,
 "Block" D
 WHERE
 "C"."BlocklistHash" = "D"."Hash"
 AND
 "C"."BlocklistSize" = "D"."Size"
 ) E,
 "TempBlocklist-D36A67C4A449FB40B5B98C47B8F1449D" F
 WHERE
 "F"."BlocklistHash" = "E"."Hash"
 ORDER BY 
 "E"."BlocksetID",
 "FullIndex"
 ) UNION SELECT "BlockHash", "BlockSize" FROM "TempSmalllist-B5AF581D85A1204BA0FBF4CC8E905424" )) A LEFT OUTER JOIN "Block" B ON "B"."Hash" = "A"."FullHash" AND "B"."Size" = "A"."Length" ) WHERE "FullHash" != "Hash" AND "Length" != "Size" took 0:00:23:34.583
Jul 20, 2018 11:24 PM: Starting - ExecuteNonQuery: INSERT INTO "Block" ("Hash", "Size", "VolumeID") SELECT "FullHash" AS "Hash", "Length" AS "Size", -1 AS "VolumeID" FROM (SELECT "A"."FullHash", "A"."Length", CASE WHEN "B"."Hash" IS NULL THEN '' ELSE "B"."Hash" END AS "Hash", CASE WHEN "B"."Size" is NULL THEN -1 ELSE "B"."Size" END AS "Size" FROM (SELECT DISTINCT "FullHash", "Length" FROM (SELECT "BlockHash" AS "FullHash", "BlockSize" AS "Length" FROM ( 
 SELECT
 "E"."BlocksetID",
 "F"."Index" + ("E"."BlocklistIndex" * 3200) AS "FullIndex",
 "F"."BlockHash",
 MIN(102400, "E"."Length" - (("F"."Index" + ("E"."BlocklistIndex" * 3200)) * 102400)) AS "BlockSize",
 "E"."Hash",
 "E"."BlocklistSize",
 "E"."BlocklistHash"
 FROM
 (
 SELECT * FROM
 (
 SELECT 
 "A"."BlocksetID",
 "A"."Index" AS "BlocklistIndex",
 MIN(3200 * 32, ((("B"."Length" + 102400 - 1) / 102400) - ("A"."Index" * (3200))) * 32) AS "BlocklistSize",
 "A"."Hash" AS "BlocklistHash",
 "B"."Length"
 FROM 
 "BlocklistHash" A,
 "Blockset" B
 WHERE 
 "B"."ID" = "A"."BlocksetID"
 ) C,
 "Block" D
 WHERE
 "C"."BlocklistHash" = "D"."Hash"
 AND
 "C"."BlocklistSize" = "D"."Size"
 ) E,
 "TempBlocklist-D36A67C4A449FB40B5B98C47B8F1449D" F
 WHERE
 "F"."BlocklistHash" = "E"."Hash"
 ORDER BY 
 "E"."BlocksetID",
 "FullIndex"
 ) UNION SELECT "BlockHash", "BlockSize" FROM "TempSmalllist-B5AF581D85A1204BA0FBF4CC8E905424" )) A LEFT OUTER JOIN "Block" B ON "B"."Hash" = "A"."FullHash" AND "B"."Size" = "A"."Length" ) WHERE "FullHash" != "Hash" AND "Length" != "Size"
Jul 20, 2018 11:24 PM: ExecuteScalarInt64: SELECT COUNT(*) FROM "RemoteVolume" WHERE "State" = "Temporary" AND "Type" = "Blocks" took 0:00:00:00.057
Jul 20, 2018 11:24 PM: Starting - ExecuteScalarInt64: SELECT COUNT(*) FROM "RemoteVolume" WHERE "State" = "Temporary" AND "Type" = "Blocks"
Jul 20, 2018 11:24 PM: CommitRecreatedDb took 0:00:01:13.756
Jul 20, 2018 11:23 PM: Starting - CommitRecreatedDb
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "ID" FROM "Remotevolume" WHERE "Name" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "ID" FROM "Remotevolume" WHERE "Name" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "ID" FROM "Remotevolume" WHERE "Name" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "ID" FROM "Remotevolume" WHERE "Name" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "ID" FROM "Remotevolume" WHERE "Name" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "ID" FROM "Remotevolume" WHERE "Name" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?
Jul 20, 2018 11:23 PM: ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ? took 0:00:00:00.000
Jul 20, 2018 11:23 PM: Starting - ExecuteScalarInt64: SELECT "VolumeID" FROM "Block" WHERE "Hash" = ? AND "Size" = ?

The temp dir I am pointing has more than 3 TB free so I would think that I should not be running out of space?

Are you running Duplicati on Linux? I ask because I believe there may be an issue where mono doesn’t obey the --tempdir parameter and keeps using the normal temp dir on the machine.

When that “database or disk is full” message happens, can you check the free space on all your drives?