Closed DreamWaterFound closed 4 years ago
Hi @DreamWaterFound ,
Thank you for raising the issue.
1) Loop closure seg fault:
Note that if you use OpenCV's 3D visualization (the one you are showing in the gif), and run in parallel mode, there is a known bug in OpenCV which doesn't free memory appropriately and kills the VIO pipeline in a bad way (seg fault). This will only happen when the pipeline has finished processing.
By default, the final_k
parameter is set to 2000 frames: aka the Euroc dataset will be run up to its 2000th frame (you can check for this param in the script you run). I see your log output saying that it reached frame 1999. So probably you are seeing this issue.
The issue doesn't appear if you run in sequential mode I believe.
2) The msg: createMesh2D - error, keypoint out of image frame.
should be silent. It is not important and you can safely ignore it.
3) The mesh is colored white by default, but I switched the default to be the one in the gif. I'll merge this asap.
4) The failing test ReadAndConvertToGrayScale
is indeed a bit weird since you are using a supported opencv version. I have opened a ticket on our side to make sure we fix that.
In addition, note that the "LoopClosureDetector: No output callback registered. Either register a callback or disable LCD with flag use_lcd=false."
message should be a warning and is not indicative of any serious error in the pipeline. I'll open a PR to change the status of this message to a warning.
Hi @DreamWaterFound, we've fixed this problem in 566e43c5a9195035a60b651890a34264cb3690c0. Let us know if it still happens.
Description:
When I running "stereoVIOEuroc.bash", everything is OK. After a while, a segmentation fault occured when vio-system processing the frame in sequence "Euroc/V1_01_easy" and "Euroc/V2_01_easy". (Other sequences have not been tested)
I thought it's related the Euroc-datasets I used, but the problem remains after I used your version of Euroc-datasets. Then I checked the information in the core file and found that this problem is related to the thread of loop closure detector (See "Key messages in core file" for details).
Well, I have changed the parameter
--use_lcd
and--parallel_run
(i.e., parameterUSE_LCD
andPARALLEL_RUN
in "stereoVIOEuroc.bash") and some things looks different:--use_lcd
--parallel_run
* Error message: "LoopClosureDetector: No output callback registered. Either register a callback or disable LCD with flag use_lcd=false."
I have no idea about it. It will take me a long time to read and analyse source codes ... Could you please help me to solve this problem? I would appreciate it. O(≧▽≦)O
Command:
Parameters in stereoVIOEuroc.bash:
Console output:
Key messages in core file:
Additional messages
I have one test failed during
make test
:Furthermore, the Triangular mesh displayed by 3-D Visualizer colored pure white, which is different to your demo GIFs:
Is this OK? I don't know if it's related to the above "segmentation fault" problem.
Additional files: These log files were generated before segmentation fault happened, with
USE_LCD = 0
andPARALLEL_RUN = 1
.output_logs.zip
Environment
master
, commitbe9fce3