ORB_SLAM3 icon indicating copy to clipboard operation
ORB_SLAM3 copied to clipboard

Segmentation fault (Framebuffer with requested attributes not available.)

Open hlin863 opened this issue 1 year ago • 4 comments

When running the instruction on running the monotum program with configurations from the file "TUM${fr_code}.yaml", to produce visual estimations of the camera's pose and reconstruct the environment using a single camera:

./Install/bin/mono_tum TUM${fr_code}.yaml ${your_tum_dataset_folder} ${result_file_name}

I encountered a segmentation fault error as following: ORB-SLAM2 Copyright (C) 2014-2016 Raul Mur-Artal, University of Zaragoza. (modifications carried out at UCL, 2022) This program comes with ABSOLUTELY NO WARRANTY; This is free software, and you are welcome to redistribute it under certain conditions. See LICENSE.txt.

Input sensor was set to: Monocular

Loading ORB Vocabulary. This could take a while... Using the binary cache file Vocabulary loaded in 0.08s

Camera Parameters:

  • fx: 517.306
  • fy: 516.469
  • cx: 318.643
  • cy: 255.314
  • k1: 0.262383
  • k2: -0.953104
  • k3: 1.16331
  • p1: -0.005358
  • p2: 0.002628
  • fps: 30
  • color order: RGB (ignored if grayscale)

ORB Extractor Parameters:

  • Number of Features: 1000
  • Scale Levels: 8
  • Scale Factor: 1.2
  • Initial Fast Threshold: 20
  • Minimum Fast Threshold: 7

Start processing sequence ... Images in the sequence: 798

InitializerLogger Initializer::~Initializer Initializer::~Initializer Initializer::~Initializer Framebuffer with requested attributes not available. Using available framebuffer. You may see visual artifacts.New Map created with 84 points Wrong initialization, reseting... System Reseting Segmentation fault

Which steps should I take to fix the segmentation error?

Thank you!

hlin863 avatar Mar 22 '24 15:03 hlin863

try to run it with sudo

mjunsen123 avatar Mar 27 '24 12:03 mjunsen123

./Install/bin/mono_tum TUM${fr_code}.yaml ${your_tum_dataset_folder} ${result_file_name}

When running sudo, the command is not found with the message "sudo: ./Install/bin/mono_tum: command not found" for the instruction "sudo ./Install/bin/mono_tum TUM123.yaml /path/to/your/tum/dataset/folder results.txt"

hlin863 avatar Apr 10 '24 10:04 hlin863

try to run it with sudo

The same segmentation error occurs after running with "sudo".

hlin863 avatar Apr 11 '24 11:04 hlin863

I believe the segfault is being caused by the map being reset in CreateMapMonocular() by:

  if (medianDepth < 0 || pKFcur->TrackedMapPoints(1) < 50) {
    Verbose::PrintMess("Wrong initialization, reseting...", Verbose::VERBOSITY_QUIET);
    RequestResetActiveMap();
    return;
  }

I've found that the system resets are very unstable, and I don't know entirely what caused this one to segfault.

The main issue in your case is that when SLAM functions properly, you should never be entering that if statement. Try to figure out which of the two conditions is true, and see if you can fix that.

basedball avatar Apr 24 '24 13:04 basedball