On Mar 30, 2010, at 7:37 PM, Periasamy, Karthikeyan wrote:

> Hi,
>
> Our application is a multithreaded program running on Powerpc e300  
> mpc8343 embedded board. There are 8 threads running which are  
> querying and updating DB parallelly  and continuously. We are using  
> libdbi-0.8.2 and sqlite-3.6.16 to interact with sqlite3 DB file. The  
> application crashes when it tries to free the dbi_result object.
>
> Here is the gdb backtrace which got from the core dump file,
>
> #1  0x0feb3418 in abort () from /lib/libc.so.6
> #2  0x0fee847c in __libc_message () from /lib/libc.so.6
> #3  0x0feef5ec in malloc_printerr () from /lib/libc.so.6
> #4  0x0fef0244 in free () from /lib/libc.so.6
> #5  0x0fb6d624 in sqlite3MemFree (pPrior=0x0) at sqlite3.c:12289
> #6  0x0fb6dba8 in sqlite3_free (p=0xffc524c) at sqlite3.c:15667
> #7  0x0fb9e238 in sqlite3_free_table (azResult=Cannot access memory  
> at address 0x3200c4c4) at sqlite3.c:79793
> #8  0x0fbf7b5c in dbd_free_query () from /usr/local/lib/dbd// 
> libdbdsqlite3.so
> #9  0x0fc23634 in _disjoin_from_conn () from /usr/local/lib/ 
> libdbi.so.0
> #10 0x0fc23960 in dbi_result_free () from /usr/local/lib/libdbi.so.0
> ...Our application code...
>
> The sqlite3 has been compiled without any configure options and the  
> same  for libdbi.
>
> Please suggest us if there is anything we can do in our application,  
> sqlite3 library or libdbi library to fix this problem?
>
> Note: The crash is happening at the same place "dbi_result_free" for  
> different DBquery every time.

Odds are the pointer being passed to sqlite3_free_table() is
invalid. Either because it was not returned by sqlite3_get_table(),
or it has already been freed by sqlite3_free_table().

_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to