Hi,

I'm not exactly sure this is the right forum for my problem, as I know that 
LSM is experimental, but here we go.

I tried loading a whole lot of data using LSM. The majority of the data goes 
int a single huge transaction (begin/commit pair). My program segfaults once 
we're 1.61GB into my data file.

I have attached the source code to my test program. You also will need my data 
file, which is too big for email:

http://www.derkarl.org/~charles/lsmlog.bz2 (744 MiB)

Here is how you can run my test program:

bunzip2 < lsmlog.bz2 | pv | ./a.out lsmdbtocreate

(You can exclude "pv" from the pipeline if you don't have it installed)

Here is the backtrace:

treeShmalloc (pDb=pDb@entry=0x12b20a8, bAlign=bAlign@entry=1, 
nByte=nByte@entry=12, pRc=pRc@entry=0x7fff2fd43f44)
    at src/lsm_tree.c:682
682             pNext->iNext = 0;
(gdb) bt
#0  treeShmalloc (pDb=pDb@entry=0x12b20a8, bAlign=bAlign@entry=1, 
nByte=nByte@entry=12, pRc=pRc@entry=0x7fff2fd43f44)
    at src/lsm_tree.c:682
#1  0x000000000041122d in treeShmallocZero (pDb=pDb@entry=0x12b20a8, 
nByte=nByte@entry=12, piPtr=piPtr@entry=0x7fff2fd43f4c, 
    pRc=pRc@entry=0x7fff2fd43f44) at src/lsm_tree.c:711
#2  0x0000000000413114 in newTreeLeaf (pRc=0x7fff2fd43f44, 
piPtr=0x7fff2fd43f4c, 
pDb=0x12b20a8) at src/lsm_tree.c:726
#3  treeInsertLeaf (iSlot=1, iTreeKey=2146172860, pCsr=0x7fff2fd43f50, 
pDb=0x12b20a8) at src/lsm_tree.c:1039
#4  treeInsertEntry (pDb=pDb@entry=0x12b20a8, flags=8, 
pKey=pKey@entry=0x12b2058, nKey=nKey@entry=17, pVal=<optimized out>, 
    pVal@entry=0x12bb638, nVal=21) at src/lsm_tree.c:1552
#5  0x000000000041329f in lsmTreeInsert (pDb=pDb@entry=0x12b20a8, 
pKey=pKey@entry=0x12b2058, nKey=nKey@entry=17, 
    pVal=pVal@entry=0x12bb638, nVal=<optimized out>) at src/lsm_tree.c:1587
#6  0x0000000000404db0 in doWriteOp (pDb=0x12b20a8, bDeleteRange=<optimized 
out>, pKey=0x12b2058, nKey=17, pVal=0x12bb638, 
    nVal=<optimized out>) at src/lsm_main.c:696
#7  0x000000000040305d in main (argc=2, argv=0x7fff2fd44418) at runlsm.cpp:41
(gdb) print pNext
$1 = (ShmChunk *) 0xffffffffffffffff



It's a pity that LSM isn't ready for production, because if the quality of 
sqlite3 is indication, I'm going to really enjoy using it!

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

Reply via email to