You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kudu.apache.org by "Mike Percy (JIRA)" <ji...@apache.org> on 2016/06/14 05:11:57 UTC

[jira] [Created] (KUDU-1485) Segfault in tablet lock manager

Mike Percy created KUDU-1485:
--------------------------------

             Summary: Segfault in tablet lock manager
                 Key: KUDU-1485
                 URL: https://issues.apache.org/jira/browse/KUDU-1485
             Project: Kudu
          Issue Type: Bug
          Components: tablet
    Affects Versions: 0.9.0
            Reporter: Mike Percy
            Priority: Critical


I hit a segfault while running ITBLL against a RELEASE build on master as of rev 1ead68156e455d9102ea7029fdeb16829bc8dbe1

{code}
Program terminated with signal 11, Segmentation fault.
#0  Release (this=0x219adcb0) at ../../src/kudu/tablet/lock_manager.cc:392
392       DCHECK_NOTNULL(lock)->holder_ = nullptr;

(gdb) bt
#0  Release (this=0x219adcb0) at ../../src/kudu/tablet/lock_manager.cc:392
#1  kudu::tablet::ScopedRowLock::Release (this=0x219adcb0) at ../../src/kudu/tablet/lock_manager.cc:309
#2  0x00000000008e16c0 in ReleaseRowLocks (this=0x1996a120, result=Unhandled dwarf expression opcode 0xf3
) at ../../src/kudu/tablet/transactions/write_transaction.cc:307
#3  kudu::tablet::WriteTransactionState::CommitOrAbort (this=0x1996a120, result=Unhandled dwarf expression opcode 0xf3
) at ../../src/kudu/tablet/transactions/write_transaction.cc:262
#4  0x00000000008e1838 in kudu::tablet::WriteTransaction::Finish (this=0x11997170, result=kudu::tablet::Transaction::ABORTED) at ../../src/kudu/tablet/transactions/write_transaction.cc:152
#5  0x00000000008d9897 in kudu::tablet::TransactionDriver::HandleFailure (this=0x217dad10, s=Unhandled dwarf expression opcode 0xf3
) at ../../src/kudu/tablet/transactions/transaction_driver.cc:254
#6  0x00000000008db184 in kudu::tablet::TransactionDriver::PrepareAndStartTask (this=0x217dad10) at ../../src/kudu/tablet/transactions/transaction_driver.cc:161
#7  0x000000000191dcfe in operator() (this=0x4ec9e00, permanent=false) at /usr/include/boost/function/function_template.hpp:1013
#8  Run (this=0x4ec9e00, permanent=false) at ../../src/kudu/util/threadpool.cc:48
#9  kudu::ThreadPool::DispatchThread (this=0x4ec9e00, permanent=false) at ../../src/kudu/util/threadpool.cc:343
#10 0x0000000001918aaa in operator() (arg=0x10a9f450) at /usr/include/boost/function/function_template.hpp:1013
#11 kudu::Thread::SuperviseThread (arg=0x10a9f450) at ../../src/kudu/util/thread.cc:586
#12 0x0000003e66e079d1 in start_thread () from /lib64/libpthread.so.0
#13 0x0000003e66ae88fd in clone () from /lib64/libc.so.6
(gdb) p this
$1 = (kudu::tablet::WriteTransactionState * const) 0x1996a120
(gdb) p *this
$2 = {<kudu::tablet::TransactionState> = {_vptr.TransactionState = 0x1a78b90, tx_metrics_ = {successful_inserts = 0, successful_upserts = 0, successful_updates = 0, successful_deletes = 0, commit_wait_duration_usec = 0}, tablet_peer_ = 0x5192c60, completion_clbk_ = {impl_ = {
        data_ = {<kudu::DefaultDeleter<kudu::tablet::TransactionCompletionCallback>> = {<No data fields>}, ptr = 0xf921980}}}, pool_ = {objects_ = std::vector of length 0, capacity 0, lock_ = {static LINKER_INITIALIZED = base::LINKER_INITIALIZED, lockword_ = 0}}, timestamp_ = {static kInitialTimestamp = {
        static kInitialTimestamp = <same as static member of an already seen type>, static kInvalidTimestamp = {static kInitialTimestamp = <same as static member of an already seen type>, static kInvalidTimestamp = <same as static member of an already seen type>, static kMax = {static kInitialTimestamp = <same as static member of an already seen type>,
            static kInvalidTimestamp = <same as static member of an already seen type>, static kMax = <same as static member of an already seen type>, static kMin = {static kInitialTimestamp = <same as static member of an already seen type>, static kInvalidTimestamp = <same as static member of an already seen type>,
              static kMax = <same as static member of an already seen type>, static kMin = <same as static member of an already seen type>, v = 0}, v = 18446744073709551615}, static kMin = <same as static member of an already seen type>, v = 18446744073709551614}, static kMax = <same as static member of an already seen type>,
        static kMin = <same as static member of an already seen type>, v = 1}, static kInvalidTimestamp = <same as static member of an already seen type>, static kMax = <same as static member of an already seen type>, static kMin = <same as static member of an already seen type>, v = 18446744073709551614}, timestamp_error_ = 0,
    arena_ = {<kudu::ArenaBase<false>> = {static kMinimumChunkSize = 16, buffer_allocator_ = 0x436dcd0, arena_ = std::vector of length 1, capacity 1 = {std::tuple containingTraceback (most recent call last):
  File "/usr/lib64/../share/gdb/python/libstdcxx/v6/printers.py", line 262, in children
    return self._iterator (self.val)
  File "/usr/lib64/../share/gdb/python/libstdcxx/v6/printers.py", line 220, in __init__
    raise "Top of tuple tree does not consist of a single node."
TypeError: exceptions must be old-style classes or derived from BaseException, not str
}, current_ = 0xe9b70c0, max_buffer_size_ = 4194304, arena_footprint_ = 1024, warned_ = false, component_lock_ = {<No data fields>}}, <No data fields>}, op_id_ = {<google::protobuf::Message> = {<google::protobuf::MessageLite> = {_vptr.MessageLite = 0x1fd5050}, <No data fields>}, static kTermFieldNumber = 1, static kIndexFieldNumber = 2, _unknown_fields_ = {
        fields_ = 0x0}, _has_bits_ = {0}, _cached_size_ = 0, term_ = 0, index_ = 0, static default_instance_ = 0x43886c0}, consensus_round_ = {ptr_ = 0x30d38ba0}, external_consistency_mode_ = kudu::CLIENT_PROPAGATED, txn_state_lock_ = {l_ = {static LINKER_INITIALIZED = base::LINKER_INITIALIZED, lockword_ = 0}}}, request_ = 0x12584580, response_ = 0x12584700,
  row_ops_ = std::vector of length 16, capacity 16 = {0x30bae540, 0x11947340, 0x219a0d20, 0x219a1e30, 0x219a08c0, 0x219a1110, 0x219a0d90, 0x219a01c0, 0x219a0a80, 0x219a1c00, 0x219a0930, 0x219a1ea0, 0x219a0f50, 0x219a05b0, 0x219a0b60, 0x219adc70}, mvcc_tx_ = {impl_ = {data_ = {<kudu::DefaultDeleter<kudu::tablet::ScopedTransaction>> = {<No data fields>},
        ptr = 0x0}}}, tablet_components_ = {ptr_ = 0x0}, schema_lock_ = {m_ = 0x4ef22c0}, schema_at_decode_time_ = 0x50521a0}
(gdb) p ls
No symbol "ls" in current context.
(gdb) f 0
#0  Release (this=0x219adcb0) at ../../src/kudu/tablet/lock_manager.cc:392
392     ../../src/kudu/tablet/lock_manager.cc: No such file or directory.
        in ../../src/kudu/tablet/lock_manager.cc
(gdb) p ls
$3 = 3
(gdb) p *lock
Cannot access memory at address 0x2629de5db738e7
(gdb) p lock
$4 = (kudu::tablet::LockEntry *) 0x2629de5db738e7
(gdb) p *this
$5 = {locks_ = 0x1}
(gdb) p locks_
$6 = (kudu::tablet::LockTable *) 0x1
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)