We recently upgraded to JetPack 2.2.1 and realized there is a memory leak in the Ubuntu windows management. It is so strange to describe that I recorded a short video to show it live.
You can download the video at this link https://we.tl/p6g6bYiqbA (the link will expire on 5 September, I can repost it afterwards if needed)
Basically what happens is that every time I switch the focus from one application to another one, for example by pressing ALT+TAB, the overall memory used by the system increases by roughly 25MB each time.
This means that just by going from one application to another 10 times the memory grows by 250MB. This rapidly leads to have the full memory of the device completely occupied and the system crashes.
When the RAM usage is over 3.4GB then all applications crashes by segfault, both our own application and the GIE samples provided, therefore we have to restart the board like every hour of work or so. This is very annoing and I don’t know if the same problem may be triggered by other causes or what may happens when mounted on the robot.
The video shows the “System monitor” application measuring the RAM usage, but the tegrastats scripts give the same values. (The screen recorder is only used with the purpose of showing what happens, the behaviour is the same without it. The colors are fuzzy because I choose lowest recording quality).
When we realized this bug, we already installed a bunch of things… At the time present I cannot say if this bug will be present after a clean flash.
The list of operation done on the Jetson after flashing Jetpack is roughly the following:
sudo mkdir -p $ROBOT_CODE
sudo chown $USER.$USER $ROBOT_CODE
sudo apt-get -y install libprotobuf-dev libleveldb-dev libsnappy-dev libhdf5-serial-dev protobuf-compiler
sudo apt-get -y install --no-install-recommends libboost-all-dev
sudo apt-get -y install synaptic terminator git qgit git-gui cmake cmake-curses-gui synergy locate
sudo apt-get -y install libgflags-dev libgoogle-glog-dev liblmdb-dev
sudo apt-get -y install libace-dev libgsl0-dev libc6 python libncurses5-dev libsdl1.2-dev subversion gfortran libxmu-dev libode-dev wget unzip qtbase5-dev qtdeclarative5-dev qtmultimedia5-dev libqt5svg5 freeglut3-dev libtinyxml-dev qtdeclarative5-qtquick2-plugin qtdeclarative5-window-plugin qtdeclarative5-qtmultimedia-plugin qtdeclarative5-controls-plugin qtdeclarative5-dialogs-plugin libgtkdataboxmm-dev libgoocanvasmm-dev qtdeclarative5-qtquick2-plugin qtdeclarative5-window-plugin qtdeclarative5-qtmultimedia-plugin qtdeclarative5-controls-plugin qtdeclarative5-dialogs-plugin libgtkdataboxmm-dev libgoocanvasmm-dev
git clone https://github.com/xianyi/OpenBLAS.git
git clone http://www.github.com/robotology/yarp.git &
git clone http://www.github.com/robotology/icub-main.git &
git clone http://www.github.com/robotology/icub-contrib-common.git &
git clone http://www.github.com/robotology/himrep.git &
make install PREFIX=./install
make runtest &