Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-47

segfault in automated testing

    • Type: Icon: Task Task
    • Resolution: Done
    • WT1.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:

      Hi Keith,

      Please take a look into this segfault in automated testing:

      Reason: KERN_INVALID_ADDRESS at address: 0xfffffffffffffffc
      0x000000010002b89e in __wt_col_search (session=0x1008561a8, recno=0, flags=1) at col_srch.c:102
      102            cipdata = WT_COL_PTR(page, cip);
      (gdb) where
      #0  0x000000010002b89e in __wt_col_search (session=0x1008561a8, recno=0, flags=1) at col_srch.c:102
      WT-1  0x000000010002b054 in __col_update (session=0x1008561a8, recno=0, value=0x101000950, is_write=1) at col_put.c:68
      WT-2  0x000000010002afbc in __wt_btree_col_put (session=0x1008561a8, recno=0, value=0x101000950) at col_put.c:44
      WT-3  0x0000000100010e36 in __wt_btcur_insert (cbt=0x101000890) at bt_cursor.c:385
      WT-4  0x0000000100009502 in __curbtree_insert (cursor=0x101000890) at cur_btree.c:114
      WT-5  0x0000000100004366 in wts_bulk_load () at wts.c:208
      WT-6  0x0000000100002a9d in main (argc=0, argv=0x7fff5fbff008) at t.c:93
      (gdb) list 90
      85        /*
      86         * Copy the page's write generation value before reading anything on
      87         * the page.
      88         */
      89        write_gen = page->write_gen;
      90    
      91        /*
      92         * Search the leaf page.  We do not check in the search path for a
      93         * record greater than the maximum record in the tree; in that case,
      94         * we arrive here with a record that's impossibly large for the page.
      (gdb) 
      95         */
      96        switch (page->type) {
      97        case WT_PAGE_COL_FIX:
      98        case WT_PAGE_COL_VAR:
      99            if (recno >= page->u.col_leaf.recno + page->entries)
      100                goto notfound;
      101            cip = page->u.col_leaf.d + (recno - page->u.col_leaf.recno);
      102            cipdata = WT_COL_PTR(page, cip);
      103            break;
      104        case WT_PAGE_COL_RLE:
      (gdb) print recno
      $1 = 0
      (gdb) print page->u.col_leaf.recno
      $2 = 1
      (gdb) print page->entries
      $3 = 0
      

      Thanks,
      Michael.

            Assignee:
            keith.bostic@mongodb.com Keith Bostic (Inactive)
            Reporter:
            wiredtiger WiredTiger
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: