Thanks Dan!
I think I shouldn't call finalizeStmHandle(pReadStmt); before closeReportDB()
Here is the codes:
........................
finalizeStmHandle(pReadStmt);
closeReportDB() ; (this function call closeDb().
Part of Stack trace:
#0sqlite3_finalize (pStmt=0x28) at ../src/vdbeapi.c:204
#1 0xb74484b3 in MonDb::closeDb (this=0xb6022e5c) at
/builds/BLD_6.0B2.10/SRC/phoenix/src/wx/MonAgt/util/MonDb.cpp:80
Here is the functions finalizeStmHandle() and closeReportDB()
void MonDb::finalizeStmHandle(sqlite3_stmt *&pStmt)
{
if (pStmt) {
sqlite3_finalize(pStmt);
pStmt = NULL;
}
}
void closeReportDB() { closeDb(); };
bool MonDb::closeDb()
{
int sqlSt;
const char* errMsg;
// sqlite3_stmt *pStmt1;
if (pDb != NULL) {
//while( (pStmt = sqlite3_next_stmt(pDb, 0))!=0 ){
if (pStmt) {
sqlite3_finalize(pStmt);
pStmt= NULL;
}
//}
sqlSt = sqlite3_close(pDb);
if(sqlSt != SQLITE_OK){
errMsg = sqlite3_errmsg(pDb);
WXLOGE(LOG_ALL_OPT_OFF, WX_MODULE_ID_MONSTATS,
WX_SUBMOD_ID_MONSTATS_COLLECTOR,
"%s: Error in closing Monitoring database name: %s. Sqlite error
message: %s ",__FUNCTION__, name, errMsg);
#ifndef _WINDOWS
sqlite3_free((char*) errMsg);
#endif
}
pDb=NULL;
}
return true;
}
________________________________
From: Dan <[email protected]>
To: General Discussion of SQLite Database <[email protected]>
Sent: Friday, February 13, 2009 9:14:20 AM
Subject: Re: [sqlite] sqlite3_finalize (pStmt=0x28) at ../src/vdbeapi.c:204
On Feb 13, 2009, at 11:24 PM, Joanne Pham wrote:
> Thanks for the respond!
> So how can we find out the pStmt is valid or not. I did check to see
> if it is not NULL before passing this sqlite3_finalize (pStmt=0x28).
> To find out the valid handle is touch because the problem couldn't
> duplicate all the time.
> Your response is greatly appreciated.
> JP
The value 0x28 is almost certainly not a valid address.
Sounds like an uninitialized variable. If you're using linux,
run your program under valgrind and it will tell you the problem.
> ________________________________
> From: Dan <[email protected]>
> To: General Discussion of SQLite Database <[email protected]>
> Sent: Thursday, February 12, 2009 9:03:12 PM
> Subject: Re: [sqlite] sqlite3_finalize (pStmt=0x28) at ../src/
> vdbeapi.c:204
>
>
> On Feb 13, 2009, at 11:49 AM, Joanne Pham wrote:
>
>> Hi All,
>> We have an application is used SQLite 3.5.9 and our program is
>> crashed on
>> "sqlite3_finalize (pStmt=0x28) at ../src/vdbeapi.c:204" and I don't
>> know why it crashed on this line.
>> Do you have any information about why it is crashed on
>> sqlite3_finalize at 204 vdbeapi.
>
> The argument passed to sqlite3_finalize() is invalid. Where is
> it being called from?
>
>
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
>
>
>
>
> _______________________________________________
> sqlite-users mailing list
> [email protected]
> http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users