ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 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.

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.