Crash in sqlite3fts5BufferAppendBlob

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view

Crash in sqlite3fts5BufferAppendBlob

This post was updated on .
 I am facing a crash in sqlite3fts5BufferAppendBlob. Following is the backtrace:

#0  sqlite3Fts5BufferAppendBlob (pRc=pRc@entry=0xf54139c8, pBuf=pBuf@entry=0xf5afeb90, nData=4294967295, pData=0xf49fff76 "90246ture") at sqlite3.c:180474

#1  0xf717b6f8 in fts5WriteAppendTerm (p=p@entry=0xf54139a8, pWriter=pWriter@entry=0xf5afeb84, nTerm=5, pTerm=0xf49fff70 "06280290246ture") at sqlite3.c:188868

#2  0xf717bf29 in fts5IndexMergeLevel (p=p@entry=0xf54139a8, ppStruct=ppStruct@entry=0xf5afec3c, iLvl=3, pnRem=0xf5afec38) at sqlite3.c:189176

#3  0xf717c16a in fts5IndexMerge (p=p@entry=0xf54139a8, ppStruct=ppStruct@entry=0xf5afecb8, nPg=320, nMin=4) at sqlite3.c:189281

#4  0xf717c7db in fts5IndexAutomerge (nLeaf=<optimized out>, ppStruct=0xf5afecb8, p=0xf54139a8) at sqlite3.c:189315

#5  fts5FlushOneHash (p=p@entry=0xf54139a8) at sqlite3.c:58446

#6  0xf717c898 in fts5IndexFlush (p=0xf54139a8) at sqlite3.c:189532

#7  sqlite3Fts5IndexSync (bCommit=1, p=0xf54139a8) at sqlite3.c:58978

#8  sqlite3Fts5StorageSync (p=<optimized out>, bCommit=bCommit@entry=1) at sqlite3.c:64166

#9  0xf717c9dd in fts5SyncMethod (pVtab=0xf5413af0) at sqlite3.c:192988

#10 0xf71522a6 in sqlite3VtabSync (p=0xf44d82d0, db=0xf5400470) at sqlite3.c:122594

#11 vdbeCommit (p=0xf44d82d0, db=0xf5400470) at sqlite3.c:6999

#12 sqlite3VdbeHalt (p=p@entry=0xf44d82d0) at sqlite3.c:7465

#13 0xf7158986 in sqlite3VdbeExec (p=p@entry=0xf44d82d0) at sqlite3.c:80179

#14 0xf715de0b in sqlite3Step (p=0xf44d82d0) at sqlite3.c:75546#15 sqlite3_step (pStmt=0xf44d82d0) at sqlite3.c:10071

If you notice in frame #0, the nData passed is 0xffffffff which is -1. It was calculated to be -1 in frame #1 where it did nTerm - nPrefix. The nPrefix value came out to be 6 and nTerm was 5. I want to know what wrong parameters I am passing that this nPrefix became > nTerm ? Also, there is an apparent bug in sqlite3fts5BufferAppendBlob where it is asserting for check on nData < 0 but nData is actually u32. Can someone throw a light please ? I am using version

Nikhil Bhandari
sqlite-users mailing list
Reply | Threaded
Open this post in threaded view

Re: Crash in sqlite3fts5BufferAppendBlob

Please help as to what parameters could have gone wrong when I see the crash

#0  sqlite3Fts5BufferAppendBlob (pRc=pRc@entry=0xf54139c8,
pBuf=pBuf@entry=0xf5afeb90, nData=*4294967295*, pData=0xf49fff76
"90246ture") at sqlite3.c:180474

#1  0xf717b6f8 in fts5WriteAppendTerm (p=p@entry=0xf54139a8,
pWriter=pWriter@entry=0xf5afeb84, nTerm=5, pTerm=0xf49fff70
"06280290246ture") at sqlite3.c:188868

The nData became negative and a big value because it is u32. I t became
negative in frame #1 which did nTerm - nPrefix, nTerm =5 and nPrefix turned
out to be 6. Can anyone help as to how this can happen and what this means ?

Sent from:
sqlite-users mailing list
[hidden email]