-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
etcd_test fails with an assertion in gRPC #5
Comments
I have also encountered this problem, Have you solved it? How to solve? |
I also have the same problem... Has anyone found out what the reason is? I think I may know what is happening... but not having gone through grpc in depth, my solution may be naive. Anyway, in AsyncWatchAction it looks like the write operation is at time resulting in a etcdv3::AsyncWatchAction::AsyncWatchAction(...) I changed it to read any events from the queue first before the write. etcdv3::AsyncWatchAction::AsyncWatchAction(...) if (status != CompletionQueue::SHUTDOWN) Is this correct? Not sure yet... but I stopped getting the ASSERT... and I can setup watchers and things work for now (I'm only starting to prototype basic stuff) However, running the etcd_test seems to hang on the last testcase... I haven't looked at it yest to see why, may be on cleanup or shutdown of the queue, possibly I'll run into a problem when I try and cancel a watcher. Anyway, I just thought I would throw this out there for now and see if this helps someone figure out a better solution. UPDATE: The watcher issue was that it was hanging on the watcher->Cancel()... I seemed to get that working by changing the below method... again.. not sure of the side effects yet, but right now the watcher seems to be working without deadlock or ASSERTs. void etcdv3::AsyncWatchAction::waitForResponse(std::function<void(etcd::Response)> callback) |
Same issue here. Testing with the modifications given by bjeremy didn't gave better results. Is this project still maintained? |
@siredmar:
because you can see GRPC code, only the GOT_EVENT staus can do any stream action: |
Has been fixed now, by #16. |
Thanks everyone who are interested in this library! |
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>
I had same problems during compilation as mentioned on #2
Fixed them by changing
cmake
file like thisAfter making above changes the library compiles however,
make test
failsIt seems like an assertion in gRPC failed.
The text was updated successfully, but these errors were encountered: