Details
-
Bug
-
Resolution: Fixed
-
Critical
-
Elixir
-
7.2.0-1701
-
Untriaged
-
Centos 64-bit
-
1
-
Unknown
Description
STEPS TO RECREATE:
- Create a 4 node cluster
- Create a magma bucket (bucket_ram_quota = 1024 MB,)
- Create 10 million items(item size = 1024 bytes, durability=MAJORITY)
- Start new doc ops (Create:delete)
- During doc ops, keep restarting memcached (service couchbase-server restart)
- Observed CRITICAL Caught unhandled std::exception-derived exception. what(): GSL: Precondition failure: 'state == State::Immutable'
(Observed on node 172.23.106.216)
+BackTrace: +
#0 0x00007f4b21969337 in raise () from /lib64/libc.so.6
|
Missing separate debuginfos, use: debuginfo-install glibc-2.17-292.el7.x86_64
|
(gdb) bt full
|
#0 0x00007f4b21969337 in raise () from /lib64/libc.so.6
|
No symbol table info available.
|
#1 0x00007f4b2196aa28 in abort () from /lib64/libc.so.6
|
No symbol table info available.
|
#2 0x00007f4b222b463c in __gnu_cxx::__verbose_terminate_handler () at /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/libsupc++/vterminate.cc:95
|
terminating = false
|
t = <optimized out>
|
#3 0x0000000000b1dc26 in backtrace_terminate_handler() ()
|
at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/utilities/terminate_handler.cc:88
|
No locals.
|
#4 0x00007f4b222bf8f6 in __cxxabiv1::__terminate(void (*)()) () at /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/libsupc++/eh_terminate.cc:48
|
No locals.
|
#5 0x00007f4b222be9d9 in __cxa_call_terminate (ue_header=ue_header@entry=0x1c7ac20)
|
at /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/libsupc++/eh_call.cc:54
|
xh = 0x1c7abd0
|
#6 0x00007f4b222bf311 in __gxx_personality_v0 () at /tmp/deploy/objdir/../gcc-10.2.0/libstdc++-v3/libsupc++/eh_personality.cc:685
|
found_type = <optimized out>
|
info = {Start = 140730018193536, LPStart = 139960666619208, ttype_base = 0, TType = 0x7ffe42be6028 "\030)\347", action_table = 0x0,
|
ttype_encoding = 24 '\030', call_site_encoding = 41 ')'}
|
language_specific_data = <optimized out>
|
action_record = <optimized out>
|
p = <optimized out>
|
landing_pad = <optimized out>
|
ip = <optimized out>
|
handler_switch_value = <optimized out>
|
thrown_ptr = 0x0
|
foreign_exception = <optimized out>
|
ip_before_insn = 0
|
xh = 0x1c7abd0
|
#7 0x00007f4b21d10ebf in _Unwind_RaiseException_Phase2 () at /tmp/deploy/objdir/../gcc-10.2.0/libgcc/unwind.inc:64
|
fs = {regs = {reg = {{loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0},
|
how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 18446744073709551560, offset = -56,
|
exp = 0xffffffffffffffc8 <Address 0xffffffffffffffc8 out of bounds>}, how = REG_SAVED_OFFSET}, {loc = {reg = 0, offset = 0,
|
exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 18446744073709551600,
|
offset = -16, exp = 0xfffffffffffffff0 <Address 0xfffffffffffffff0 out of bounds>}, how = REG_SAVED_OFFSET}, {loc = {reg = 0,
|
offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0,
|
offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0, offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 0,
|
offset = 0, exp = 0x0}, how = REG_UNSAVED}, {loc = {reg = 18446744073709551568, offset = -48,
|
exp = 0xffffffffffffffd0 <Address 0xffffffffffffffd0 out of bounds>}, how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551576,
|
---Type <return> to continue, or q <return> to quit---
|
offset = -40, exp = 0xffffffffffffffd8 <Address 0xffffffffffffffd8 out of bounds>}, how = REG_SAVED_OFFSET}, {loc = {
|
reg = 18446744073709551584, offset = -32, exp = 0xffffffffffffffe0 <Address 0xffffffffffffffe0 out of bounds>},
|
how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551592, offset = -24,
|
exp = 0xffffffffffffffe8 <Address 0xffffffffffffffe8 out of bounds>}, how = REG_SAVED_OFFSET}, {loc = {reg = 18446744073709551608,
|
offset = -8, exp = 0xfffffffffffffff8 <Address 0xfffffffffffffff8 out of bounds>}, how = REG_SAVED_OFFSET}, {loc = {reg = 0,
|
offset = 0, exp = 0x0}, how = REG_UNSAVED}}, prev = 0x0, cfa_offset = 16, cfa_reg = 6, cfa_exp = 0x0, cfa_how = CFA_REG_OFFSET},
|
pc = 0x5b3dd3
|
<BucketManager::destroy(Cookie*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)+3475>,
|
personality = 0x447160 <__gxx_personality_v0@plt>, data_align = -8, code_align = 1, retaddr_column = 16, fde_encoding = 27 '\033',
|
lsda_encoding = 3 '\003', saw_z = 1 '\001', signal_frame = 0 '\000', eh_ptr = 0x0}
|
match_handler = 4
|
code = _URC_NO_REASON
|
frames = 2
|
#8 0x00007f4b21d11866 in _Unwind_Resume () at /tmp/deploy/objdir/../gcc-10.2.0/libgcc/unwind.inc:241
|
this_context = {reg = {0x7ffe42be6438, 0x7ffe42be6440, 0x0, 0x7ffe42be6448, 0x0, 0x0, 0x7ffe42be6470, 0x0, 0x0, 0x0, 0x0, 0x0,
|
0x7ffe42be6450, 0x7ffe42be6458, 0x7ffe42be6460, 0x7ffe42be6468, 0x7ffe42be6478, 0x0}, cfa = 0x7ffe42be6480, ra = 0x478375, lsda = 0x0,
|
bases = {tbase = 0x0, dbase = 0x0, func = 0x7f4b21d11740 <_Unwind_Resume>}, flags = 4611686018427387904, version = 0, args_size = 0,
|
by_value = '\000' <repeats 17 times>}
|
cur_context = {reg = {0x7ffe42be6438, 0x7ffe42be6440, 0x0, 0x7ffe42be6488, 0x0, 0x0, 0x7ffe42be6490, 0x0, 0x0, 0x0, 0x0, 0x0, 0x7ffe42be6450,
|
0x7ffe42be6458, 0x7ffe42be6460, 0x7ffe42be6468, 0x7ffe42be6498, 0x0}, cfa = 0x7ffe42be64a0,
|
ra = 0x5b3d46 <BucketManager::destroy(Cookie*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)+3334>, lsda = 0xe72918, bases = {tbase = 0x0, dbase = 0x0,
|
func = 0x5b3040 <BucketManager::destroy(Cookie*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool)>}, flags = 4611686018427387904, version = 0, args_size = 0, by_value = '\000' <repeats 17 times>}
|
code = <optimized out>
|
frames = 140730018194408
|
#9 0x0000000000478375 in operator() (this=<optimized out>)
|
at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/engines/ep/src/ep_engine.cc:104
|
No locals.
|
#10 ~unique_ptr (this=<optimized out>, __in_chrg=<optimized out>) at /opt/gcc-10.2.0/include/c++/10.2.0/bits/unique_ptr.h:361
|
__ptr = <synthetic pointer>
|
#11 EventuallyPersistentEngine::destroy (this=<optimized out>, force=<optimized out>)
|
at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/engines/ep/src/ep_engine.cc:208
|
eng = <optimized out>
|
#12 0x00000000005b3d46 in operator() (engine=<optimized out>, this=<optimized out>)
|
at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/include/memcached/engine.h:847
|
No locals.
|
#13 reset (__p=0x0, this=<optimized out>) at /opt/gcc-10.2.0/include/c++/10.2.0/bits/unique_ptr.h:182
|
__old_p = <optimized out>
|
---Type <return> to continue, or q <return> to quit---
|
#14 reset (__p=0x0, this=<optimized out>) at /opt/gcc-10.2.0/include/c++/10.2.0/bits/unique_ptr.h:456
|
No locals.
|
#15 destroyEngine (force=false, this=<optimized out>) at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/daemon/buckets.cc:163
|
No locals.
|
#16 BucketManager::destroy(Cookie*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, bool) ()
|
at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/daemon/buckets.cc:644
|
ret = <optimized out>
|
all_bucket_lock = {_M_device = 0x11a88c0 <buckets_lock>, _M_owns = false}
|
connection = <optimized out>
|
connection_id = {static npos = 18446744073709551615,
|
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
|
_M_p = 0x7ffe42be65f0 "<none>"}, _M_string_length = 6, {_M_local_buf = "<none>\000>\000\000\000\000\000\000\000",
|
_M_allocated_capacity = 4467639435716947516}}
|
idx = <optimized out>
|
num = <optimized out>
|
counter = <optimized out>
|
#17 0x00000000005b4760 in BucketManager::destroyAll() () at /opt/gcc-10.2.0/include/c++/10.2.0/bits/char_traits.h:322
|
name = {static npos = 18446744073709551615,
|
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
|
_M_p = 0x7ffe42be69c0 "default"}, _M_string_length = 7, {_M_local_buf = "default\000\000\207\n\221 \362\005\027",
|
_M_allocated_capacity = 32770348699510116}}
|
#18 0x000000000054a8cc in memcached_main(int, char**) () at /home/couchbase/jenkins/workspace/couchbase-server-unix/kv_engine/daemon/memcached.cc:1065
|
numa_status = {static npos = 18446744073709551615,
|
_M_dataplus = {<std::allocator<char>> = {<__gnu_cxx::new_allocator<char>> = {<No data fields>}, <No data fields>},
|
_M_p = 0x7f4b207ab800 <Address 0x7f4b207ab800 out of bounds>}, _M_string_length = 44, {_M_local_buf = ",", '\000' <repeats 14 times>,
|
_M_allocated_capacity = 44}}
|
parent_monitor = {_M_t = {<std::__uniq_ptr_impl<ProcessMonitor, std::default_delete<ProcessMonitor> >> = {
|
_M_t = {<std::_Tuple_impl<0, ProcessMonitor*, std::default_delete<ProcessMonitor> >> = {<std::_Tuple_impl<1, std::default_delete<ProcessMonitor> >> = {<std::_Head_base<1, std::default_delete<ProcessMonitor>, true>> = {<std::default_delete<ProcessMonitor>> = {<No data fields>}, <No data fields>}, <No data fields>}, <std::_Head_base<0, ProcessMonitor*, false>> = {
|
_M_head_impl = 0x0}, <No data fields>}, <No data fields>}}, <No data fields>}}
|
fineClock = {overhead = {__r = 906}, measurementPeriod = {__r = 1}}
|
coarseClock = {overhead = {__r = 15}, measurementPeriod = {__r = 1}}
|
phosphor_internal_category_enabled_1028 = {_M_b = {_M_p = 0x0}, static is_always_lock_free = <optimized out>}
|
phosphor_internal_category_enabled_temp_1028 = <optimized out>
|
phosphor_internal_tpi_1028 = {category = 0xc9e590 "memcached", name = 0xd05397 "Started", type = phosphor::GlobalInstant, argument_names = {
|
_M_elems = {0xd0ad58 "", 0xd0ad58 ""}}, argument_types = {_M_elems = {phosphor::is_none, phosphor::is_none}}}
|
#19 0x00007f4b21955505 in __libc_start_main () from /lib64/libc.so.6
|
No symbol table info available.
|
---Type <return> to continue, or q <return> to quit---
|
#20 0x0000000000542993 in _start () at /opt/gcc-10.2.0/include/c++/10.2.0/bits/char_traits.h:322
|
No symbol table info available.
|
QE-Test:
guides/gradlew --refresh-dependencies testrunner -P jython=/opt/jython/bin/jython -P 'args=-i /tmp/testexec.86671.ini bucket_storage=magma,rerun=false,GROUP=P0;graceful_1024MB,randomize_value=true,bucket_eviction_policy=fullEviction,replicas=1,nodes_init=4,enable_dp=false,collect_pcaps=True,durability=MAJORITY,key_size=12,num_items=10000000,ops_rate=5000,sdk_client_pool=False,init_loading=False,get-cbcollect-info=True,num_collections=2,autoCompactionDefined=true,get-cbcollect-info=True,infra_log_level=info,log_level=info,bucket_storage=magma,upgrade_version=7.2.0-1701 -t storage.magma.magma_crash_recovery.MagmaCrashTests.test_crash_during_ops_new,graceful=True,bucket_ram_quota=1024,multiplier=1,batch_size=500,num_items=40000000,doc_size=1024,doc_ops=create:delete,create_perc=50,delete_perc=50,GROUP=P0;graceful_1024MB'
|