merlimat commented on issue #6277: [Issue 4070][pulsar-client-cpp] Fix for possible deadlock when closing Pulsar client URL: https://github.com/apache/pulsar/pull/6277#issuecomment-584376423 @heronr I think there might be a possible issue with this change. I'm getting a segfault when running tests and tests failing (for unrelated issues): ``` #0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50 #1 0x00007f351d252899 in __GI_abort () at abort.c:79 #2 0x00007f351d4d994a in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00007f351d4e535c in ?? () from /lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00007f351d4e53c7 in std::terminate() () from /lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x000055708bcafbbf in std::thread::~thread (this=0x55708c947268, __in_chrg=<optimized out>) at /usr/include/c++/9/thread:139 #6 0x00007f351da183f2 in pulsar::ExecutorService::~ExecutorService (this=0x55708c947250, __in_chrg=<optimized out>) at /pulsar/pulsar-client-cpp/lib/ExecutorService.cc:52 ``` where we have: ```c++ ~thread() { if (joinable()) std::terminate(); } ``` So I think that in this case we have not called `join()` before the thread was actually destroyed.
---------------------------------------------------------------- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: [email protected] With regards, Apache Git Services
