Uploaded image for project: 'Kudu'
  1. Kudu
  2. KUDU-400

cbtree-test failure: pointer used most significant bit

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Cannot Reproduce
    • M4.5
    • n/a
    • tablet
    • None

    Description

      Ran into this while running through TSAN tests. Been trying to repro it since, successfully did so once. The only difference in the test output the second time around was the lack of "Check failed..."; everything else was the same.

      [==========] Running 15 tests from 1 test case.
      [----------] Global test environment set-up.
      [----------] 15 tests from TestCBTree
      [ RUN      ] TestCBTree.TestNodeSizes
      [       OK ] TestCBTree.TestNodeSizes (3 ms)
      [ RUN      ] TestCBTree.TestLeafNode
      [       OK ] TestCBTree.TestLeafNode (1 ms)
      [ RUN      ] TestCBTree.TestLeafNodeBigKVs
      [       OK ] TestCBTree.TestLeafNodeBigKVs (1 ms)
      [ RUN      ] TestCBTree.TestInsertAndVerify
      [       OK ] TestCBTree.TestInsertAndVerify (3503 ms)
      [ RUN      ] TestCBTree.TestUpdate
      [       OK ] TestCBTree.TestUpdate (8 ms)
      [ RUN      ] TestCBTree.TestInsertAndVerifyRandom
      [       OK ] TestCBTree.TestInsertAndVerifyRandom (179 ms)
      [ RUN      ] TestCBTree.TestVersionLockSimple
      [       OK ] TestCBTree.TestVersionLockSimple (0 ms)
      [ RUN      ] TestCBTree.TestVersionLockConcurrent
      [       OK ] TestCBTree.TestVersionLockConcurrent (223 ms)
      [ RUN      ] TestCBTree.TestConcurrentInsert
      WARNING: Logging before InitGoogleLogging() is written to STDERR
      F0715 15:24:21.590517 44200 concurrent_btree.h:408] Check failed: !(p_int & kDiscriminatorBit) Pointer must not use most significant bit
      

      What's weird is that the stacktrace that followed came from a SIGSEGV, not a SIGABRT:

      *** Aborted at 1405463061 (unix time) try "date -d @1405463061" if you are using GNU date ***
      *** Check failure stack trace: ***
      PC: @     0x7f29556882ed __tsan_atomic64_load
      *** SIGSEGV (@0x18000001) received by PID 44174 (TID 0x7f294fffec40) from PID 402653185; stack trace: ***
          @     0x7f2955657114 rtl_sigaction() at ??:0
          @     0x7f2954876340 (unknown) at ??:0
          @     0x7f29556882ed __tsan_atomic64_load at ??:0
          @     0x7f29556c9b36 base::subtle::Acquire_Load() at ??:0
          @     0x7f29556c9a43 kudu::tablet::btree::VersionField::StableVersion() at ??:0
          @     0x7f29556ea5f1 kudu::tablet::btree::NodeBase<>::StableVersion() at ??:0
          @     0x7f29556ee599 kudu::tablet::btree::CBTree<>::StableRoot() at ??:0
          @     0x7f29556edaec kudu::tablet::btree::CBTree<>::TraverseToLeaf() at ??:0
          @     0x7f295570412b kudu::tablet::btree::CBTree<>::PrepareMutation() at ??:0
          @     0x7f29556c09ed kudu::tablet::btree::PreparedMutation<>::Prepare() at ??:0
          @     0x7f29556bf521 kudu::tablet::btree::CBTree<>::Insert() at ??:0
          @     0x7f29556f38e3 kudu::tablet::btree::InsertRange<>() at ??:0
          @     0x7f29556c3cfb kudu::tablet::btree::InsertAndVerify<>() at ??:0
          @     0x7f29556f2c45 boost::_bi::list5<>::operator()<>() at ??:0
          @     0x7f29556f2a18 boost::_bi::bind_t<>::operator()() at ??:0
          @     0x7f29556f299a boost::detail::thread_data<>::run() at ??:0
          @     0x7f2954c93a4a (unknown) at ??:0
          @     0x7f295564c3d5 __tsan_thread_start_func at ??:0
          @     0x7f295486e182 start_thread at ??:0
          @     0x7f295358d30d (unknown) at ??:0
          @                0x0 (unknown)
      

      I've attached the full test output. It has a bunch of warnings from TSAN about signal-unsafe calls inside the signal handler which I think can be ignored.

      Attachments

        1. cbtree-test.txt
          43 kB
          Adar Dembo

        Activity

          People

            Unassigned Unassigned
            adar Adar Dembo
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: