As we have noticed a random "Segmentation fault" error with the following backtrace:
(gdb) bt
#0 _int_free (av=0x7f3db4000020, p=0x7f3db40018a0, have_lock=0) at malloc.c:4199
#1 0x0000557164b22982 in Catch::AssertionInfo::~AssertionInfo (this=0x7f3c32fcc3c8, __in_chrg=<optimized out>) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:827
#2 0x0000557164b0afd6 in Catch::AssertionResult::~AssertionResult (this=0x7f3c32fcc3c8, __in_chrg=<optimized out>) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:7275
#3 0x0000557164b117f4 in Catch::AssertionStats::~AssertionStats (this=0x7f3c32fcc3c0, __in_chrg=<optimized out>) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:10254
#4 0x0000557164b26d8c in Catch::RunContext::assertionEnded (this=0x7ffc893f2e40, result=...) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:5981
#5 0x0000557164b0f77f in Catch::ResultBuilder::handleResult (this=0x7f3c32fcca00, result=...) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:8271
#6 0x0000557164b0f6ee in Catch::ResultBuilder::captureExpression (this=0x7f3c32fcca00) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:8267
#7 0x0000557164b0f2ca in Catch::ResultBuilder::endExpression (this=0x7f3c32fcca00) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:8229
#8 0x0000557164b4637c in Catch::ExpressionLhs<bool>::endExpression (this=0x7f3c32fcc6f0) at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/catch.hpp:1850
#9 0x0000557164b176de in <lambda(const string&, size_t)>::operator()(const std::string &, size_t) const (__closure=0x557164dcb6b0, key="/test/test_key", index=112)
at /home/gsbot/hetao/libvineyard/thirdparty/etcd-cpp-apiv3/tst/LockTest.cpp:184
Signed-off-by: Tao He <sighingnow@gmail.com>
* Fixes lock, and the underlying keepalive implmentation.
The previous implementation is buggy when a lot of locks happen at the same time,
as the cpprestsdk's threadpool use a fixed number of thread for posix platform:
https://github.com/microsoft/cpprestsdk/blob/master/Release/src/pplx/threadpool.cpp#L198
Signed-off-by: Tao He <sighingnow@gmail.com>
* Handling (or checking) possible failure in lease's KeepAlive.
* Add documentation.
* Enhance documentations.
Signed-off-by: Tao He <sighingnow@gmail.com>
Squashed commit of the following:
commit 7d15f8f5f9b477f606dbe034f26c37a894eb5b46
Author: Tao He <linzhu.ht@alibaba-inc.com>
Date: Thu Jan 28 10:47:55 2021 +0800
Add a bit more about how to enable authentication on etcd v3.2.x and v3.3.x.
Fixes#33.
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
commit 9e84e27d480930133d2f2380bed44cb187ff1656
Author: Tao He <sighingnow@gmail.com>
Date: Sun Jan 17 20:59:12 2021 +0800
Tweak LD_LIBRARY_PATH, to include /usr/local/lib.
Signed-off-by: Tao He <sighingnow@gmail.com>
commit c3b913c3c33606caa6ff326639a791e55565da3f
Author: Tao He <linzhu.ht@alibaba-inc.com>
Date: Sat Dec 26 15:27:54 2020 +0800
Test on various versions of Ubuntu and Mac, with different versions of ETCD.
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>
Signed-off-by: Tao He <linzhu.ht@alibaba-inc.com>