Skip to content
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

Segmentation fault (core dumped) #2

Closed
minxuanjun opened this issue May 23, 2019 · 10 comments
Closed

Segmentation fault (core dumped) #2

minxuanjun opened this issue May 23, 2019 · 10 comments

Comments

@minxuanjun
Copy link

minxuanjun commented May 23, 2019

I am deeply attracted by your work,and thank you very much for your open source. But when I test your code , I encounter a program error “Segmentation fault (core dumped)”

@fabianschenk
Copy link
Owner

Hi,
I'm very excited to hear that people are interested in my work.
Could you please elaborate a bit more on how you try to run RESLAM and where exactly the "segmentation fault" occurs?
Make sure that you specify the correct dataset folder and that you pass the config files in the correct order.
If you're at ICRA at the moment, we could also meet up ;)

@minxuanjun
Copy link
Author

@fabianschenk Thank you very much for your prompt reply. because we are not in a same time zone, I can't reply in time. I run the following script RESLAM ../config_files/reslam_settings.yaml ../config_files/dataset_tum1.yaml in the build directory according your tutorial, it works well for a while, then a Segmentation fault error is throwed.The contents of the terminal output are as follows:
INF|ceresloopcloser.cpp[BuildOptimizationProblem,97]: Fixing: 14 flagFixPose: 1
INF|ceresloopcloser.cpp[BuildOptimizationProblem,94]: p: 15
INF|ceresloopcloser.cpp[BuildOptimizationProblem,97]: Fixing: 15 flagFixPose: 1
INF|ceresloopcloser.cpp[BuildOptimizationProblem,94]: p: 16
INF|ceresloopcloser.cpp[BuildOptimizationProblem,97]: Fixing: 16 flagFixPose: 1
INF|ceresloopcloser.cpp[BuildOptimizationProblem,103]: nFixedPoses: 7

Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)

@fabianschenk
Copy link
Owner

Hi,
I think there might be a problem with the Ceres version. Which version do you use? I'm currently on the a bit outdated Ceres 1.13.
Which dataset do you try to run?

I'll install the new Ceres version and try to reproduce the error when I'm back at my lab on Monday.

Best

@Quitino
Copy link

Quitino commented May 27, 2019

@fabianschenk @minxuanjun Hi,Is the problem solved now? I also encountered the same problem, when the program runs halfway, there will be a segmentation error, as shown.


INF|ceresloopcloser.cpp[BuildOptimizationProblem,94]: p: 85
INF|ceresloopcloser.cpp[BuildOptimizationProblem,97]: Fixing: 85 flagFixPose: 1
INF|ceresloopcloser.cpp[BuildOptimizationProblem,94]: p: 86
INF|ceresloopcloser.cpp[BuildOptimizationProblem,97]: Fixing: 86 flagFixPose: 1
INF|ceresloopcloser.cpp[BuildOptimizationProblem,94]: p: 87
INF|ceresloopcloser.cpp[BuildOptimizationProblem,97]: Fixing: 87 flagFixPose: 1
INF|ceresloopcloser.cpp[BuildOptimizationProblem,103]: nFixedPoses: 7
Segmentation fault(core dumped)

@fabianschenk
Copy link
Owner

Hi,
it is not solved yet since I haven't been back in the lab.
Once I'm back, I'll try to reproduce the segmentation fault and implement a fix.

Which version of ceres do you use @Quitino ?

@Quitino
Copy link

Quitino commented May 27, 2019

Hi,@fabianschenk Thank you very much for your reply, I am using version ceres 1.14.

@Quitino
Copy link

Quitino commented May 27, 2019

@fabianschenk ,HI, How does RESLAM work on low-texture scenes?

@fabianschenk
Copy link
Owner

I'm trying to reproduce the error but so far I've not managed to.
I tried various versions of Ceres (1.13, 1.14 and 2.0) the newest Sophus version and also the newest Eigen version. I get the same loop closure candidates but Ceres simply runs through instead of crashing. Everything points towards a problem with Ceres.
@Quitino
Did you also build the Ceres tests?
If yes, could you run the simple_bundle_adjuster as suggested in http://ceres-solver.org/installation.html:
bin/simple_bundle_adjuster ../ceres-solver-1.14.0/data/problem-16-22106-pre.txt

Regarding the low-texture scenes: Currently, RESLAM relies on Canny and of course on the defined thresholds. If no or very few edges are detected, then RESLAM has similar problems as feature- or (most) photoconsistency-based methods. You could try different edge detectors since CNN-based sometimes find edges even in challenging scenes.
We published another paper at BMVC that tackles this problem by combining the edge-based term with an ICP term. The paper is called: "Combining edge images and depth maps for robust visual odometry".

@Quitino
Copy link

Quitino commented Jun 4, 2019

Hi @fabianschenk Sorry, I didn't get back to you in time. Now that the problem has been solved, my Eigen library version is wrong. Thank you very much for your excellent work.

@fabianschenk
Copy link
Owner

@Quitino Thank you for your response.
I'm happy that the problem is solved. If anything else comes up, just open another issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants