Open geoeo opened 4 months ago
Edit: It seems the culprit were AVX/SSE instructions. After I disabled them both on compilation it works!
Hi, the thing with SSE and AVX is that the options used when compiling PCL should match the options used for your own project, otherwise problems can occur. Usually, CMake takes care of this (unless you do not use CMake for building your own project, edit: or you manually change SSE/AVX options in your own CMakeLists.txt). Enabling PCL_NO_PRECOMPILE
also often makes these problems go away because more of PCL's code is compiled together with your own code, so SSE/AVX options are the same.
If you provide a backtrace, e.g. from gdb or valgrind, I can try to take a guess what exactly happens in your case.
@mvieth Will do. In another note: Could the problem we that I didnt compile eigen with AVX/SSE? I just installed via apt
@mvieth Will do. In another note: Could the problem we that I didnt compile eigen with AVX/SSE? I just installed via apt
Eigen is a header-only library, so there are no binaries installed. The classes and functions from Eigen are compiled when PCL and your own project are compiled.
Ok so I recompiled PCL in Debug mode with AVX and SSE on. And I am running my code in RelWithDebug. It doesnt seem to happen in Debug.
I think whats happening is that it tries to free the point_cloud data structure and somehow the filtering already consumes it? Sorry that I cant provide a more detailed trace
I think whats happening is that it tries to free the point_cloud data structure and somehow the filtering already consumes it? Sorry that I cant provide a more detailed trace
point_cloud_filtered
is filled by the outlier removal filter, and point_cloud
is only read from by the filter, so I don't think that's it.
Another thing: can you post your CMakeLists.txt? And run your program with valgrind? That might give us more information.
point_cloud is a scoped pcl that should be released when the functions returns.
Describe the bug
memory free error when using statistical outlier filter or radius outlier filter. Pass through works. This happens when either SSE or AVX are enabled
A clear and concise description of what the bug is.
When using the filters mentioned above to filter a point cloud the program crashes when the function returns on a memory free
What are you trying to accomplish? Providing context helps us come up with a solution that is most useful in the real world
Filter point clouds
A clear and concise description of what you expected to happen.
The program does not crash
What happens instead of the expected behavior?
The program crashes
Screenshots/Code snippets
Setup:
Code:
Your Environment (please complete the following information):