[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: RE24 testing call#3 (OpenLDAP 2.4.32)



Aaron Richton wrote:
> On Mon, 30 Jul 2012, Howard Chu wrote:
> 
>> Most likely you need to do a make clean first.
> 
> I threw that into my build process just for kicks, but my builds always 
> start with a rm -Rf and fresh untar as step 0, so it'd have to be un-clean 
> in git itself. I'm not sure that's what's going on here:

Strange. make test is clean for me on Solaris 10 / Sparc 64 and sparc 32.

I get:
50183fbc mdb_db_open: database "o=OpenLDAP Project,l=Internet":
dbenv_open(/export/home/hyc/OD/o24_64/tests/testrun/db.1.a).
mdb_env_open2:2435 new mdbenv
mdb_env_init_meta:2224 writing new meta page
mdb_env_open2:2505 opened database version 1, pagesize 8192
mdb_env_open2:2506 using meta page 0
mdb_env_open2:2507 depth: 0
mdb_env_open2:2508 entries: 0
mdb_env_open2:2509 branch pages: 0
mdb_env_open2:2510 leaf pages: 0
mdb_env_open2:2511 overflow pages: 0
mdb_env_open2:2512 root: 18446744073709551615
mdb_env_open:3041 opened dbenv 1006ae4b0
mdb_txn_begin:1676 begin txn 1w 1008afd80 on mdbenv 1006ae4b0, root page
18446744073709551615
mdb_page_search:3526 tree is empty
mdb_cursor_put:4237 ==> put db 1 key [61643269], size 4, data size 48
mdb_cursor_put:4248 allocating new root leaf page
mdb_page_new:4657 allocated new mpage 2, page size 8192
mdb_cursor_push:3352 pushing page 2 on db 1 cursor ffffffff7ffff3e0
mdb_cursor_put:4483 inserting key at index 0
mdb_node_add:4758 add to leaf page 2 index 0, data size 48 key size 4 [61643269]
mdb_page_search:3540 db 1 root page 2 has flags 0x12
mdb_page_search_root:3469 found leaf page 2 for key [646e3269]
mdb_node_search:3237 searching 1 keys in leaf page 2
mdb_node_search:3285 found leaf index 0 [61643269], rc = 3
mdb_cursor_put:4237 ==> put db 1 key [646e3269], size 4, data size 48
mdb_page_search:3540 db 1 root page 2 has flags 0x12
mdb_page_search_root:3469 found leaf page 2 for key [646e3269]
mdb_node_search:3237 searching 1 keys in leaf page 2
mdb_node_search:3285 found leaf index 0 [61643269], rc = 3
mdb_cursor_put:4483 inserting key at index 1
mdb_node_add:4758 add to leaf page 2 index 1, data size 48 key size 4 [646e3269]
mdb_page_search:3540 db 1 root page 2 has flags 0x12
mdb_page_search_root:3469 found leaf page 2 for key [69643265]
mdb_node_search:3237 searching 2 keys in leaf page 2
mdb_node_search:3285 found leaf index 0 [61643269], rc = 8
mdb_node_search:3285 found leaf index 1 [646e3269], rc = 5
mdb_cursor_put:4237 ==> put db 1 key [69643265], size 4, data size 48
mdb_page_search:3540 db 1 root page 2 has flags 0x12
mdb_page_search_root:3469 found leaf page 2 for key [69643265]
mdb_node_search:3237 searching 2 keys in leaf page 2
mdb_node_search:3285 found leaf index 0 [61643269], rc = 8
mdb_node_search:3285 found leaf index 1 [646e3269], rc = 5
mdb_cursor_put:4483 inserting key at index 2
mdb_node_add:4758 add to leaf page 2 index 2, data size 48 key size 4 [69643265]
mdb_page_search:3526 tree is empty

Breakpoint 2, mdb_ad_read (mdb=0x10046ebc0, txn=0x1008afd80)
    at ../../../../r24/servers/slapd/back-mdb/attr.c:551
551             while ( rc == MDB_SUCCESS ) {
(gdb)

When you get into mdb_page_search just before this crash, break at line 549 and
  print *mc
  print *mc->mc_db

I get
Breakpoint 3, mdb_ad_read (mdb=0x10046f9c0, txn=0x1008b0b80)
    at ../../../../r24/servers/slapd/back-mdb/attr.c:549
549             rc = mdb_cursor_get( mc, &key, &data, MDB_SET );
(gdb) p *mc
$3 = {mc_next = 0x0, mc_orig = 0x0, mc_xcursor = 0x0, mc_txn = 0x1008b0b80,
mc_dbi = 2,
  mc_db = 0x1008b0c48, mc_dbx = 0x1008af3d0, mc_dbflag = 0x1008b27ea
"\001\001\001", mc_snum = 0,
  mc_top = 0, mc_flags = 16, mc_pg = {0x0, 0x5920696e74656765,
0x724d617463682053,
    0x594e54415820312e, 0x332e362e312e342e, 0x312e313436362e31,
0x31352e3132312e31,
    0x2e32372053494e47, 0x4c452d56414c5545, 0x1006a63b0, 0x1006a68f0, 0x80,
0x1006a69e0,
    0x7b387d2820312e33, 0x2e362e312e342e31, 0x2e34322e322e3237,
0x2e382e312e39204e,
    0x414d452027707764, 0x4c6f636b6f757427, 0x20455155414c4954,
0x5920626f6f6c6561,
    0x6e4d617463682053, 0x594e54415820312e, 0x332e362e312e342e,
0x312e313436362e31,
    0x31352e3132312e31, 0x2e372053494e474c, 0x1006a63b0, 0x29000001006a7040,
0x90, 0x1006a7140,
    0x7b397d2820312e33}, mc_ki = {11830, 11825, 11828, 11825, 11828, 12846,
12846, 12855, 11832,
    11825, 11825, 12320, 20033, 19781, 8231, 28791, 25676, 28515, 27503,
30068, 17525, 29281,
    29801, 28526, 10016, 17745, 21825, 19529, 21593, 8297, 28276, 25959}}
(gdb) p *mc->mc_db
$4 = {md_pad = 0, md_flags = 8, md_depth = 0, md_branch_pages = 0,
md_leaf_pages = 0,
  md_overflow_pages = 0, md_entries = 0, md_root = 18446744073709551615}
(gdb)

The value of mc->mc_db.md_root should be as shown.

> mdb_env_open2:2435 new mdbenv
> mdb_env_init_meta:2224 writing new meta page
> mdb_env_open2:2505 opened database version 1, pagesize 8192
> mdb_env_open2:2506 using meta page 0
> mdb_env_open2:2507 depth: 0
> mdb_env_open2:2508 entries: 0
> mdb_env_open2:2509 branch pages: 0
> mdb_env_open2:2510 leaf pages: 0
> mdb_env_open2:2511 overflow pages: 0
> mdb_env_open2:2512 root: 18446744073709551615
> mdb_env_open:3041 opened dbenv 100915280
> mdb_txn_begin:1676 begin txn 1w 100b16bb0 on mdbenv 100915280, root page 18446744073709551615
> mdb_page_search:3526 tree is empty
> mdb_cursor_put:4237 ==> put db 1 key [61643269], size 4, data size 48
> mdb_cursor_put:4248 allocating new root leaf page
> mdb_page_new:4657 allocated new mpage 2, page size 8192
> mdb_cursor_push:3352 pushing page 2 on db 1 cursor ffffffff7fffebd8
> mdb_cursor_put:4483 inserting key at index 0
> mdb_node_add:4758 add to leaf page 2 index 0, data size 48 key size 4 [61643269]
> mdb_page_search:3540 db 1 root page 2 has flags 0x12
> mdb_page_search_root:3469 found leaf page 2 for key [646e3269]
> mdb_node_search:3237 searching 1 keys in leaf page 2
> mdb_node_search:3285 found leaf index 0 [61643269], rc = 3
> mdb_cursor_put:4237 ==> put db 1 key [646e3269], size 4, data size 48
> mdb_page_search:3540 db 1 root page 2 has flags 0x12
> mdb_page_search_root:3469 found leaf page 2 for key [646e3269]
> mdb_node_search:3237 searching 1 keys in leaf page 2
> mdb_node_search:3285 found leaf index 0 [61643269], rc = 3
> mdb_cursor_put:4483 inserting key at index 1
> mdb_node_add:4758 add to leaf page 2 index 1, data size 48 key size 4 [646e3269]
> mdb_page_search:3540 db 1 root page 2 has flags 0x12
> mdb_page_search_root:3469 found leaf page 2 for key [69643265]
> mdb_node_search:3237 searching 2 keys in leaf page 2
> mdb_node_search:3285 found leaf index 0 [61643269], rc = 8
> mdb_node_search:3285 found leaf index 1 [646e3269], rc = 5
> mdb_cursor_put:4237 ==> put db 1 key [69643265], size 4, data size 48
> mdb_page_search:3540 db 1 root page 2 has flags 0x12
> mdb_page_search_root:3469 found leaf page 2 for key [69643265]
> mdb_node_search:3237 searching 2 keys in leaf page 2
> mdb_node_search:3285 found leaf index 0 [61643269], rc = 8
> mdb_node_search:3285 found leaf index 1 [646e3269], rc = 5
> mdb_cursor_put:4483 inserting key at index 2
> mdb_node_add:4758 add to leaf page 2 index 2, data size 48 key size 4 [69643265]
> mdb_page_get:3390 page 8589934594 not found
> Assertion failed: p != NULL, file ./../../../libraries/libmdb/mdb.c, line 3391
> 
> 
> 
>>> Assertion failed: p != NULL, file ./../../../libraries/libmdb/mdb.c, line 3391
>>>
>>> current thread: t@1
>>>    [1] __lwp_kill(0x0, 0x6, 0xffffffffffffffe6, 0x0, 0x0, 0x0), at 0x7fffffff7f8a900c
>>>    [2] raise(0x6, 0x0, 0xffffffff7fffe180, 0x0, 0x0, 0x0), at 0x7fffffff7f859150
>>>    [3] abort(0x4f, 0x0, 0x4f, 0x7efefeff, 0x81010100, 0xff00), at 0x7fffffff7f83eac8
>>>    [4] __assert(0x10034bd88, 0x10034bd98, 0xd3f, 0x100909480, 0x100909480, 0x64), at 0x7fffffff7f83edcc
>>> =>[5] mdb_page_get(txn = 0x100b10dc0, pgno = 8589934594U, ret = 0x1009094d8), line 3391 in "mdb.c"
>>>    [6] mdb_page_search(mc = 0x100909490, key = 0xffffffff7fffead8, flags = 0), line 3533 in "mdb.c"
>>>    [7] mdb_cursor_set(mc = 0x100909490, key = 0xffffffff7fffead8, data = 0xffffffff7fffeac8, op = MDB_SET, exactp = 0xffffffff7fffe9c8), line 3906 in "mdb.c"
>>>    [8] mdb_cursor_get(mc = 0x100909490, key = 0xffffffff7fffead8, data = 0xffffffff7fffeac8, op = MDB_SET), line 4100 in "mdb.c"
>>>    [9] mdb_ad_read(mdb = 0x1006b3730, txn = 0x100b10dc0), line 549 in "attr.c"
>>>    [10] mdb_db_open(be = 0x100694ff0, cr = 0xffffffff7fffee4c), line 231 in "init.c"
>>>    [11] backend_startup_one(be = 0x100694ff0, cr = 0xffffffff7fffee4c), line 224 in "backend.c"
>>>    [12] backend_startup(be = 0x100694ff0), line 325 in "backend.c"
>>>    [13] slap_startup(be = (nil)), line 219 in "init.c"
>>>    [14] main(argc = 8, argv = 0xffffffff7ffff298), line 991 in "main.c"
>>
>> --
>>  -- Howard Chu
>>  CTO, Symas Corp.           http://www.symas.com
>>  Director, Highland Sun     http://highlandsun.com/hyc/
>>  Chief Architect, OpenLDAP  http://www.openldap.org/project/
>>
>>
> 


-- 
  -- Howard Chu
  CTO, Symas Corp.           http://www.symas.com
  Director, Highland Sun     http://highlandsun.com/hyc/
  Chief Architect, OpenLDAP  http://www.openldap.org/project/