POSIX wait_for - stack overflow
- Dominant language
- C++
- Stars
- 145
- Forks
- 151
- PR merge metrics
- No merged PRs in 30d
Description
I've got stack overflow in my video project. Please see log below:
Piece of log
```
#261918 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261919 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261920 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261921 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261922 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261923 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261924 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261925 0x000000000050af69 in boost::process::detail::posix::wait_until > >(boost::process::detail::posix::child_handle const&, int&, std::chrono::time_point > > const&, std::error_code&)::signal_interceptor_t::handler_func(int) (val=58487) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
#261926 0x000000000050b21d in boost::process::detail::posix::wait_until > > (p=..., exit_code=@0x7aa4f44ef680: 0, time_out=..., ec=...) at /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:117
#261927 0x0000000000503ce8 in boost::process::child::wait_until > > (this=0x7aa68400aaa0, timeout_time=..., ec=...) at /usr/local/include/boost/process/detail/child_decl.hpp:193
#261928 0x000000000051302d in boost::process::child::wait_for > (this=0x7aa68400aaa0, rel_time=..., ec=...) at /usr/local/include/boost/process/detail/child_decl.hpp:184
#261929 0x000000000050ad31 in boost::process::child::wait_for > (this=0x7aa68400aaa0, rel_time=...) at /usr/local/include/boost/process/detail/child_decl.hpp:132
#261930 0x0000000000514da7 in process_launcher::start_process, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}::operator()() (this=0x7aa68400aa70) at /home/user/projects/arcturus/trunk/src/projects/components/modules/video_subsystem/build/vs2019/../../include/process_launcher.hpp:255
#261931 0x00000000005552c9 in std::__invoke_impl, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}>(std::__invoke_other, process_launcher::start_process, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}&&) (__f=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:60
#261932 0x0000000000554f6e in std::__invoke, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&) (__fn=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:95
#261933 0x0000000000554994 in std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x7aa68400af78) at /usr/local/gcc-10/include/c++/10.3.0/thread:264
#261934 0x0000000000554254 in std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >::operator()() (this=0x7aa68400af78) at /usr/local/gcc-10/include/c++/10.3.0/thread:271
#261935 0x0000000000553a2f in std::__future_base::_Task_setter, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::operator()() const (this=0x7aa4f44efdd0) at /usr/local/gcc-10/include/c++/10.3.0/future:1373
#261936 0x00000000005531ee in std::__invoke_impl, std::__future_base::_Result_base::_Deleter>, std::__future_base::_Task_setter, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>&>(std::__invoke_other, std::__future_base::_Task_setter, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>&) (__f=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:60
#261937 0x0000000000552577 in std::__invoke_r, std::__future_base::_Task_setter, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>&>(std::__future_base::_Task_setter, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>&) (__fn=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:115
#261938 0x00000000005515c8 in std::_Function_handler (), std::__future_base::_Task_setter, std::__future_base::_Result_base::_Deleter>, std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void> >::_M_invoke(std::_Any_data const&) (__functor=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/std_function.h:292
#261939 0x00000000004fa143 in std::function ()>::operator()() const (this=0x7aa4f44efdd0) at /usr/local/gcc-10/include/c++/10.3.0/bits/std_function.h:622
#261940 0x00000000004f262d in std::__future_base::_State_baseV2::_M_do_set(std::function ()>*, bool*) (this=0x7aa68400af40, __f=0x7aa4f44efdd0, __did_set=0x7aa4f44efd47) at /usr/local/gcc-10/include/c++/10.3.0/future:572
#261941 0x0000000000508da1 in std::__invoke_impl ()>*, bool*), std::__future_base::_State_baseV2*, std::function ()>*, bool*>(std::__invoke_memfun_deref, void (std::__future_base::_State_baseV2::*&&)(std::function ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function ()>*&&, bool*&&) (__f=@0x7aa4f44efd60: (void (std::__future_base::_State_baseV2::*)(std::__future_base::_State_baseV2 * const, std::function()> *, bool *)) 0x4f2606 ()>*, bool*)>, __t=@0x7aa4f44efd58: 0x7aa68400af40) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:73
#261942 0x00000000005017c1 in std::__invoke ()>*, bool*), std::__future_base::_State_baseV2*, std::function ()>*, bool*>(void (std::__future_base::_State_baseV2::*&&)(std::function ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function ()>*&&, bool*&&) (__fn=@0x7aa4f44efd60: (void (std::__future_base::_State_baseV2::*)(std::__future_base::_State_baseV2 * const, std::function()> *, bool *)) 0x4f2606 ()>*, bool*)>) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:95
#261943 0x00000000004f9f0e in std::call_once ()>*, bool*), std::__future_base::_State_baseV2*, std::function ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function ()>*&&, bool*&&)::{lambda()#1}::operator()() const (this=0x7aa4f44efce0) at /usr/local/gcc-10/include/c++/10.3.0/mutex:717
#261944 0x00000000004f9f39 in std::call_once ()>*, bool*), std::__future_base::_State_baseV2*, std::function ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function ()>*&&, bool*&&)::{lambda()#2}::operator()() const (this=0x0) at /usr/local/gcc-10/include/c++/10.3.0/mutex:722
#261945 0x00000000004f9f4a in std::call_once ()>*, bool*), std::__future_base::_State_baseV2*, std::function ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function ()>*&&, bool*&&)::{lambda()#2}::_FUN() () at /usr/local/gcc-10/include/c++/10.3.0/mutex:722
#261946 0x00007aa6aa58b759 in __pthread_once_slow () from /lib/x86_64-linux-gnu/libpthread.so.0
#261947 0x00000000004e0bba in __gthread_once (__once=0x7aa68400af58, __func=0x4115a0 <__once_proxy@plt>) at /usr/local/gcc-10/include/c++/10.3.0/x86_64-linux-gnu/bits/gthr-default.h:700
#261948 0x00000000004f9fd6 in std::call_once ()>*, bool*), std::__future_base::_State_baseV2*, std::function ()>*, bool*>(std::once_flag&, void (std::__future_base::_State_baseV2::*&&)(std::function ()>*, bool*), std::__future_base::_State_baseV2*&&, std::function ()>*&&, bool*&&) (__once=..., __f=@0x7aa4f44efd60: (void (std::__future_base::_State_baseV2::*)(std::__future_base::_State_baseV2 * const, std::function()> *, bool *)) 0x4f2606 ()>*, bool*)>) at /usr/local/gcc-10/include/c++/10.3.0/mutex:729
#261949 0x00000000004f2457 in std::__future_base::_State_baseV2::_M_set_result(std::function ()>, bool) (this=0x7aa68400af40, __res=..., __ignore_failure=false) at /usr/local/gcc-10/include/c++/10.3.0/future:412
#261950 0x000000000054e7f7 in std::__future_base::_Async_state_impl, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}::operator()() const (this=0x7aa68400af40) at /usr/local/gcc-10/include/c++/10.3.0/future:1682
#261951 0x0000000000556faf in std::__invoke_impl, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}>(std::__invoke_other, std::__future_base::_Async_state_impl, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}&&) (__f=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:60
#261952 0x0000000000556f20 in std::__invoke, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&) (__fn=...) at /usr/local/gcc-10/include/c++/10.3.0/bits/invoke.h:95
#261953 0x0000000000556df0 in std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}> >::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x7aa684004878) at /usr/local/gcc-10/include/c++/10.3.0/thread:264
#261954 0x0000000000556b80 in std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}> >::operator()() (this=0x7aa684004878) at /usr/local/gcc-10/include/c++/10.3.0/thread:271
#261955 0x0000000000555ac8 in std::thread::_State_impl, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >, void>::_Async_state_impl(std::thread::_Invoker, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)> >(arcturus::core_object_m, std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda(auto:1 const&)#1}>(std::_Bind, boost::uuids::uuid))(std::span const&, boost::uuids::uuid const&)>&&)::{lambda()#1}> >&&)::{lambda()#1}> > >::_M_run() (this=0x7aa684004870) at /usr/local/gcc-10/include/c++/10.3.0/thread:215
#261956 0x00007aa6a9c1c830 in ?? () from /usr/local/gcc-10/lib64/libstdc++.so.6
#261957 0x00007aa6aa5844a4 in start_thread () from /lib/x86_64-linux-gnu/libpthread.so.0
#261958 0x00007aa6a937cd0f in clone () from /lib/x86_64-linux-gnu/libc.so.6
(gdb)
```
Error in line /usr/local/include/boost/process/detail/posix/wait_for_exit.hpp:69
```
static void handler_func(int val)
{
if ((sigchld_handler != SIG_DFL) && (sigchld_handler != SIG_IGN))
sigchld_handler(val); //THIS ONE
}
```
It seems somehow sigchld_handler became set to handler_func - i.e. it calls itself
PS
Boost 1.76
Contributor guide
No contributing guide indexed for this repository
Assessment
This issue has not been assessed yet.