-
Notifications
You must be signed in to change notification settings - Fork 236
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
tutorial not reproducing promised result #88
Comments
Im having the same problem. I went a bit into the code but cant figure out why this happens. The program shutdowns after you close down that plot. |
Have you tried to press Q after this window poped up? |
Yes I tried, program halts after I presss Q , nothing happens after |
Do you have the same problem as #87? |
yes I think this is likely same issue , I am also using 18.04 ubuntu, it does not give any error or warning, just silently ends without giving detection results |
I'm planning to investigate this further, but I don't have access to a Ubuntu 18.04 system at the moment. It's unclear what's causing this, but I suspect an Eigen related memory leak. Sorry about the delay. |
That would be really great , many Linux users are shifting to 18 04 now(including myself) |
Just tried it, I get this exact result as well on Ubuntu 18 Built source and tried debugging, step over using debugger jumps around in a strange way, probably from multiprocess with omp? I narrowed the bug to somewhere in the for loop(link to code below). seg fault triggerd by destructor of an Eigen matrix in PointList. Here is an image of the stack trace gpd/src/gpd/candidate/hand_search.cpp Line 172 in 96fc9bc
|
Problem is resolved after I remove compiler optimisation -O3 from cmakelists here. and also openmp directives here. I tried O1 and O2 as well but they also caused seg fault. The only permutation that worked is when optimisation is completely off. |
I got it working if I compile gpd with PCL 1.8.1, but I got the segfault when I do PCL 1.9 or higher. It seems like the compiler optimized some variable off when you try to slice the point cloud. |
Tried with Ubuntu 18.04, PCL 1.11.0, got segfaults. I wonder why it fails with PCL 1.9 as this is requested in the requirements, so somebody got it working with PCL 1.9+? |
@Nurgak Hi there, did you manage to run the GPD 2 with PCL 1.8.1? Because after I installed PCL 1.8 and cmake the GPD, the segmentation fault still came out. Thanks a lot. |
@JasonLiu324 The only relevant modifications I made was to
|
@Nurgak I really appreciate for your reply, thanks a lot. I have made these changes, but I still got the segfault. I'm now using Ubuntu 16.04, kinetic, PCL 1.8, VTK 7.1, OpenCV 3.3 and Eigen3. It is really confusing. BTW, when I cmake the GPD, there shows some warning such as: In file included from /usr/include/pcl-1.8/pcl/sample_consensus/sac_model.h:52:0, Does this warning have something to do with the error? |
@JasonLiu324 I tried it in June and forgot what warnings came up. Try with OpenCV 3.4 as mentioned in the required dependancies. I was using Ubuntu 18.04, Melodic, PCL 1.8.1 and running GPD in a Docker container if that makes any difference. |
#96 can make it work. |
Could you try the following flags?
This works for me in Ubuntu 18.04 where with the previous set of flags, I'd encountered a segfault. The compilation takes some time, but GPD runs fast. |
@atenpas I tried this, but it wouldn't compile. Perhaps I'm doing something wrong:
edit: Oof I saw the mistake as I posted this comment. There is a space in the word deprecated in one of the flags! without this, it'll compile. Now going to test if it'll indeed run fast. edit 2: Big oof, running into the same segmentation fault again. edit 3: Alright wtf, setting the build type to debug mode fixes this error. No idea why but if the above command doesn't work. Try
Ofcourse you can also set this in the CMakeList, but I'm running this through a Dockerfile, so this is a lot easier. Indeed takes a while to compile, but runs quickly again! Thanks! |
This builds gpd fine for me on both ubuntu 18.04 and ubuntu 20.04. However I found with gpd_ros, it triggers 'double free or corruption (out)' for deleting cloud_camera_ whenever it tries to delete an existing cloud_camera_ (therefore it only deletes fine for the first cloud_callback when cloud_camera_ is initalized as NULL). If I remove those flags ' -march=native -msse4.2 -mavx2 -mfma -flto' and rebuild gpd and gpd_ros the issue disppears and runs fine over time. I'm not very familar with those optimization flags, do you have any insight why the 'double free or corruption' issue happens and why removing those flags solve the problem? thanks! |
HI,
I appreciate the code and efforts.
when I try to reproduce tutorial result i don't get same result.
./detect_grasps ../cfg/eigen_params.cfg ../tutorials/krylon.pcd
only gives a PCL viewer with point cloud normals,
is anyone have same problem ?
The text was updated successfully, but these errors were encountered: