SQLite

Ticket Change Details
Login
Overview

Artifact ID: de9d04b2b31ffb9154cb5879f11f634829dcb465a2d7b9d1e6644566fa4d865d
Ticket: c2432ef9089ee73bd0d3885576c0e1f6b1ad02e9
Assertion fault due to column cache malfunction
User & Date: drh 2018-06-11 11:14:57
Changes

  1. icomment:
    The following SQL causes an assertion fault in SQLite 3.19.0 and later:
    
    <blockquote><verbatim>
    CREATE TABLE t1(a INTEGER PRIMARY KEY,b UNIQUE);
    CREATE INDEX x1 ON t1(-b=b);
    INSERT INTO t1 VALUES(1,5),(6,2);
    REPLACE INTO t1 SELECT b,0 FROM t1;
    </verbatim></blockquote>
    
    The assertion faults begin with check-in [e6e36b288fdf2].  However, further
    analysis suggests that that check-in merely exposed the problem and is not
    the actual cause of the problem.  The underlying problem appears to be that
    the column-cache is attempting to reuse the value of a register that was
    never initialized to that column in the first place.
    
    This fault was found by OSSFuzz.
    
  2. login: "drh"
  3. mimetype: "text/x-fossil-wiki"
  4. severity changed to: "Critical"
  5. status changed to: "Open"
  6. title changed to: "Assertion fault due to column cache malfunction"
  7. type changed to: "Code_Defect"