All, Win64 compiled with the latest patched Visual Studio 8.
I just downloaded and compiled the latest amalgamation in my project, ran it and the program died immediately. I've tracked it down to SQLITE_OMIT_TRACE. If I compile with this defined, it crashes. It's dying here Expr.c line 2173 case TK_VARIABLE: { VdbeOp *pOp; assert( !ExprHasProperty(pExpr, EP_IntValue) ); assert( pExpr->u.zToken!=0 ); assert( pExpr->u.zToken[0]!=0 ); if( pExpr->u.zToken[1]==0 && (pOp = sqlite3VdbeGetOp(v, -1))->opcode==OP_Variable && pOp->p1+pOp->p3==pExpr->iTable && pOp->p2+pOp->p3==target && pOp->p4.z==0 ){ /* If the previous instruction was a copy of the previous unnamed ** parameter into the previous register, then simply increment the ** repeat count on the prior instruction rather than making a new ** instruction. */ pOp->p3++; }else{ sqlite3VdbeAddOp3(v, OP_Variable, pExpr->iTable, target, 1); if( pExpr->u.zToken[1]!=0 ){ sqlite3VdbeChangeP4(v, -1, pExpr->u.zToken, 0); } } break; I've tried both the amalgamation and the individual files method. sqlite3VdbeGetOp is returning an invalid pointer. SQLITE_PRIVATE VdbeOp *sqlite3VdbeGetOp(Vdbe *p, int addr){ static VdbeOp dummy; assert( p->magic==VDBE_MAGIC_INIT ); if( addr<0 ) addr = p->nOp - 1; assert( (addr>=0 && addr<p->nOp) || p->db->mallocFailed ); if( p->db->mallocFailed ){ return &dummy; }else{ return &p->aOp[addr]; } } This is what I was compiling: "SELECT CF_Value FROM TB_Config WHERE CF_Section=? AND CF_Key=?;" It's a very basic DB for configuration information. // // // HRESULT hr = Exec ( "CREATE TABLE IF NOT EXISTS TB_Config (" "CF_Section VARCHAR(128), " "CF_Key VARCHAR(128), " "CF_Value VARCHAR(128), " "CF_Age INTEGER, " "PRIMARY KEY (CF_Section, CF_Key) );" ); if( FAILED(hr) ) { ASSERT(0); FreeError(); } I can stick the old library 3.6.7 back in place and it works. Sqlite.exe is able to access the DB with no issues. C _______________________________________________ sqlite-users mailing list sqlite-users@sqlite.org http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users