From 4fed8518e1d7212b4a63899572ee9de24b785c93 Mon Sep 17 00:00:00 2001 From: Florian Bruhin Date: Tue, 28 Nov 2017 06:53:41 +0100 Subject: [PATCH] Handle "out of memory" error in sql.init() --- qutebrowser/misc/sql.py | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/qutebrowser/misc/sql.py b/qutebrowser/misc/sql.py index f19de698f..bcc5bac82 100644 --- a/qutebrowser/misc/sql.py +++ b/qutebrowser/misc/sql.py @@ -72,7 +72,18 @@ class SqliteError(SqlError): '8', # SQLITE_READONLY '13', # SQLITE_FULL ] - self.environmental = error.nativeErrorCode() in environmental_errors + # At least in init(), we can get errors like this: + # type: ConnectionError + # database text: out of memory + # driver text: Error opening database + # error code: -1 + environmental_strings = [ + "out of memory", + ] + errcode = error.nativeErrorCode() + self.environmental = ( + errcode in environmental_errors or + (errcode == -1 and error.databaseText() in environmental_strings)) def text(self): return self.error.databaseText()