VINS-Fusion-gpu icon indicating copy to clipboard operation
VINS-Fusion-gpu copied to clipboard

Erroneous use of sensor_msgs::ImageConstPtr leads to extravagant memory overflow

Open zx1239856 opened this issue 5 years ago • 1 comments

In our experiment with Nvidia Jetson TX2, memory utilization of vins-gpu could go up to 85% (as mentioned in #2 ) and would eventually escalate sigkill. After we examined the main entry of ROS node rosNodeTest.cpp, we found you have used queue<sensor_msgs::ImageConstPtr> in line 29,30, which may bring about miserable results such as failure of memory deallocation of sensor_msgs::Image, thus causing memory panic. After making some minor changes, i.e. using queue<cv::Mat> and convert msgs just in time, this problem can be addressed. Note: extra care should be taken since cv::Mat wouldn't save extra info such as timestamp, which means you have to store it somewhere else manually. Hope this helps

zx1239856 avatar Sep 22 '19 19:09 zx1239856

@zx1239856 I have also noticed a memory leakage, after running vins in nvidia xavier. Have you explicitly modified the code and solved the problem ?

Thanks, Metin

mmp52 avatar Jan 16 '20 16:01 mmp52