Hello again !  

On mac os x some time ago I was getting segfaults here and tought that it was
caused by the way os x manage memory but it doesn't seem correct.  

The error happens on this code that is called before call sqlite3_close:  

??????? sqlite3 *db = sdb->db;
??????? sqlite3_stmt* statement = NULL;
??????? int count = 0;
??????? while ((statement = sqlite3_next_stmt(db, statement)))
??????? {
??????? ??? //do no close statements because garbage collector will
do it
??????? ??? //on MacOSX we get segfaults finalizing statements here
??????????? printf("sq_sqlite3_close_release:stmt:%s\n",
sqlite3_sql(statement));
??????????? sqlite3_finalize(statement);
??????????? count++;
??????? }
??????? if (count) return sq_throwerror(v, _SC("closing database with
%d statements not closed."), count);  

?  
>  Fri Sep 04 2015 4:18:01 pm CEST CEST from "Domingo Alvarez Duarte"
><sqlite-mail at dev.dadbiz.es>  Subject: Re: [sqlite] SQLite3 trunk error with
>old database with fts3/4
>
>  Hello ! 
> 
> I'm not sure where the problem is but this code worked without any problem
> with previous sqlite3. 
> 
> Here is a backtrace of a segfault using gdb (the line numbers will not
>match
> standard sqlite3.c because I have some custom extensions): 
> 
> enter mutex 0x7fffe405f570 (1213663847) with nRef=1919906927
> 
> Program received signal SIGSEGV, Segmentation fault.
> [Switching to Thread 0x7ffff3c70700 (LWP 22336)]
> 0x0000000000479d85 in freeEphemeralFunction (db=0x7fffe4000078, 
> ??? pDef=0xaaaaaaaaaaaaaaaa)
> ??? at sqlite3.c:66869
> 66869??? ? if( ALWAYS(pDef) && (pDef->funcFlags & SQLITE_FUNC_EPHEM)!=0
> ){
> (gdb) bt
> #0? 0x0000000000479d85 in freeEphemeralFunction (db=0x7fffe4000078, 
> ??? pDef=0xaaaaaaaaaaaaaaaa)
> ??? at sqlite3.c:66869
> #1? 0x0000000000479e39 in freeP4 (db=db at entry=0x7fffe4000078, 
> ??? p4type=-1431655766, p4=0x7fffe4181588)
> ??? at sqlite3.c:66884
> #2? 0x0000000000479f14 in vdbeFreeOpArray (db=0x7fffe4000078, 
> ??? aOp=0x7fffe40df508, nOp=<optimised out>)
> ??? at sqlite3.c:66933
> #3? 0x000000000047a01c in sqlite3VdbeClearObject (db=0x7fffe4000078, 
> ??? p=0x7fffe408ac88) at sqlite3.c:68920
> #4? 0x000000000047a0c3 in sqlite3VdbeDelete (p=0x7fffe408ac88)
> ??? at sqlite3.c:68941
> #5? 0x00000000004e6044 in sqlite3VdbeFinalize (p=0x7fffe408ac88)
> ??? at sqlite3.c:68861
> #6? 0x00000000004e60cd in sqlite3_finalize (pStmt=0x7fffe408ac88)
> ??? at sqlite3.c:70500 
> 
> ? 
>  
>>Fri Sep 04 2015 4:05:12 pm CEST CEST from "Dan Kennedy"
>> <danielk1977 at gmail.com> Subject: Re: [sqlite] SQLite3 trunk error with old
>> database with fts3/4
>> 
>> On 09/04/2015 07:35 PM, Domingo Alvarez Duarte wrote:
>> 
>>  
>>>Hello !
>>> 
>>> After fix the index issues using an old sqlite3 executable (the trunk
>>> refuse
>>> to work on indexes created with single quotes on field names) I'm getting
>>> ocasionaly memory errors when using fts3/4 searches, see error below:
>>> 
>>> free(): corrupted unsorted chunks: 0x00007fa3a01073a0
>>> 
>>> 

>>  Is this error on the trunk or with the old version?
>> 
>> If it's on the trunk, is the error reproducible using the sqlite3 shell 
>> tool?
>> 
>> If not, what does valgrind have to say about the app?
>> 
>> Thanks,
>> Dan.
>> 
>> _______________________________________________
>> sqlite-users mailing list
>> sqlite-users at mailinglists.sqlite.org
>> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
>> 
>> 
>> 
>> 
>> 
>> 

>  ?
> _______________________________________________
> sqlite-users mailing list
> sqlite-users at mailinglists.sqlite.org
> http://mailinglists.sqlite.org/cgi-bin/mailman/listinfo/sqlite-users
> 
>
>  



?

Reply via email to