Ahh, sorry about that stack.  It's not actually a trashed call stack.  The 
variables are not accurate here because it is an optimized build's call stack.  
The reason I included it was merely to show the function-call-stack, which is 
accurate.

________________________________
From: Dave Gierok
Sent: Thursday, March 29, 2007 10:18 AM
To: 'sqlite-users@sqlite.org'
Subject: Crash in prepSelectStmt

I'm getting a very occational crash in prepSelectStmt when trying to run the 
following statement:

CREATE TABLE tmpdb.[Profile0_Career_UnlockedCars] AS SELECT * FROM 
[Profile0_Career_UnlockedCars];

Where another tmpdb has been attached to the main db via ATTACH.

My call stack is:

*          forza2_ply.dll!prepSelectStmt(Parse * pParse=0x6a99bbd0, Select * 
p=0x00000000)  line 1326 + 0x18 bytes   C
*          forza2_ply.dll!sqlite3SelectResolve(Parse * pParse=0xffffffff, 
Select * p=0xffffffff, NameContext * pOuterNC=0xffffffff)  line 2524 + 0xC 
bytes                C
*          forza2_ply.dll!sqlite3Select(Parse * pParse=0xffffffff, Select * 
p=0xffffffff, int eDest=0xffffffff, int iParm=0xffffffff, Select * 
pParent=0xffffffff, int parentTab=0xffffffff, int * pParentAgg=0xffffffff, char 
* aff=0xffffffff)  line 2811 + 0x10 bytes         C
*          forza2_ply.dll!sqlite3EndTable(Parse * pParse=0xffffffff, Token * 
pCons=0xffffffff, Token * pEnd=0xffffffff, Select * pSelect=0xffffffff)  line 
1464                C
*          forza2_ply.dll!yy_reduce(yyParser * yypParser=0xffffffff, int 
yyruleno=0xffffffff)  line 156 + 0x18 bytes         C
*          forza2_ply.dll!sqlite3Parser(void * yyp=0xffffffff, int 
yymajor=0xffffffff, Token yyminor={...}, Parse * pParse=0xffffffff)  line 3234 
+ 0xC bytes                C
*          forza2_ply.dll!sqlite3RunParser(Parse * pParse=0xffffffff, const 
char * zSql=0xffffffff, char * * pzErrMsg=0xffffffff)  line 444       C
*          forza2_ply.dll!sqlite3_prepare(sqlite3 * db=0xffffffff, const char * 
zSql=0xffffffff, int nBytes=0xffffffff, sqlite3_stmt * * ppStmt=0xffffffff, 
const char * * pzTail=0xffffffff)  line 492         C

It is crashing (Access violation reading invalid pointer) on the line:
setToken(&pRight->token, zName);

Is there a known bug?  Could we be setting up something wrong?  Anyone have any 
advice on how to debug this?  I'd hate to ship our game with this but we're 
getting down to the wire and it looks like we may need to do just that.

Thanks,
Dave

Reply via email to