-
-
Notifications
You must be signed in to change notification settings - Fork 4.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pcl::io::loadPCDFile] The issue of thread stopping #6209
Comments
@sharknow Does this always happen when you try to load a specific PCD file? If yes, please upload that file (zipped). In addition to the stack information you posted, is there anything else printed? An error message, or an exception? Do you try to load PCD files in parallel? Please show the relevant part of your code (where the error happens). |
It doesn't always happen, using the same PCD file, the next load will be normal. There is no other stack information, the phenomenon is that this thread is stuck, and its CPU usage is 99%, which has been like this all along. I did not attempt to load the PCD file in parallel, but I can give it a try next. The relevant code is shown below:
|
At that time, the computer's memory usage was also at a normal level |
Still, please upload a PCD file (zipped) where the error has happened so that I can inspect it and try to reproduce the problem on my computer. |
I am using a Linux system. pcl: 1.10. compiler (version): gcc 9.4.0 The program was terminated by me, and if I don't terminate it, it will keep getting stuck. The CPU usage rate has always been around 98%. |
Which kind? Ubuntu, or Debian, or something else? Which version?
PCL 1.10.0 or PCL 1.10.1? Can you say how many PCD files are successfully loaded, before the program gets stuck?
No need to try that if the program did not do that before. But are you using multiple threads in your program? I am asking because I saw Also, what kind of computer do you use? Is it a Raspberry Pi by chance? If yes, which model? I found this which might be related: https://forums.raspberrypi.com/viewtopic.php?t=281333 |
Thank you very much for your reply! Linux Ubuntu system. pcl: 1.10.0 I have created a separate thread to load the map, which is executed approximately every minute. Approximately 40 pcd files are loaded each time. Sometimes it gets stuck when loading to the 10th file, and sometimes it gets stuck when loading to the 7th file. But what I can confirm is that these PCD files are normal, and when I restart the program, I can successfully load these map files. The frequency of these issues is not high, and the program runs every day, with one or two blocking problems occurring every day. When the program starts running in the morning, it usually doesn't have any problems. After running for about 3 or 5 hours, it will have problems, which makes me feel very strange. Computer: NVIDIA Orin NX Developer Kit Operating System: Ubuntu 20.04.5 LTS |
Occasionally, there may be thread jamming issues when reading a PCD file.
The following is the stack information when the thread stops:
#0 0x0000ffff98218b44 in std::istream::sentry::sentry(std::istream&, bool) () from /lib/aarch64-linux-gnu/libstdc++.so.6
#1 0x0000ffff981c4420 in std::basic_istream<char, std::char_traits >& std::getline<char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, char) () from /lib/aarch64-linux-gnu/libstdc++.so.6
#2 0x0000ffff742e1798 in pcl::PCDReader::readHeader(std::istream&, pcl::PCLPointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&) () from /lib/aarch64-linux-gnu/libpcl_io.so.1.10
#3 0x0000ffff742e31a4 in pcl::PCDReader::readHeader(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, pcl::PCLPointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int&, unsigned int&, int) () from /lib/aarch64-linux-gnu/libpcl_io.so.1.10
#4 0x0000ffff742e0ea8 in pcl::PCDReader::read(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, pcl::PCLPointCloud2&, Eigen::Matrix<float, 4, 1, 0, 4, 1>&, Eigen::Quaternion<float, 0>&, int&, int) () from /lib/aarch64-linux-gnu/libpcl_io.so.1.10
#7 0x0000ffff981d7f9c in ?? () from /lib/aarch64-linux-gnu/libstdc++.so.6
#8 0x0000ffff98c51624 in start_thread () from /lib/aarch64-linux-gnu/libpthread.so.0
#9 0x0000ffff9804562c in ?? () from /lib/aarch64-linux-gnu/libc.so.6
The text was updated successfully, but these errors were encountered: