Skip to content
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

[Bug] python pulsar client create producer thread suspend because of deadlock #129

Open
1 of 2 tasks
ZHr-UChiHa opened this issue Jun 2, 2023 · 1 comment
Open
1 of 2 tasks

Comments

@ZHr-UChiHa
Copy link

ZHr-UChiHa commented Jun 2, 2023

Search before asking

  • I searched in the issues and found nothing similar.

Version

2.10.2 pulcar-client-cpp

Minimal reproduce step

When the Python client is repeatedly invoked to create a producer, there is a possibility that a deadlock occurs when the producer is created.

What did you expect to see?

create producer normally

What did you see instead?

#0  0x00007fdda35c7a3c in pthread_cond_wait () from /usr/lib64/libpthread.so.0
apache/pulsar#1  0x00007fdd87654f9c in std::condition_variable::wait(std::unique_lock<std::mutex>&) ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/venv/lib/python3.9/site-packages/xgboost/lib/libstdc++.so.6
apache/pulsar#2  0x00007fdd6a0bd3bb in pulsar::Client::createProducer(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pulsar::ProducerConfiguration const&, pulsar::Producer&) () from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#3  0x00007fdd6a08e132 in Client_createProducer(pulsar::Client&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pulsar::ProducerConfiguration const&) ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#4  0x00007fdd6a090fc1 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<pulsar::Producer (*)(pulsar::Client&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pulsar::ProducerConfiguration const&), boost::python::default_call_policies, boost::mpl::vector4<pulsar::Producer, pulsar::Client&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, pulsar::ProducerConfiguration const&> > >::operator()(_object*, _object*) ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#5  0x00007fdd6a250ed5 in boost::python::objects::function::call(_object*, _object*) const ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#6  0x00007fdd6a251058 in boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#7  0x00007fdd6a258f6b in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#8  0x00007fdd6a075fd3 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<PulsarException, void (*)(PulsarException const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(PulsarException const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#9  0x00007fdd6a258d0c in boost::python::handle_exception_impl(boost::function0<void>) ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#10 0x00007fdd6a24fb59 in function_call ()
   from /opt/share/oss/NetEco/NAIEDeployCombAgent/infers/predict/python/venv/bms_battery_pulsar/23.5.0/bms_battery_pulsar/0315fd33a2ab4141a6662b21893c845c/_pulsar.cpython-39-x86_64-linux-gnu.so
apache/pulsar#11 0x000055f7573263da in _PyObject_MakeTpCall ()
apache/pulsar#12 0x000055f75748f235 in ?? ()
apache/pulsar#13 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#14 0x000055f7573ab28e in ?? ()
apache/pulsar#15 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#16 0x000055f75748f1c3 in ?? ()
apache/pulsar#17 0x000055f7573162d8 in _PyEval_EvalFrameDefault ()
apache/pulsar#18 0x000055f75730ff67 in ?? ()
apache/pulsar#19 0x000055f757325f22 in PyVectorcall_Call ()
apache/pulsar#20 0x000055f75731280f in _PyEval_EvalFrameDefault ()
---Type <return> to continue, or q <return> to quit---
apache/pulsar#21 0x000055f7573ab28e in ?? ()
apache/pulsar#22 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#23 0x000055f757325f22 in PyVectorcall_Call ()
apache/pulsar#24 0x000055f75731280f in _PyEval_EvalFrameDefault ()
apache/pulsar#25 0x000055f7573ab28e in ?? ()
apache/pulsar#26 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#27 0x000055f75748f1c3 in ?? ()
apache/pulsar#28 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#29 0x000055f75730ff67 in ?? ()
apache/pulsar#30 0x000055f75748f1c3 in ?? ()
apache/pulsar#31 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#32 0x000055f75730ff67 in ?? ()
apache/pulsar#33 0x000055f75748f1c3 in ?? ()
apache/pulsar#34 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#35 0x000055f75730ff67 in ?? ()
apache/pulsar#36 0x000055f75748f0a6 in ?? ()
apache/pulsar#37 0x000055f757325f22 in PyVectorcall_Call ()
apache/pulsar#38 0x000055f75731280f in _PyEval_EvalFrameDefault ()
apache/pulsar#39 0x000055f7573ab28e in ?? ()
apache/pulsar#40 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#41 0x000055f757325f22 in PyVectorcall_Call ()
apache/pulsar#42 0x000055f75731280f in _PyEval_EvalFrameDefault ()
apache/pulsar#43 0x000055f75730ff67 in ?? ()
apache/pulsar#44 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#45 0x000055f7573ab28e in ?? ()
apache/pulsar#46 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#47 0x000055f75748f1c3 in ?? ()
apache/pulsar#48 0x000055f7573162d8 in _PyEval_EvalFrameDefault ()
apache/pulsar#49 0x000055f75730ff67 in ?? ()
apache/pulsar#50 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#51 0x000055f75730ff67 in ?? ()
apache/pulsar#52 0x000055f757326522 in _PyObject_FastCallDictTstate ()
apache/pulsar#53 0x000055f7573267a3 in _PyObject_Call_Prepend ()
apache/pulsar#54 0x000055f757367cec in ?? ()
apache/pulsar#55 0x000055f7573635ec in ?? ()
---Type <return> to continue, or q <return> to quit---
apache/pulsar#56 0x000055f7573263da in _PyObject_MakeTpCall ()
apache/pulsar#57 0x000055f75731761e in _PyEval_EvalFrameDefault ()
apache/pulsar#58 0x000055f75730ff67 in ?? ()
apache/pulsar#59 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#60 0x000055f75730ff67 in ?? ()
apache/pulsar#61 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#62 0x000055f75730ff67 in ?? ()
apache/pulsar#63 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#64 0x000055f75730ff67 in ?? ()
apache/pulsar#65 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#66 0x000055f7573ab28e in ?? ()
apache/pulsar#67 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#68 0x000055f7573265ad in _PyObject_FastCallDictTstate ()
apache/pulsar#69 0x000055f7573267a3 in _PyObject_Call_Prepend ()
apache/pulsar#70 0x000055f757367cec in ?? ()
apache/pulsar#71 0x000055f7573635ec in ?? ()
apache/pulsar#72 0x000055f7573263da in _PyObject_MakeTpCall ()
apache/pulsar#73 0x000055f757316c3a in _PyEval_EvalFrameDefault ()
apache/pulsar#74 0x000055f7573ab28e in ?? ()
apache/pulsar#75 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#76 0x000055f75748f1c3 in ?? ()
apache/pulsar#77 0x000055f757316251 in _PyEval_EvalFrameDefault ()
apache/pulsar#78 0x000055f7573ab28e in ?? ()
apache/pulsar#79 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#80 0x000055f75748f1c3 in ?? ()
apache/pulsar#81 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#82 0x000055f7573ab28e in ?? ()
apache/pulsar#83 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#84 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#85 0x000055f75730ff67 in ?? ()
apache/pulsar#86 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#87 0x000055f75730ff67 in ?? ()
apache/pulsar#88 0x000055f75748f0a6 in ?? ()
apache/pulsar#89 0x000055f757325f22 in PyVectorcall_Call ()
apache/pulsar#90 0x000055f75731280f in _PyEval_EvalFrameDefault ()
---Type <return> to continue, or q <return> to quit---
apache/pulsar#91 0x000055f75730ff67 in ?? ()
apache/pulsar#92 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#93 0x000055f7573ab28e in ?? ()
apache/pulsar#94 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#95 0x000055f75748f1c3 in ?? ()
apache/pulsar#96 0x000055f7573162d8 in _PyEval_EvalFrameDefault ()
apache/pulsar#97 0x000055f75730ff67 in ?? ()
apache/pulsar#98 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#99 0x000055f75730ff67 in ?? ()
apache/pulsar#100 0x000055f757326522 in _PyObject_FastCallDictTstate ()
apache/pulsar#101 0x000055f7573267a3 in _PyObject_Call_Prepend ()
apache/pulsar#102 0x000055f757367cec in ?? ()
apache/pulsar#103 0x000055f7573635ec in ?? ()
apache/pulsar#104 0x000055f7573263da in _PyObject_MakeTpCall ()
apache/pulsar#105 0x000055f75731761e in _PyEval_EvalFrameDefault ()
apache/pulsar#106 0x000055f75730ff67 in ?? ()
apache/pulsar#107 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#108 0x000055f75730ff67 in ?? ()
apache/pulsar#109 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#110 0x000055f75730ff67 in ?? ()
apache/pulsar#111 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#112 0x000055f75730ff67 in ?? ()
apache/pulsar#113 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#114 0x000055f75730ff67 in ?? ()
apache/pulsar#115 0x000055f757325f22 in PyVectorcall_Call ()
apache/pulsar#116 0x000055f75731280f in _PyEval_EvalFrameDefault ()
apache/pulsar#117 0x000055f75730ff67 in ?? ()
apache/pulsar#118 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#119 0x000055f7573ab28e in ?? ()
apache/pulsar#120 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#121 0x000055f75748f1c3 in ?? ()
apache/pulsar#122 0x000055f7573162d8 in _PyEval_EvalFrameDefault ()
apache/pulsar#123 0x000055f75730ff67 in ?? ()
apache/pulsar#124 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#125 0x000055f75730ff67 in ?? ()
---Type <return> to continue, or q <return> to quit---
apache/pulsar#126 0x000055f757326522 in _PyObject_FastCallDictTstate ()
apache/pulsar#127 0x000055f7573267a3 in _PyObject_Call_Prepend ()
apache/pulsar#128 0x000055f757367cec in ?? ()
apache/pulsar#129 0x000055f7573635ec in ?? ()
apache/pulsar#130 0x000055f7573263da in _PyObject_MakeTpCall ()
apache/pulsar#131 0x000055f75731761e in _PyEval_EvalFrameDefault ()
apache/pulsar#132 0x000055f75730ff67 in ?? ()
apache/pulsar#133 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#134 0x000055f75730ff67 in ?? ()
apache/pulsar#135 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#136 0x000055f75730ff67 in ?? ()
apache/pulsar#137 0x000055f757316437 in _PyEval_EvalFrameDefault ()
apache/pulsar#138 0x000055f75730ff67 in ?? ()
apache/pulsar#139 0x000055f757316251 in _PyEval_EvalFrameDefault ()
apache/pulsar#140 0x000055f75730ff67 in ?? ()
apache/pulsar#141 0x000055f75748f1c3 in ?? ()
apache/pulsar#142 0x000055f7573177ee in _PyEval_EvalFrameDefault ()
apache/pulsar#143 0x000055f7573ab28e in ?? ()
apache/pulsar#144 0x000055f7573261c1 in _PyFunction_Vectorcall ()
apache/pulsar#145 0x000055f7573162d8 in _PyEval_EvalFrameDefault ()
apache/pulsar#146 0x000055f75730ff67 in ?? ()
apache/pulsar#147 0x000055f757316251 in _PyEval_EvalFrameDefault ()
apache/pulsar#148 0x000055f7573ab28e in ?? ()
apache/pulsar#149 0x000055f7573ab622 in _PyEval_EvalCodeWithName ()
apache/pulsar#150 0x000055f7573ab66e in PyEval_EvalCodeEx ()
apache/pulsar#151 0x000055f7573ab69b in PyEval_EvalCode ()
apache/pulsar#152 0x000055f7573dcda9 in ?? ()
apache/pulsar#153 0x000055f7573dfd47 in PyRun_SimpleFileExFlags ()
apache/pulsar#154 0x000055f75731b0a8 in Py_RunMain ()
apache/pulsar#155 0x000055f75731b5b9 in Py_BytesMain ()
apache/pulsar#156 0x00007fdda3297c87 in __libc_start_main () from /usr/lib64/libc.so.6
apache/pulsar#157 0x000055f75731a22c in _start ()

Anything else?

No response

Are you willing to submit a PR?

  • I'm willing to submit a PR!
@tisonkun tisonkun transferred this issue from apache/pulsar Jun 3, 2023
@BewareMyPower
Copy link
Contributor

Please describe it specifically in the title. Is there any reproduce code? Or could you try 3.1.0 or the latest 3.2.0 here?

@ZHr-UChiHa ZHr-UChiHa changed the title [Bug] [Bug] python pulsar client create producer thread suspend because of deadlock Jun 5, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants