On 09/04/2015 09:18 PM, Domingo Alvarez Duarte wrote:
> 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):

Extensions in the sense that the core SQLite code has been enhanced? Or 
extensions as in code that interacts with SQLite using only APIs that 
begin with "sqlite3_"?

If you run the app under valgrind are there any interesting errors or 
warnings?

>
> 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

It's tricky to interpret this. It seems likely that the pDef pointer in 
the last frame might be incorrect - or that might just be an artifact of 
optimization.

Thanks,
Dan.

Reply via email to