On Mon, 11 Oct 2004, D. Richard Hipp wrote:

>Christian Smith wrote:
>>
>> Just run the test suite on NetBSD/sparc64, and test pagesize-2.3000.7 died
>> with a SIGBUS. Full stack trace at bottom of mail[0].
>>
>> #0  0x0000000000108d80 in balance_nonroot (pPage=0x39dc10)
>>     at ../sqlite/src/btree.c:3045
>> 3045        p->aData = &((u8*)p)[-pBt->pageSize];
>> (gdb) print *p
>> $2 = {isInit = 70 'F', idxShift = 124 '|', nOverflow = 83 'S',
>>   intKey = 68 'D', leaf = 113 'q', zeroData = 51 '3', leafData = 86 'V',
>>   hasData = 46 '.', hdrOffset = 112 'p', childPtrSize = 118 'v',
>>   maxLocal = 12650, minLocal = 18531, cellOffset = 29040, idxParent = 15423,
>>   nFree = 26698, nCell = 22633, aOvfl = {{
>>       pCell = 0x767a74214679514a <Address 0x767a74214679514a out of bounds>,
>>       idx = 29743}, {pCell = 0x0, idx = 0}, {pCell = 0x0, idx = 0}, {
>>       pCell = 0x0, idx = 0}, {pCell = 0x0, idx = 0}}, pBt = 0x0, aData = 0x0,
>>   pgno = 0, pParent = 0x0}
>>
>
>What's does "print *pBt" say?  How about "print (u8*)p"?
>

(gdb) print *pBt
$2 = {pPager = 0x3ba000, pCursor = 0x2c9880, pPage1 = 0x318c10,
  inTrans = 2 '\002', inStmt = 1 '\001', readOnly = 0 '\0',
  maxEmbedFrac = 64 '@', minEmbedFrac = 32 ' ', minLeafFrac = 32 ' ',
  pageSizeFixed = 1 '\001', pageSize = 3000, usableSize = 3000,
  maxLocal = 726, minLocal = 351, maxLeaf = 2965, minLeaf = 351}
(gdb) print (u8*)p
$3 = (unsigned char *) 0x3ef834 "F|SDq3V.pv1jHcqp<?hJXiwNvzt!FyQJt/GQ"


Christian

-- 
    /"\
    \ /    ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
     X                           - AGAINST MS ATTACHMENTS
    / \

Reply via email to