Open advented0126 opened 9 months ago
It fails in an AVX CPU instruction.
What CPU do you have?
Also, if you change the collisions to primitive shapes instead of a mesh, would that help?
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
Address sizes: 39 bits physical, 48 bits virtual
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 2
Core(s) per socket: 8
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 158
Model name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
Stepping: 12
CPU MHz: 3600.000
CPU max MHz: 5000.0000
CPU min MHz: 800.0000
BogoMIPS: 7200.00
Virtualization: VT-x
L1d cache: 256 KiB
L1i cache: 256 KiB
L2 cache: 2 MiB
L3 cache: 16 MiB
NUMA node0 CPU(s): 0-15
Vulnerability Gather data sampling: Mitigation; Microcode
Vulnerability Itlb multihit: KVM: Mitigation: VMX disabled
Vulnerability L1tf: Not affected
Vulnerability Mds: Mitigation; Clear CPU buffers; SMT vulnerabl
e
Vulnerability Meltdown: Not affected
Vulnerability Mmio stale data: Mitigation; Clear CPU buffers; SMT vulnerabl
e
Vulnerability Retbleed: Mitigation; IBRS
Vulnerability Spec rstack overflow: Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disable
d via prctl and seccomp
Vulnerability Spectre v1: Mitigation; usercopy/swapgs barriers and __u
ser pointer sanitization
Vulnerability Spectre v2: Mitigation; IBRS, IBPB conditional, STIBP co
nditional, RSB filling, PBRSB-eIBRS Not affe
cted
Vulnerability Srbds: Mitigation; Microcode
Vulnerability Tsx async abort: Mitigation; TSX disabled
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep
mtrr pge mca cmov pat pse36 clflush dts acpi
mmx fxsr sse sse2 ss ht tm pbe syscall nx p
dpe1gb rdtscp lm constant_tsc art arch_perfm
on pebs bts rep_good nopl xtopology nonstop_
tsc cpuid aperfmperf pni pclmulqdq dtes64 mo
nitor ds_cpl vmx smx est tm2 ssse3 sdbg fma
cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic mov
be popcnt tsc_deadline_timer aes xsave avx f
16c rdrand lahf_lm abm 3dnowprefetch cpuid_f
ault epb invpcid_single ssbd ibrs ibpb stibp
tpr_shadow vnmi flexpriority ept vpid ept_a
d fsgsbase tsc_adjust bmi1 avx2 smep bmi2 er
ms invpcid mpx rdseed adx smap clflushopt in
tel_pt xsaveopt xsavec xgetbv1 xsaves dtherm
ida arat pln pts hwp hwp_notify hwp_act_win
dow hwp_epp md_clear flush_l1d arch_capabili
ties
PARAMETERS
* /depth_camera_kinectv2/cloud_filter_chain: [{'name': 'robot_...
* /rosdistro: noetic
* /rosversion: 1.16.0
NODES
/
depth_camera_kinectv2 (sensor_filters/pointcloud2_filter_chain)
ROS_MASTER_URI=http://localhost:11311
process[depth_camera_kinectv2-1]: started with pid [8745]
[ INFO] [1705902007.123206196]: robot_body_filter_containment: Parameter sensor/point_by_point not defined, assigning default: False
[ INFO] [1705902007.123869936]: robot_body_filter_containment: Parameter transforms/buffer_length not defined, assigning default: 60.000000 s
[ INFO] [1705902007.126658273]: robot_body_filter_containment: Parameter frames/fixed not defined, assigning default: base_link
[ INFO] [1705902007.126689922]: robot_body_filter_containment: Parameter frames/sensor not defined, assigning default:
[ INFO] [1705902007.126716619]: robot_body_filter_containment: Found parameter: frames/filtering, value: base
[ INFO] [1705902007.126741852]: robot_body_filter_containment: Found parameter: sensor/min_distance, value: 0.150000 m
[ INFO] [1705902007.126763713]: robot_body_filter_containment: Found parameter: sensor/max_distance, value: 0.000000 m
[ INFO] [1705902007.126783556]: robot_body_filter_containment: Found parameter: body_model/robot_description_param, value: /robot_description
[ INFO] [1705902007.126804770]: robot_body_filter_containment: Parameter filter/keep_clouds_organized not defined, assigning default: True
[ INFO] [1705902007.126829368]: robot_body_filter_containment: Parameter filter/model_pose_update_interval not defined, assigning default: 0.000000 s
[ INFO] [1705902007.126851772]: robot_body_filter_containment: Found parameter: filter/do_clipping, value: True
[ INFO] [1705902007.126871117]: robot_body_filter_containment: Found parameter: filter/do_contains_test, value: True
[ INFO] [1705902007.126889835]: robot_body_filter_containment: Found parameter: filter/do_shadow_test, value: False
[ INFO] [1705902007.126910838]: robot_body_filter_containment: Parameter filter/max_shadow_distance not defined, assigning default: 0.000000 m
[ INFO] [1705902007.126932304]: robot_body_filter_containment: Parameter transforms/timeout/reachable not defined, assigning default: 0.100000 s
[ INFO] [1705902007.126953551]: robot_body_filter_containment: Parameter transforms/timeout/unreachable not defined, assigning default: 0.200000 s
[ INFO] [1705902007.126974228]: robot_body_filter_containment: Parameter transforms/require_all_reachable not defined, assigning default: False
[ INFO] [1705902007.126995177]: robot_body_filter_containment: Parameter bounding_sphere/publish_cut_out_pointcloud not defined, assigning default: False
[ INFO] [1705902007.127017750]: robot_body_filter_containment: Parameter bounding_box/publish_cut_out_pointcloud not defined, assigning default: False
[ INFO] [1705902007.127038932]: robot_body_filter_containment: Parameter oriented_bounding_box/publish_cut_out_pointcloud not defined, assigning default: False
[ INFO] [1705902007.127059508]: robot_body_filter_containment: Parameter local_bounding_box/publish_cut_out_pointcloud not defined, assigning default: False
[ INFO] [1705902007.127080052]: robot_body_filter_containment: Parameter bounding_sphere/compute not defined, assigning default: False
[ INFO] [1705902007.127099682]: robot_body_filter_containment: Parameter bounding_box/compute not defined, assigning default: False
[ INFO] [1705902007.127120050]: robot_body_filter_containment: Parameter oriented_bounding_box/compute not defined, assigning default: False
[ INFO] [1705902007.127140390]: robot_body_filter_containment: Parameter local_bounding_box/compute not defined, assigning default: False
[ INFO] [1705902007.127160579]: robot_body_filter_containment: Parameter bounding_sphere/debug not defined, assigning default: False
[ INFO] [1705902007.127179978]: robot_body_filter_containment: Parameter bounding_box/debug not defined, assigning default: False
[ INFO] [1705902007.127200436]: robot_body_filter_containment: Parameter oriented_bounding_box/debug not defined, assigning default: False
[ INFO] [1705902007.127221021]: robot_body_filter_containment: Parameter local_bounding_box/debug not defined, assigning default: False
[ INFO] [1705902007.127240931]: robot_body_filter_containment: Parameter bounding_sphere/marker not defined, assigning default: False
[ INFO] [1705902007.127260219]: robot_body_filter_containment: Parameter bounding_box/marker not defined, assigning default: False
[ INFO] [1705902007.127280551]: robot_body_filter_containment: Parameter oriented_bounding_box/marker not defined, assigning default: False
[ INFO] [1705902007.127300903]: robot_body_filter_containment: Parameter local_bounding_box/marker not defined, assigning default: False
[ INFO] [1705902007.127321649]: robot_body_filter_containment: Parameter local_bounding_box/frame_id not defined, assigning default: base_link
[ INFO] [1705902007.127341925]: robot_body_filter_containment: Parameter debug/pcl/inside not defined, assigning default: False
[ INFO] [1705902007.127360258]: robot_body_filter_containment: Found parameter: debug/pcl/clip, value: True
[ INFO] [1705902007.127386815]: robot_body_filter_containment: Parameter debug/pcl/shadow not defined, assigning default: False
[ INFO] [1705902007.127412609]: robot_body_filter_containment: Parameter debug/marker/contains not defined, assigning default: False
[ INFO] [1705902007.127432774]: robot_body_filter_containment: Parameter debug/marker/shadow not defined, assigning default: False
[ INFO] [1705902007.127452250]: robot_body_filter_containment: Parameter debug/marker/bounding_sphere not defined, assigning default: False
[ INFO] [1705902007.127471876]: robot_body_filter_containment: Parameter debug/marker/bounding_box not defined, assigning default: False
[ INFO] [1705902007.127492626]: robot_body_filter_containment: Found parameter: body_model/inflation/padding, value: 0.030000 m
[ INFO] [1705902007.127511912]: robot_body_filter_containment: Found parameter: body_model/inflation/scale, value: 1.000000
[ INFO] [1705902007.127533008]: robot_body_filter_containment: Parameter body_model/inflation/contains_test/padding not defined, assigning default: 0.030000 m
[ INFO] [1705902007.127553474]: robot_body_filter_containment: Parameter body_model/inflation/contains_test/scale not defined, assigning default: 1.000000
[ INFO] [1705902007.127574389]: robot_body_filter_containment: Parameter body_model/inflation/shadow_test/padding not defined, assigning default: 0.030000 m
[ INFO] [1705902007.127594939]: robot_body_filter_containment: Parameter body_model/inflation/shadow_test/scale not defined, assigning default: 1.000000
[ INFO] [1705902007.127616049]: robot_body_filter_containment: Parameter body_model/inflation/bounding_sphere/padding not defined, assigning default: 0.030000 m
[ INFO] [1705902007.127636817]: robot_body_filter_containment: Parameter body_model/inflation/bounding_sphere/scale not defined, assigning default: 1.000000
[ INFO] [1705902007.127658851]: robot_body_filter_containment: Parameter body_model/inflation/bounding_box/padding not defined, assigning default: 0.030000 m
[ INFO] [1705902007.127675465]: robot_body_filter_containment: Parameter body_model/inflation/bounding_box/scale not defined, assigning default: 1.000000
[ INFO] [1705902007.127724733]: robot_body_filter_containment: Parameter body_model/inflation/per_link/padding not defined, assigning default: {} m
[ INFO] [1705902007.127744331]: robot_body_filter_containment: Parameter body_model/inflation/per_link/scale not defined, assigning default: {}
[ INFO] [1705902007.127781772]: robot_body_filter_containment: Parameter ignored_links/bounding_sphere not defined, assigning default: []
[ INFO] [1705902007.127832479]: robot_body_filter_containment: Parameter ignored_links/bounding_box not defined, assigning default: []
[ INFO] [1705902007.127844091]: robot_body_filter_containment: Parameter ignored_links/contains_test not defined, assigning default: []
[ INFO] [1705902007.127884750]: robot_body_filter_containment: Parameter ignored_links/shadow_test not defined, assigning default: ["laser"]
[ INFO] [1705902007.127917295]: robot_body_filter_containment: Parameter ignored_links/everywhere not defined, assigning default: []
[ INFO] [1705902007.127927562]: robot_body_filter_containment: Parameter only_links not defined, assigning default: []
[ INFO] [1705902007.127937848]: robot_body_filter_containment: Parameter body_model/dynamic_robot_description/field_name not defined, assigning default: robot_model
[depth_camera_kinectv2-1] process has died [pid 8745, exit code -11, cmd /opt/ros/noetic/lib/sensor_filters/pointcloud2_filter_chain ~input:=/number_count ~output:=velodyne_points_filtered __name:=depth_camera_kinectv2 __log:=/home/ted/.ros/log/aad8109e-b8e8-11ee-95b4-41a4f7dc10d2/depth_camera_kinectv2-1.log].
log file: /home/ted/.ros/log/aad8109e-b8e8-11ee-95b4-41a4f7dc10d2/depth_camera_kinectv2-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete
done
### gdb
#0 0x00007ffff20a2308 in double __vector(4) Eigen::internal::pload<double __vector(4)>(Eigen::internal::unpacket_traits<double __vector(4)>::type const*) ()
from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#1 0x00007ffff2148fd6 in double __vector(4) Eigen::internal::evaluator<Eigen::PlainObjectBase<Eigen::Matrix<double, 4, 4, 0, 4, 4> > >::packet<32, double __vector(4)>(long, long) const ()
from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#2 0x00007ffff2146067 in void Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::assign_op<double, double>, 0>::assignPacket<32, 32, double __vector(4)>(long, long) () from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#3 0x00007ffff2141941 in void Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::assign_op<double, double>, 0>::assignPacketByOuterInner<32, 32, double __vector(4)>(long, long) () from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#4 0x00007ffff213c3d6 in Eigen::internal::copy_using_evaluator_innervec_CompleteUnrolling<Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::assign_op<double, double>, 0>, 0, 16>::run(Eigen::internal::generic_dense_assignment_kernel<Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eigen::internal::evaluator<Eigen::Matrix<double, 4, 4, 0, 4, 4> >, Eig--Type <RET> for more, q to quit, c to continue without paging--c
en::internal::assign_op<double, double>, 0>&) () from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#5 0x00007ffff1d01e3e in bodies::ConvexMesh::updateInternalData() () from /home/ted/catkin_ws/devel/lib/libgeometric_shapes.so.0.7.5
#6 0x00007ffff129d5b9 in point_containment_filter::ShapeMask::addShape (this=0x555555bab770, shape=warning: RTTI symbol not found for class 'std::_Sp_counted_ptr<shapes::Mesh*, (__gnu_cxx::_Lock_policy)2>'
warning: RTTI symbol not found for class 'std::_Sp_counted_ptr<shapes::Mesh*, (__gnu_cxx::_Lock_policy)2>'
std::shared_ptr<const class shapes::Shape> (use count 1, weak count 0) = {...}, scale=1, padding=0.029999999999999999) at ./point_containment_filter/src/shape_mask.cpp:78
#7 0x00007ffff1d87b62 in robot_body_filter::RayCastingShapeMask::addShape(std::shared_ptr<shapes::Shape const> const&, double, double, double, double, double, double, double, double, bool, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /home/ted/catkin_ws/devel/lib/libRayCastingShapeMask.so
#8 0x00007ffff20d8bf5 in robot_body_filter::RobotBodyFilter<sensor_msgs::PointCloud2_<std::allocator<void> > >::addRobotMaskFromUrdf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) () from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#9 0x00007ffff20bc59a in robot_body_filter::RobotBodyFilter<sensor_msgs::PointCloud2_<std::allocator<void> > >::configure() () from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#10 0x00007ffff209b678 in robot_body_filter::RobotBodyFilterPointCloud2::configure() () from /home/ted/catkin_ws/devel/lib//librobot_body_filter.so
#11 0x000055555558200a in ?? ()
#12 0x0000555555582b4a in ?? ()
#13 0x0000555555582ea2 in ?? ()
#14 0x000055555558d217 in ?? ()
#15 0x000055555558b54c in ?? ()
#16 0x0000555555568c31 in ?? ()
#17 0x00007ffff7834083 in __libc_start_main (main=0x555555568bf0, argc=5, argv=0x7fffffffd4f8, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7fffffffd4e8) at ../csu/libc-start.c:308
#18 0x0000555555568dae in ?? ()
Okay, this CPU has AVX instructions.
I still see in the gdb trace:
bodies::ConvexMesh::updateInternalData()
So there probably still is some collision mesh left? Or an element with only a visual mesh and no collision (I'm not sure whether these are automatically used for collision or not).
Also, does the problem happen if you install robot_body_filter using APT?
The errors you see on the other computer mean you have too short TF timeout. But that definitely doesn't lead to the segfaults.
i remake the whole ROS workspace by
catkin build --cmake-args -DCMAKE_CXX_FLAGS="-mno-avx"
and also i have used the pcl ,so recompile the pcl with the same flag.
now its work and publish the point cloud !!
i felt like it kind of problem between eigen and AUX instructions, thanks for the helps again.
Great it works now. It is very important to have the avx/sse flags identical for all used libraries.
Just to make it clear - did you specify any custom compiler flags in your unsuccessful cases?
I only used
catkin build
to compile to code before.
oh and i have tried to change the gcc version from 7 to 9 and still not working before.
now i have to add the flag.
It definitely shouldn't be needed to add the flag.
oh and i have tried to change the gcc version from 7 to 9 and still not working before.
All you other debug info indicated you're on Ubuntu 20.04. This Ubuntu has default GCC 9 and GCC 7 should not even be available on this system. Do you have some unusual system configuration?
And what about the APT-installed package? Does it also have this problem?
i have tried using the apt install but still not working(before adding the flag)
Please, checkout current master. I've added examples/full_example.launch
. Try running that and see if it fails, too. This should need nothing else running and should provide you with an RViz window displaying results of a running LaserScan body filter.
Thanks you ,I will try it later.
Sorry, I don't understand what you mean.Should I remake my Ros workspace without cpp flag only using catkin build to test it?
You said you're building this package from source. Just update it from git (git pull
). No rebuilding needed.
can you help me,please
SUMMARY
lsb_release -a
No LSB modules are available. Distributor ID: Ubuntu Description: Ubuntu 20.04.6 LTS Release: 20.04 Codename: focal
uname -a
Linux ted 5.15.0-91-generic #101~20.04.1-Ubuntu SMP Thu Nov 16 14:22:28 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux
gdb
(gdb) bt
launch file & yaml
my tf tree
and i compiled it from source
after rebuild the geometric_shapes from source still corrupt
(gdb) bt