1
$\begingroup$

I was trying to run interactive_slam on my WSL, since I used docker before but it had extremely poor performance (3FPS). So, I compiled everything just like I did on docker with ROS noetic, but when running it on WSL I get:


~/catkin_ws$ rosrun interactive_slam interactive_slam
construct solver: lm_var_cholmod
# Using CHOLMOD poseDim -1 landMarkDim -1 blockordering 1
done
Segmentation fault

with a screen that instantly opens and closes. Any idea to what the issue might be? I combed through the interactive SLAM git to find a solution but every solution that was suggested did not work. Any ideas as to where the issue is or what I can do to fix it?

gdb backtrace:

#0  0x0000000000000000 in ?? ()
#1  0x00007fd02445bd24 in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#2  0x00007fd02461aa5a in ?? () from /usr/lib/x86_64-linux-gnu/dri/swrast_dri.so
#3  0x000055bfe71d8caa in guik::GLCanvas::bind (this=0x55bfe8630c50, clear_buffers=true)
    at /home/inter/catkin_ws/src/interactive_slam/src/guik/gl_canvas.cpp:82
#4  0x000055bfe6fc572b in hdl_graph_slam::InteractiveSLAMApplication::draw_gl (this=0x55bfe80def50)
    at /home/inter/catkin_ws/src/interactive_slam/src/interactive_slam.cpp:148
#5  0x000055bfe71eb422 in guik::Application::run (this=0x55bfe80def50)
    at /home/inter/catkin_ws/src/interactive_slam/src/guik/imgui_application.cpp:94
#6  0x000055bfe6fba654 in main (argc=1, argv=0x7ffcc426b198)
    at /home/inter/catkin_ws/src/interactive_slam/src/interactive_slam.cpp:747

Edit: going to Ubuntu 18-04 fixed this problem, but still runs on low FPS since OpenGL uses llvmpipe instead of my integrated NVIDIA GeForce RTX 3060 Ti.

$\endgroup$
4
  • $\begingroup$ Just to clarify: You say that going to Ubuntu 18.04 fixes it, so in which version did you have the issue? Also, was the fix of going to 18.04 different from your posted answer? Does the posted answer also fix it in the previous (as yet unstated) version of Ubuntu? Or are both actions required (updating Ubuntu and the removal of the line)? $\endgroup$ Commented Apr 22 at 15:11
  • 1
    $\begingroup$ Ubuntu 20.04. I think it has something to do with unsupported drivers for this module (which is why Ubuntu 18.04 works, cause there it just uses the llvm drivers for me) $\endgroup$ Commented Apr 22 at 15:13
  • $\begingroup$ So, you need to do both (18.04 and remove the line)? BTW, you should probably put the required downgrade to 18.04 in your answer, rather than as an edit to the question. $\endgroup$ Commented Apr 22 at 15:14
  • 1
    $\begingroup$ No, removing the line is just fine. Ubuntu 18.04 fixes the seg fault but it doesn't actually use your own GPU, so it still has incredibly poor performance. I'll edit the answer regardless though, thanks for the tips. $\endgroup$ Commented Apr 22 at 15:43

1 Answer 1

2
$\begingroup$

In the end, the issue was happening in catkin_ws\src\interactive_slam\src\guik\gl_canvas.cpp. Went to the file, removed the line

glClearTexImage(frame_buffer->color(1).id(), 0, GL_RGBA_INTEGER, GL_INT, clear_color);

and it works (don't ask me why). Application still runs slow, but its doable. Keep in mind this is to get it to work in Ubuntu 20.04 WITH whatever graphics card you have, so that you can benefit from improved performance.

The Ubuntu 18.04 fix does fix the seg fault but, as mentioned before, uses the LLVM driver for OpenGL which has decreased performance (at least compared to the graphics card I have.)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.