Large backups failing with "SQLite error cannot commit - no transaction is active"

Hi! I’m new to duplicati and I’m trying things out. I’ve configured an duplicate instance with Docker on windows with Linux containers. I’m trying to run a local backup of a modest size (600GB, 400K files) with no encryption.
I’ve configured everything in the most basic way possible, but after ~30sec from the start of the backup, it fails after writing ~750MB worth of data with the message “SQLite error cannot commit - no transaction is active”.

Mono.Data.Sqlite.SqliteException (0x80004005): SQLite error
cannot commit - no transaction is active
  at Mono.Data.Sqlite.SQLite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00084] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at Mono.Data.Sqlite.SQLite3.Step (Mono.Data.Sqlite.SqliteStatement stmt) [0x0003d] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at Mono.Data.Sqlite.SqliteDataReader.NextResult () [0x00104] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at Mono.Data.Sqlite.SqliteDataReader..ctor (Mono.Data.Sqlite.SqliteCommand cmd, System.Data.CommandBehavior behave) [0x0004e] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at (wrapper remoting-invoke-with-check) Mono.Data.Sqlite.SqliteDataReader..ctor(Mono.Data.Sqlite.SqliteCommand,System.Data.CommandBehavior)
  at Mono.Data.Sqlite.SqliteCommand.ExecuteReader (System.Data.CommandBehavior behavior) [0x00006] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at Mono.Data.Sqlite.SqliteCommand.ExecuteNonQuery () [0x00000] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at Mono.Data.Sqlite.SqliteTransaction.Commit () [0x0002e] in <a0e5f0a9e64d4445ba1b60592daf818a>:0 
  at Duplicati.Library.Main.Operation.Common.DatabaseCommon.Dispose (System.Boolean isDisposing) [0x0000f] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at Duplicati.Library.Main.Operation.Common.SingleRunner.Dispose () [0x00000] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at Duplicati.Library.Main.Operation.BackupHandler.RunAsync (System.String[] sources, Duplicati.Library.Utility.IFilter filter) [0x01031] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at CoCoL.ChannelExtensions.WaitForTaskOrThrow (System.Threading.Tasks.Task task) [0x00050] in <6973ce2780de4b28aaa2c5ffc59993b1>:0 
  at Duplicati.Library.Main.Operation.BackupHandler.Run (System.String[] sources, Duplicati.Library.Utility.IFilter filter) [0x00008] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at Duplicati.Library.Main.Controller+<>c__DisplayClass13_0.<Backup>b__0 (Duplicati.Library.Main.BackupResults result) [0x00035] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at Duplicati.Library.Main.Controller.RunAction[T] (T result, System.String[]& paths, Duplicati.Library.Utility.IFilter& filter, System.Action`1[T] method) [0x00271] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at Duplicati.Library.Main.Controller.Backup (System.String[] inputsources, Duplicati.Library.Utility.IFilter filter) [0x00068] in <e2da9713f0974e76879d9f9aa7ce0e36>:0 
  at Duplicati.Server.Runner.Run (Duplicati.Server.Runner+IRunnerData data, System.Boolean fromQueue) [0x00307] in <be73c239d77d4180b5147067144fc237>:0 

I also tried with a different backup destination (MEGA) and the resutls are the same. Oddly enough, if I put a filter to match only a few small files, the backup seems to work.

I’m currently the latest stable linuxserver/duplicati container from Docker hub, which ships the Duplicati version 2.0.4.23_beta_2019-07-14

I’m having the same issue, anyone has any ideas? I’ve already tried to repair the database, this didn’t help. It’s now recreating the database.

Hi,
there are other posts with similar situations, e.g.:

I’m experiencing these kind of problems too.
I’m backing up the home directories of a big server (9TB source, 8225836 files, 2368 users, in 2 weeks ~290000 new files and ~20000 modified - 320 GB SizeOfAddedFiles, 1443 GB SizeOfModifiedFiles) and, apart from issues with file names - see

it was working rather fine.

Now I get these errors:

Failed: SQLite error
cannot commit - no transaction is active
Details: Mono.Data.Sqlite.SqliteException (0x80004005): SQLite error
cannot commit - no transaction is active
at Mono.Data.Sqlite.SQLite3.Reset (Mono.Data.Sqlite.SqliteStatement stmt) [0x00084] in <978b82b4125d43bf898b4f6e1611e3cc>:0

almost every time. Due to the high number of files the DB is rather huge:

[root@host Duplicati]# ll -h
total 93G
-rw------- 1 root root 47G 12 mar 17.13 87688068698868847674.sqlite
-rw------- 1 root root 35K 8 ago 2019 backup 20190808055349.sqlite
-rw------- 1 root root 46G 11 mar 11.50 backup 87688068698868847674 20200311011107.sqlite
drwxr-xr-x 2 root root 21 11 mar 12.52 control_dir_v2
-rw------- 1 root root 135K 12 mar 17.25 Duplicati-server.sqlite
drwxr-xr-x 3 root root 59 14 ago 2019 tmp

Any ideas?

What version of Duplicati are you using, and what version of mono?

Duplicati - 2.0.5.1_beta_2020-01-18 on CentOS 7.1.1503

mono-core-6.0.0.319-0.xamarin.1.epel7.x86_64

I’m having the same issue. Any news on this? It w working fine until the last backup.

This happened to me when the disk that’s hosting the .sqlite file ran out of space. Extending my partition (it was a VM backing up a large externally connected disk so I didn’t give the OS much room) fixed the problem.

1 Like