Now that is a proper bug!
Makes Excel crash OK here.

RBS


On 10/3/12, Klaus Keppler <k...@keppler-it.de> wrote:
> Hi,
>
> after upgrading from SQLite 3.7.13 to 3.7.14 our application crashed
> with a SEGFAULT located within SQLite.
> I boiled down the SQL statement and the tables used, and was able to
> reproduce this also with the SQLite standalone binary available at
> http://www.sqlite.org/sqlite-shell-linux-x86-3071400.zip
> (Debian 6, AMD64).
>
> I assume that the new optimizations on the query planner are causing
> this problem; with 3.7.13 everything works fine.
>
>
> HOW TO REPRODUCE:
> -- create these tables and fill with data:
> CREATE TABLE GROUPCUSTOMERS (
>      GC_GROUPID INTEGER NOT NULL,
>      GC_CUSTOMERID INTEGER NOT NULL,
>      GC_OBJECTTYPE INTEGER
> );
> INSERT INTO GROUPCUSTOMERS VALUES (1, 1, NULL);
>
> CREATE TABLE GROUPPERMISSIONS (
>      GP_GROUPID INTEGER NOT NULL,
>      GP_MODULEID INTEGER NOT NULL,
>      GP_PERMISSIONID INTEGER NOT NULL
> );
> INSERT INTO GROUPPERMISSIONS VALUES (1, 1, 1);
>
> CREATE TABLE GROUPUSERS (
>      GU_GROUPID INTEGER NOT NULL,
>      GU_USERID INTEGER NOT NULL,
>      GU_OBJECTTYPE INTEGER
> );
>
> -- then run this query:
> SELECT * FROM
>   ( SELECT GP_MODULEID AS CP_MODULEID, GP_PERMISSIONID AS CP_PERMISSIONID
>       FROM GROUPCUSTOMERS, GROUPPERMISSIONS
>       WHERE (GC_GROUPID = GP_GROUPID)
>   ) AS A1
>   LEFT JOIN
>   ( SELECT GP_MODULEID AS UP_MODULEID, GP_PERMISSIONID AS UP_PERMISSIONID
>       FROM GROUPUSERS, GROUPPERMISSIONS
>       WHERE (GU_GROUPID = GP_GROUPID)
>   ) AS A2
>   ON (CP_MODULEID = UP_MODULEID)
>      OR (UP_PERMISSIONID = 0)
>   ;
>
> => SEGFAULT
>
> -- note that it is important to have these two records inserted,
> -- without them the SQL will work.
>
> -- AND: when running "ANALYZE" before running the SQL statement, the
> -- query also succeeds!
>
> In our application, the error occured at the sqlite3VdbeExec function at
>   "case OP_NullRow:" on the line "u.bn.pC->nullRow = 1;"
> u.pn.pC is NULL at this point.
> (tested with GDB and the original (bloated) SQL statement from within
> our application)
> We did NOT use the flag SQLITE_ENABLE_STAT3.
>
> For any questions don't hezitate to contact me.
>
> Best regards
>
>     -Klaus Keppler
>
>
>
> --
> ______________________________________________________________________
> Keppler IT GmbH - Die Hostingexperten.
>
> Dipl.-Inf. Klaus Keppler    Tel. (09131) 691-480
> Geschäftsführer             Fax: (09131) 691-489
>
> Am Weichselgarten 7         UStID.-Nr. DE259788698
> 91058 Erlangen              Amtsgericht Fürth, HRB 11477
> www.keppler-it.de           Sitz d. Gesellschaft: Erlangen
> ______________________________________________________________________
> _______________________________________________
> sqlite-users mailing list
> sqlite-users@sqlite.org
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to