Livox-SDK / livox_ros_driver2

Livox device driver under Ros(Compatible with ros and ros2), support Lidar HAP and Mid-360.
Other
200 stars 161 forks source link

livox_ros_driver2 Failed to run in ros2 environment(use Cyclone DDS) #73

Closed stzbz closed 10 months ago

stzbz commented 10 months ago

Hi, I get a problem when i run livox_ros_driver2 in ROS2 Foxy(use Cyclone DDS), it can not run up successful! The printed information of the error is as follows:

> #0  __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51
#1  0x0000007fb74678d4 in __GI_abort () at abort.c:79
#2  0x0000007fb745fb84 in __assert_fail_base (fmt=0x7fb755ac10 "%s%s%s:%u: %s%sAssertion `%s' failed.\n%n", 
    assertion=assertion@entry=0x7fb741c560 "new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)", file=file@entry=0x7fb741c558 "tpp.c", line=line@entry=84, 
    function=function@entry=0x7fb741c610 <__PRETTY_FUNCTION__.8416> "__pthread_tpp_change_priority") at assert.c:92
#3  0x0000007fb745fc04 in __GI___assert_fail (assertion=assertion@entry=0x7fb741c560 "new_prio == -1 || (new_prio >= fifo_min_prio && new_prio <= fifo_max_prio)", file=file@entry=0x7fb741c558 "tpp.c", 
    line=line@entry=84, function=function@entry=0x7fb741c610 <__PRETTY_FUNCTION__.8416> "__pthread_tpp_change_priority") at assert.c:101
#4  0x0000007fb741b0f0 in __pthread_tpp_change_priority (previous_prio=previous_prio@entry=-1, new_prio=new_prio@entry=5464) at tpp.c:82
#5  0x0000007fb74111f4 in __pthread_mutex_lock_full (mutex=0x55556226d0) at pthread_mutex_lock.c:552
#6  0x0000007fb7d0ff10 in __gthread_mutex_lock(pthread_mutex_t*) () from /opt/ros/foxy/install/lib/librclcpp.so
#7  0x0000007fb7d120fc in std::mutex::lock() () from /opt/ros/foxy/install/lib/librclcpp.so
#8  0x0000007fb7d26124 in std::unique_lock<std::mutex>::lock() () from /opt/ros/foxy/install/lib/librclcpp.so
#9  0x0000007fb7d24454 in std::unique_lock<std::mutex>::unique_lock(std::mutex&) () from /opt/ros/foxy/install/lib/librclcpp.so
#10 0x0000007fb61f7810 in livox_ros::Semaphore::Wait() () from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#11 0x0000007fb61c2dd4 in livox_ros::Lddc::DistributePointCloudData() () from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#12 0x0000007fb61b07e8 in livox_ros::DriverNode::PointCloudDataPollThread() () from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#13 0x0000007fb61bd308 in void std::__invoke_impl<void, void (livox_ros::DriverNode::*)(), livox_ros::DriverNode*>(std::__invoke_memfun_deref, void (livox_ros::DriverNode::*&&)(), livox_ros::DriverNode*&&) ()
   from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#14 0x0000007fb61bceec in std::__invoke_result<void (livox_ros::DriverNode::*)(), livox_ros::DriverNode*>::type std::__invoke<void (livox_ros::DriverNode::*)(), livox_ros::DriverNode*>(void (livox_ros::DriverNode::*&&)(), livox_ros::DriverNode*&&) () from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#15 0x0000007fb61be400 in decltype (__invoke((_S_declval<0ul>)(), (_S_declval<1ul>)())) std::thread::_Invoker<std::tuple<void (livox_ros::DriverNode::*)(), livox_ros::DriverNode*> >::_M_invoke<0ul, 1ul>(std::_Index_tuple<0ul, 1ul>) () from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#16 0x0000007fb61be1a8 in std::thread::_Invoker<std::tuple<void (livox_ros::DriverNode::*)(), livox_ros::DriverNode*> >::operator()() () from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#17 0x0000007fb61bda74 in std::thread::_State_impl<std::thread::_Invoker<std::tuple<void (livox_ros::DriverNode::*)(), livox_ros::DriverNode*> > >::_M_run() ()
   from /home/orca/pb_nx/install/livox_ros_driver2/lib/liblivox_ros_driver2.so
#18 0x0000007fb766ce94 in ?? () from /usr/lib/aarch64-linux-gnu/libstdc++.so.6
#19 0x0000007fb740f088 in start_thread (arg=0x7fffffcebf) at pthread_create.c:463
#20 0x0000007fb7503ffc in thread_start () at ../sysdeps/unix/sysv/linux/aarch64/clone.S:78
stzbz commented 10 months ago

i find the error and fix it, close issue now.