Consider the following test case:

<pre>
CREATE VIRTUAL TABLE vt0 USING fts5(a);
PRAGMA reverse_unordered_selects = true;
INSERT INTO vt0 VALUES('365062398'), (0), (0);
INSERT INTO vt0(vt0, rank) VALUES('pgsz', '3');
UPDATE vt0 SET a = 399905135; -- unexpected: database disk image is malformed
INSERT INTO vt1(vt1) VALUES('integrity-check');
</pre>

The integrity-check indicates that the database disk image is malformed, which is unexpected. I suspect the reason to be an issue with the pgsz option. If, for example, the pgsz value is set to 3, then the UPDATE never terminates.