-
-
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
Alignment prerejective tutorial, segmentation fault #1684
Comments
What's your Eigen version? |
The Eigen version is: 3.2.92 I forgot to mention earlier that I get the following warning when compiling:
|
I also get that warning, that's unrelated. From your Eigen version I cannot see what the problem is then. Is there something special about your CPU architecture (the error seems to be in Eigen's use of Intel Intrinsics)? |
Nothing too special I would say: Intel® Xeon(R) CPU E5-1620 |
Hmm, ok. Then unfortunately, I can't help out here. It doesn't seem to be related specifically to the tutorial code, but rather to glitches in the underlying code. |
I just confirmed that the error on my notebook is the same (having an Intel i7 CPU). Do you have suggestions for a workaround? Did you try running the code in Ubuntu 16? |
Yes, I've run it on my Ubuntu 16.04 x64 with GCC 5.4, but using PCL 1.8 Again, I'm not the one to suggest the solution for this, I'm afraid. On Mon, Aug 22, 2016 at 3:11 PM, Martin Rünz [email protected]
|
Could not reproduce the issue.
|
@andersgb1 May I ask which Eigen version you have and whether you also use an Intel CPU? I hope that I will find some time within the next days to dig a bit deeper into the problem. |
Of course, lscpu | grep 'Model name' dpkg -l | grep libeigen On Tue, Aug 23, 2016 at 7:27 PM, Martin Rünz [email protected]
|
I just realised that the issue only appears when building the tutorial in debug mode. |
I just compiled and ran the tutorial in Debug mode (PCL master still On Sat, Aug 27, 2016 at 6:32 PM, Martin Rünz [email protected]
|
It works with my Ubuntu14.04 laptop, but fails with another Ubuntu 16.04 one... Is the system version causing the failure? |
I still think it's the Eigen version On Wed, Sep 14, 2016 at 9:37 PM, happy_cat [email protected] wrote:
|
I have same Eigen version as yours (libeigen3-dev 3.3~beta1-2). I am getting the same error. |
I have a similiar issue in a program using PCL 1.8, also with libeigen 3.3~beta1-2 (obviously shipped with Ubuntu 16.04). Colleagues of mine also experience this problem in other contexts and we were able to pinpoint it to a problem in alignment[0] and AVX optimization. I.e. if you compile it without -march=native (careful, maybe not the only optimization that causes this problem), it seems to work well. Since this problem seems to be introduced with the specific beta version of Eigen 3.3 I would be interested to know whether this is fixed in 3.3 or 3.3.1. Anyone try it out? Edit: Tried it with 3.3 and 3.3.1 and it still crashes. So the only option seems to be a rollback to previous version or disabling of avx optimization. [0] see here: https://eigen.tuxfamily.org/dox/group__DenseMatrixManipulation__Alignement.html |
I'm also using Ubuntu 16.04... The same error... |
I am having a similar problem with some related in-house code that crashes on some machines and not on others, event though all the build libraries are the same. I'm posting this here just in case it can be useful...
|
This Boost and lanczos stuff reminds me of #619. |
My previous post above about crashing on the tutorial code is (somehow...) fixed. The problem appears ONLY when compiling with flags |
@taketwo Thanks, very useful link ! I'll try to rebuild everything with same C++ flags. |
I've had the similiar issue with PCL versions 1.8.0, 1.7.2 and master. My final solution was to build PCL WITH |
@tistatos out of curiosity, was your Boost dependency compiled with c++11 support? |
@SergioRAgostinho - I'm using default boost packages from Here is the
My approach to the problem was to only try with different combination of versions of PCL and Eigen since that's where my gdb debug output led me to. never tested with other versions of Boost |
Can you all try the latest master version and provide some feedback on the results. |
Someone solved this? i have the same problem,when i use the align() function this results in segmentation fault, some people said to me to remove the NaN values, but even after that the problem persists. thanks for the help :) |
I had a similar problem and could run the tutorial when I defined different meshes for the downsample part. However, I got different alignments (I think the one I got is wrong):
I did the following for the beginning part of the algorithm:
|
I have also hit the bug. I think the bug is not in Eigen or boost, but in PCL 1.8.1 Because:
So I think the status is fixed in master, needs new release. |
We have some problems not properly exporting/not exporting the |
I don't see how this might be the case. As the debian packages are built without |
If you give it a try with the current master, using the snippet provided in #2013, you'll see that's not necessarily true. Compile PCL passing Another user went deep into the problem while trying to understand his spurious segfaults you can read more about it here #1725. |
Thanks for the pointers, I'll try to investigate further on the affected machine. |
I don't know the reason that the program built in one file runs well but the same program built under another file runs fault?? |
This was reported back in 2016, when we did not export SSE flags properly. Therefore, self-compiled PCL (likely with One year later this was resolved with #1917. From that point on, those who self-compiled PCL and did not forget to Now we have #2100 and it finally solves the issue for everyone, both those who compile themselves, and those who use packaged version. This will be a part of 1.9.0 release. We'll also try to re-release 1.8.1 since this is a serious problem, but I can not predict whether this will happen since I'm not a Debian maintainer. |
Eigen version 3.3.5
CMakelist.txt
main.cpp
bug_src.cpp
bug_header.cpp
When I add below macro in
When I comment the Could you please provide some advice? Thanks a lot! |
What happens if you add the following? target_link_libraries(libalignbug ${PCL_LIBRARIES}) |
Amazing, |
https://blog.csdn.net/wokaowokaowokao12345/article/details/51287011 |
Hi @taketwo, I'm using PCL 1.10.0 on a Ubuntu 20.04 machine, and encountered segfault when The function looks like
gdb and backtrack shows lines starting with
Do you know how I can solve this problem? |
@YukunXia I assume you installed PCL via apt. Don't use |
Thank you for your quick reply! Yeah, I installed PCL via apt, as recommended by PCL's website. I'll try installing PCL from scratch later. |
Hey, running the alignment prerejective tutorial (http://pointclouds.org/documentation/tutorials/alignment_prerejective.php) on my system results in a segmentation fault.
Environment
Code to Reproduce
I used the code and point-clouds as provided in the tutorial.
The error happens within the
Output:
Failed to find match for field 'curvature'.
Failed to find match for field 'normal_x'.
Failed to find match for field 'normal_y'.
Failed to find match for field 'normal_z'.
Failed to find match for field 'curvature'.
The program has unexpectedly finished.
Stack:
The text was updated successfully, but these errors were encountered: