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

segfault when dereferencing NULL addr while reconciling

    • v4.4

      A lot of test failures with the durable history patch test (MongoDB master plus develop) hit the following seg-fault:

      (gdb) bt
      #0  __wt_rec_cell_build_addr (recno=0, proxy_cell=<optimised out>, addr=0x0, r=0x55e608e10800, session=0x55e6040e7f80) at src/third_party/wiredtiger/src/include/reconcile.i:165
      #1  __wt_rec_row_int (session=session@entry=0x55e6040e7f80, r=r@entry=0x55e608e10800, page=page@entry=0x55e608cf95a0) at src/third_party/wiredtiger/src/reconcile/rec_row.c:436
      #2  0x000055e5ff87377f in __reconcile (page_lockedp=<synthetic pointer>, flags=5, salvage=0x0, ref=0x55e608c13558, session=0x55e6040e7f80) at src/third_party/wiredtiger/src/reconcile/rec_write.c:173
      #3  __wt_reconcile (session=session@entry=0x55e6040e7f80, ref=0x55e608c13558, salvage=salvage@entry=0x0, flags=flags@entry=5) at src/third_party/wiredtiger/src/reconcile/rec_write.c:87
      #4  0x000055e5ff9001b2 in __wt_sync_file (session=session@entry=0x55e6040e7f80, syncop=syncop@entry=WT_SYNC_CHECKPOINT) at src/third_party/wiredtiger/src/btree/bt_sync.c:559
      #5  0x000055e5ff8a3e24 in __checkpoint_tree (session=session@entry=0x55e6040e7f80, is_checkpoint=is_checkpoint@entry=true, cfg=0x7fbbba1e9620) at src/third_party/wiredtiger/src/txn/txn_ckpt.c:1610
      #6  0x000055e5ff8a594d in __checkpoint_tree_helper (cfg=0x7fbbba1e9620, session=0x55e6040e7f80) at src/third_party/wiredtiger/src/txn/txn_ckpt.c:1718
      #7  __checkpoint_apply_to_dhandles (op=<optimised out>, cfg=<optimised out>, session=<optimised out>) at src/third_party/wiredtiger/src/txn/txn_ckpt.c:199
      #8  __txn_checkpoint (cfg=<optimised out>, session=0x55e6040e7f80) at src/third_party/wiredtiger/src/txn/txn_ckpt.c:864
      #9  __txn_checkpoint_wrapper (session=0x55e6040e7f80, cfg=<optimised out>) at src/third_party/wiredtiger/src/txn/txn_ckpt.c:1076
      #10 0x000055e5ff8a7079 in __wt_txn_checkpoint (session=session@entry=0x55e6040e7f80, cfg=cfg@entry=0x7fbbba1e9620, waiting=waiting@entry=true) at src/third_party/wiredtiger/src/txn/txn_ckpt.c:1133
      #11 0x000055e5ff0ac680 in __session_checkpoint (wt_session=0x55e6040e7f80, config=<optimised out>) at src/third_party/wiredtiger/src/session/session_api.c:1971
      #12 0x000055e5ff7ddcbe in mongo::WiredTigerKVEngine::WiredTigerCheckpointThread::run (this=0x55e603f60980) at src/mongo/db/storage/wiredtiger/wiredtiger_kv_engine.cpp:511
      (gdb) f 0
      #0  __wt_rec_cell_build_addr (recno=0, proxy_cell=<optimised out>, addr=0x0, r=0x55e608e10800, session=0x55e6040e7f80) at src/third_party/wiredtiger/src/include/reconcile.i:165
      165             switch (addr->type) {
      (gdb) p addr
      $2 = (WT_ADDR *) 0x0
      

      I thought this would be fixed by WT-5593, but it hasn't.

            Assignee:
            michael.cahill@mongodb.com Michael Cahill (Inactive)
            Reporter:
            sulabh.mahajan@mongodb.com Sulabh Mahajan
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: