ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange |
1 | initial version |
It turns out that the callbacks that were not getting triggered are the ones expecting Lidar PointClouds which are too big for valgrind to load since it has a limited memory block for programs running on it. See their official documentation. The callbacks getting triggered where the ones expecting a radar point cloud which is much more lightweight.
The only solution is to
"change the 8 MB hardcoded limit and recompile Valgrind."
If I had added the -v
flag (verbose) to the prefix like so prefix=['valgrind --tool=callgrind -v'],
in the launch file, I would have seen the error
[profiling_node-1] ==56144== brk segment overflow in thread #1: can't grow to 0x48cd000
[profiling_node-1] ==56144== (see section Limitations in user manual)
Which wold have saved me a lot of time to find the source of the problem.
2 | No.2 Revision |
It turns out that the callbacks that were not getting triggered are the ones expecting Lidar PointClouds which are too big for valgrind to load since it has a limited memory block for programs running on it. See their official documentation. The callbacks getting triggered where the ones expecting a radar point cloud which is much more lightweight.
The only solution is to
"change the 8 MB hardcoded limit and recompile Valgrind."
If I had added the -v
flag (verbose) to the prefix like so prefix=['valgrind --tool=callgrind -v'],
in the launch file, I would have seen the error
[profiling_node-1] ==56144== brk segment overflow in thread #1: can't grow to 0x48cd000
[profiling_node-1] ==56144== (see section Limitations in user manual)
Which wold would have saved me a lot of time to find the source of the problem.