The UPDATE at the end of the following sequence of SQL statements enters
an infinite loop.
CREATE TABLE t1(a,b);
CREATE INDEX t1b ON t1(a);
CREATE INDEX t1c ON t1(b);
INSERT INTO t1 VALUES(1,2);
UPDATE t1 SET a = a+2 WHERE a>0 OR b>0;
Bisecting shows that this problem was introduced by the single-pass update
optimization of check-in [7ae6104a3e0d1d2] on 2017-01-11 and first released
with version 3.17.0. The problem was discovered by Harald Klimach and
reported on the SQLite mailing list.