rclcpp icon indicating copy to clipboard operation
rclcpp copied to clipboard

Humble - free() invalid pointer when using composition

Open roncapat opened this issue 1 year ago • 1 comments

I am using Multi-threaded executor and some components with intra-process comms on. Here's what I get after a few minutes of execution.

GDB backtrace:

free(): invalid pointer
#0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50                                                                                                                                                                                             
#1  0x0000fffff6cfeaac in __GI_abort () at abort.c:79                                                                                                                                                                                                                 
#2  0x0000fffff6d4bf40 in __libc_message (action=action@entry=do_abort, fmt=fmt@entry=0xfffff6e0d518 "%s\n") at ../sysdeps/posix/libc_fatal.c:155                                               
#3  0x0000fffff6d53344 in malloc_printerr (str=str@entry=0xfffff6e08fb8 "free(): invalid pointer") at malloc.c:5347
#4  0x0000fffff6d54b88 in _int_free (av=0xfffff6e4ca98 <main_arena>, p=0xffff5c29e9f0, have_lock=<optimized out>) at malloc.c:4173                                                                                                                                    
#5  0x0000fffff7ac8564 in __gnu_cxx::new_allocator<void*>::deallocate(void**, unsigned long) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                      
#6  0x0000fffff7ac6798 in std::allocator_traits<std::allocator<void*> >::deallocate(std::allocator<void*>&, void**, unsigned long) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so
#7  0x0000fffff7ac38d0 in void* rclcpp::allocator::retyped_reallocate<void*, std::allocator<void*> >(void*, unsigned long, void*) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                                      
#8  0x0000fffff6c2d07c in rcl_wait_set_resize () from /home/roxy/ros2_humble/install/rcl/lib/librcl.so                                                                                                                                                                
#9  0x0000fffff7a879c8 in rclcpp::Executor::wait_for_work(std::chrono::duration<long, std::ratio<1l, 1000000000l> >) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                                                   
#10 0x0000fffff7a886d4 in rclcpp::Executor::get_next_executable(rclcpp::AnyExecutable&, std::chrono::duration<long, std::ratio<1l, 1000000000l> >) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                          
#11 0x0000fffff7a94cc8 in rclcpp::executors::MultiThreadedExecutor::run(unsigned long) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                                                           
#12 0x0000fffff7a9714c in void std::__invoke_impl<void, void (rclcpp::executors::MultiThreadedExecutor::*&)(unsigned long), rclcpp::executors::MultiThreadedExecutor*&, unsigned long&>(std::__invoke_memfun_deref, void (rclcpp::executors::MultiThreadedExecutor::*&)(unsigned long), rclcpp::executors::MultiT
hreadedExecutor*&, unsigned long&) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                                                                                                                                     
#13 0x0000fffff7a97044 in std::__invoke_result<void (rclcpp::executors::MultiThreadedExecutor::*&)(unsigned long), rclcpp::executors::MultiThreadedExecutor*&, unsigned long&>::type std::__invoke<void (rclcpp::executors::MultiThreadedExecutor::*&)(unsigned long), rclcpp::executors::MultiThreadedExecutor*&
, unsigned long&>(void (rclcpp::executors::MultiThreadedExecutor::*&)(unsigned long), rclcpp::executors::MultiThreadedExecutor*&, unsigned long&) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                      
#14 0x0000fffff7a96f44 in void std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)>::__call<void, , 0ul, 1ul>(std::tuple<>&&, std::_Index_tuple<0ul, 1ul>) ()                      
   from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                                                                                                                                                                        
#15 0x0000fffff7a96e98 in void std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)>::operator()<, void>() () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                      
#16 0x0000fffff7a96e34 in void std::__invoke_impl<void, std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)>>(std::__invoke_other, std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThread
edExecutor*, unsigned long))(unsigned long)>&&) () from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                          
#17 0x0000fffff7a96dd8 in std::__invoke_result<std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)>>::type std::__invoke<std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor
*, unsigned long))(unsigned long)>>(std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)>&&) ()                                                                                                                                
   from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so                                                                                                                                                                                                        
#18 0x0000fffff7a96d74 in void std::thread::_Invoker<std::tuple<std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)> > >::_M_invoke<0ul>(std::_Index_tuple<0ul>) ()                                                           
   from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so              
#19 0x0000fffff7a96d4c in std::thread::_Invoker<std::tuple<std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)> > >::operator()() ()                                                                                          
   from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so              
#20 0x0000fffff7a96d2c in std::thread::_State_impl<std::thread::_Invoker<std::tuple<std::_Bind<void (rclcpp::executors::MultiThreadedExecutor::*(rclcpp::executors::MultiThreadedExecutor*, unsigned long))(unsigned long)> > > >::_M_run() ()                                                                   
   from /home/roxy/ros2_humble/install/rclcpp/lib/librclcpp.so              
--Type <RET> for more, q to quit, c to continue without paging--                                                                                        
#21 0x0000fffff6f41fac in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6                                                                              
#22 0x0000fffff6b72624 in start_thread (arg=0xfffff6f41f90) at pthread_create.c:477                                                                     
#23 0x0000fffff6daf49c in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78

roncapat avatar Sep 02 '22 14:09 roncapat