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

Seg Fault after successful compiling #2

Open
puiglm opened this issue Aug 11, 2017 · 14 comments
Open

Seg Fault after successful compiling #2

puiglm opened this issue Aug 11, 2017 · 14 comments

Comments

@puiglm
Copy link

puiglm commented Aug 11, 2017

commad:
../bin/run_pipeline ../config/dataset_params.yaml

I get the following error:
FATAL: Signal SIGSEGV caught!

gdb does not provide any information:
Program received signal SIGSEGV, Segmentation fault.
0x000000000040f862 in main ()

I have not idea where the issue might be. I compiled Sophus, Vitik, SVO and pl-svo in that order.

Thanks,
Luis Puig

@llcc343
Copy link

llcc343 commented Aug 20, 2017

Maybe you can try gdb to get some information

@highlightz
Copy link

@longchao343 超哥,你跑起来了吗?调用mrpt库生成场景那里一直崩溃,请问如何解决?

@highlightz
Copy link

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():

=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:

Aborted (core dumped)

@llcc343
Copy link

llcc343 commented Aug 25, 2017

@highlightz 跑起来了,我把mrpt相关的全部去掉了,他的显示实现好像有问题,数据集没几个能跑通的。。。

@highlightz
Copy link

V102这种,跑的效果如何?稳定性和精度。

@jessicajie
Copy link

I want yo know the" ./run_pipeline <dataset_path> ",how to use?

I always have this mistake:
FATAL: Signal SIGSEGV caught!
Aborted (core dumped)

What needs to be modified in this step?Can the specific command guide me?
Which dataset is better here?
Thanks very much!

@cumtchenchang
Copy link

@highlightz 请问你调试出来了吗?我也是遇到segmentation fault。

@newyeo
Copy link

newyeo commented Jan 30, 2019

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():

=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:

Aborted (core dumped)

I do have the same problem.
Maybe there is a bug related to scene so that I can not run it.
after I comment several lines about scene, it finally runs.
commented lines as below:
385 scene.initializeScene(T_f_w); //in run_pipline.cpp
483 scene.setLinesSVO(lines3d); //in run_pipline.cpp
486 scene.updateScene(); //in run_pipline.cpp

the result is nothing show in MRPT window. you can only see the output in console.

@2016cxg
Copy link

2016cxg commented Feb 13, 2019

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():

=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:

Aborted (core dumped)

I am not sure about your issue, but I really meet one like this,
2019-02-13 19-15-44

I found I was incorrectly organizing the datasets directory. Later, I corrected like this,
2019-02-13 19-28-08

Reason
As is seen is this organization, datasets is a library of my datasets and image1 goes a sample.
Note that in the image1 directory, I have my image files whose extension are .png in directory images. Meanwhile, dataset_params.yaml should also be included.
Those two requirements was told in statement That sequence folder must contain the dataset configuration file named dataset_params.yaml following the examples in pl-svo/confin from pl-svo Readme.md file and in statement the images_subfolder: images/ from dataset_params.yaml file.

Then, I set the environmental variable DATASETS_DIR using commands like this
2019-02-13 20-02-57

Reason
Setting environmental variable DATASETS_DIR was required in the statement the environment variable ${DATASETS_DIR} that must be previously set. from Readme.md. Note that that the path value of DATASETS_DIR refers to the path of directory datasets as mentioned in red frame in the following picture
2019-02-13 19-28-08

After the two operations, I run run_pipline using dataset_name image1, as is shown below
2019-02-13 20-14-01

Hope you are in helping hands

@2016cxg
Copy link

2016cxg commented Feb 13, 2019

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():
=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:
Aborted (core dumped)

I do have the same problem.
Maybe there is a bug related to scene so that I can not run it.
after I comment several lines about scene, it finally runs.
commented lines as below:
385 scene.initializeScene(T_f_w); //in run_pipline.cpp
483 scene.setLinesSVO(lines3d); //in run_pipline.cpp
486 scene.updateScene(); //in run_pipline.cpp

the result is nothing show in MRPT window. you can only see the output in console.

Maybe bugs lie in sceneRepresentation.cpp, where there is something wrong with line 264, line 285, line 313.

I investigate by some lines like this
2019-02-14 01-59-35 and then re-run sudo ./bash.sh, then I run *./run_pipline image1 *and get stuck at that line who comes as v_aux_ = v_aux;

I dig deeper and find that v_aux_ are always holding the same value with v_aux, thus no need to differentiate them. Therefore, I replace v_aux_ with v_aux and comment this line v_aux_ = v_aux; , so are the other two variables v_auxgt_ and v_aux1_ . Then I recompile and re-run run_pipline to successfully see the window. My final video seems like this

Hope a helping hand!

@maazmb
Copy link

maazmb commented Feb 22, 2019

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():
=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:
Aborted (core dumped)

I do have the same problem.
Maybe there is a bug related to scene so that I can not run it.
after I comment several lines about scene, it finally runs.
commented lines as below:
385 scene.initializeScene(T_f_w); //in run_pipline.cpp
483 scene.setLinesSVO(lines3d); //in run_pipline.cpp
486 scene.updateScene(); //in run_pipline.cpp
the result is nothing show in MRPT window. you can only see the output in console.

Maybe bugs lie in sceneRepresentation.cpp, where there is something wrong with line 264, line 285, line 313.

I investigate by some lines like this
2019-02-14 01-59-35 and then re-run sudo ./bash.sh, then I run ./run_pipline image1 *and get stuck at that line who comes as **v_aux = v_aux;*_

I dig deeper and find that **v_aux_ are always holding the same value with v_aux, thus no need to differentiate them. Therefore, I replace **v_aux_ with v_aux and comment this line **v_aux = v_aux;_ , so are the other two variables **v_auxgt_ and **v_aux1**_ . Then I recompile and re-run run_pipline to successfully see the window. My final video seems like this

Hope a helping hand!

@2016cxg : Bro can we please chat in detail...im having this issue running pl-svo. I would be grateful. My wechat: Maazbutt or 13121025446

I think this error is because of line 559 in scenerepresentation.cpp....as it cannot find any help.png.
As the code gets stuck at line 561 which actually needs the aux/help.png (not available).
looking forward to talk with you

@newyeo
Copy link

newyeo commented Feb 26, 2019

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():
=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:
Aborted (core dumped)

I do have the same problem.
Maybe there is a bug related to scene so that I can not run it.
after I comment several lines about scene, it finally runs.
commented lines as below:
385 scene.initializeScene(T_f_w); //in run_pipline.cpp
483 scene.setLinesSVO(lines3d); //in run_pipline.cpp
486 scene.updateScene(); //in run_pipline.cpp
the result is nothing show in MRPT window. you can only see the output in console.

Maybe bugs lie in sceneRepresentation.cpp, where there is something wrong with line 264, line 285, line 313.

I investigate by some lines like this
2019-02-14 01-59-35 and then re-run sudo ./bash.sh, then I run ./run_pipline image1 *and get stuck at that line who comes as **v_aux = v_aux;*_

I dig deeper and find that **v_aux_ are always holding the same value with v_aux, thus no need to differentiate them. Therefore, I replace **v_aux_ with v_aux and comment this line **v_aux = v_aux;_ , so are the other two variables **v_auxgt_ and **v_aux1**_ . Then I recompile and re-run run_pipline to successfully see the window. My final video seems like this

Hope a helping hand!

I've seen there are only three v_aux_ in the following several lines but I did not test it because it can not compile successfully as the develop verionment changed. Embarrassing .....
Now I've changed to another program. I will try to debug it at my spare time. Thank you anyway!

@newyeo
Copy link

newyeo commented Mar 1, 2019

I meet below running error, which seems originate from mrpt based scene creating:
[INFO] SVO initialized
before scene creating
after scene constructing
terminate called after throwing an instance of 'std::logic_error'
what():
=============== MRPT EXCEPTION =============
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 209:
Origin image is empty! (o.img==NULL)
void mrpt::utils::CImage::copyFastFrom(mrpt::utils::CImage&), line 225:
Aborted (core dumped)

I do have the same problem.
Maybe there is a bug related to scene so that I can not run it.
after I comment several lines about scene, it finally runs.
commented lines as below:
385 scene.initializeScene(T_f_w); //in run_pipline.cpp
483 scene.setLinesSVO(lines3d); //in run_pipline.cpp
486 scene.updateScene(); //in run_pipline.cpp
the result is nothing show in MRPT window. you can only see the output in console.

Maybe bugs lie in sceneRepresentation.cpp, where there is something wrong with line 264, line 285, line 313.

I investigate by some lines like this
2019-02-14 01-59-35 and then re-run sudo ./bash.sh, then I run ./run_pipline image1 *and get stuck at that line who comes as **v_aux = v_aux;*_

I dig deeper and find that **v_aux_ are always holding the same value with v_aux, thus no need to differentiate them. Therefore, I replace **v_aux_ with v_aux and comment this line **v_aux = v_aux;_ , so are the other two variables **v_auxgt_ and **v_aux1**_ . Then I recompile and re-run run_pipline to successfully see the window. My final video seems like this

Hope a helping hand!

It surely will stick at line **v_aux_ = v_aux **.
I tried your method. Comment this line **v_aux_ = v_aux ** and repleace the other v_aux_ with **v_aux **. Then sometimes it can work sometimes it can not and it doesn't show tracjectory.
Finally, I made a change in CmakeList.txt .
changes like below:
#SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -mtune=native -march=native")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")

Change the first line into the second line.
Means delete compile options behind the c++11.
Then it works!

Hoping a useful hand.

@zxp771
Copy link

zxp771 commented Apr 3, 2019

Hi @2016cxg
Thx for your sharing.
I tried your suggestion. But there still has the same error like this:
image
I modified the code as you said"replace v_aux_,v_auxgt,v_aux1_ with v_aux,v_auxgt,v_aux1"
image
image
And set the DATASET DIR
image
Then rerun the ./run_pipeline image1.
image
Could you please give me some advise to solve the problem?

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

9 participants