Comments (4)
I have encountered a similar error here.
I am running with Ubuntu 20.04, NVIDIA GeForce RTX 3070 Ti Laptop GPU, driver 470, CUDA 10.1.
I built bad slam with cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CUDA_FLAGS="-arch=sm_75" ..
(Technically I should go with sm_86
for 3070GPU, but I need to stay with CUDA 10.1 for other stuff. Magically it built without problem.)
I also included the output from GDB as the original error message was not very helpful.
It seems like a CUDA / GPU driver issue. I have tried reinstalling them but no luck. Any help would be appreciated.
(Btw, I passed 12/14 tests and it seems ok according to issue 75 Also I completed the auto parameter tuning without problem. I guess this is more of a gui failure than the bad slam itself failing?)
(gdb) run
Starting program: /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffee75e700 (LWP 10446)]
time file:line v|
16:12:38.891 loguru.cpp:587 INFO| arguments: /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam
16:12:38.891 loguru.cpp:590 INFO| Current dir: /home/yu.chen/badslam
16:12:38.891 loguru.cpp:592 INFO| stderr verbosity: 2
16:12:38.891 loguru.cpp:593 INFO| -----------------------------------
[New Thread 0x7fffed01b700 (LWP 10447)]
[New Thread 0x7fffec81a700 (LWP 10448)]
[New Thread 0x7fffe5ac9700 (LWP 10450)]
[New Thread 0x7fffe4d4a700 (LWP 10451)]
[Thread 0x7fffe4d4a700 (LWP 10451) exited]
[New Thread 0x7fffe4d4a700 (LWP 10455)]
[New Thread 0x7fffda849700 (LWP 10456)]
[New Thread 0x7fffda048700 (LWP 10457)]
16:12:49.507 gui_main_window.cc:1603 INFO| Read dataset with 3931 frames
[New Thread 0x7fffd94c7700 (LWP 10460)]
[New Thread 0x7fffd8cc6700 (LWP 10461)]
[New Thread 0x7fffca8d7700 (LWP 10462)]
Stack trace:
31 0x55555558877e /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam(+0x3477e) [0x55555558877e]
30 0x7ffff3e2f083 __libc_start_main + 243
29 0x555555581091 /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam(+0x2d091) [0x555555581091]
28 0x55555558a354 /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam(+0x36354) [0x55555558a354]
27 0x5555555dd634 /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam(+0x89634) [0x5555555dd634]
26 0x7ffff503bd6b QWidgetPrivate::setVisible(bool) + 459
25 0x7ffff5038bf3 QWidgetPrivate::show_helper() + 83
24 0x7ffff5038b61 QWidgetPrivate::showChildren(bool) + 337
23 0x7ffff503bd6b QWidgetPrivate::setVisible(bool) + 459
22 0x7ffff5038bf3 QWidgetPrivate::show_helper() + 83
21 0x7ffff5038b61 QWidgetPrivate::showChildren(bool) + 337
20 0x7ffff503bd6b QWidgetPrivate::setVisible(bool) + 459
19 0x7ffff5038bf3 QWidgetPrivate::show_helper() + 83
18 0x7ffff5038b61 QWidgetPrivate::showChildren(bool) + 337
17 0x7ffff503bd6b QWidgetPrivate::setVisible(bool) + 459
16 0x7ffff5038bd7 QWidgetPrivate::show_helper() + 55
15 0x7ffff5034e6e QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) + 334
14 0x7ffff45e180a QCoreApplication::notifyInternal2(QObject*, QEvent*) + 394
13 0x7ffff50030f0 QApplication::notify(QObject*, QEvent*) + 816
12 0x7ffff4ff9a66 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 134
11 0x7ffff503c947 QWidget::event(QEvent*) + 2327
10 0x7ffff505ec2f QOpenGLWidget::resizeEvent(QResizeEvent*) + 175
9 0x7ffff5034f4a QWidgetPrivate::sendPaintEvent(QRegion const&) + 58
8 0x7ffff45e180a QCoreApplication::notifyInternal2(QObject*, QEvent*) + 394
7 0x7ffff50030f0 QApplication::notify(QObject*, QEvent*) + 816
6 0x7ffff4ff9a66 QApplicationPrivate::notify_helper(QObject*, QEvent*) + 134
5 0x7ffff503c2b6 QWidget::event(QEvent*) + 646
4 0x7ffff505ee05 /lib/x86_64-linux-gnu/libQt5Widgets.so.5(+0x1cfe05) [0x7ffff505ee05]
3 0x7ffff5610a72 vis::RenderWidgetOpenGL::paintGL() + 834
2 0x55555572596d /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam(+0x1d196d) [0x55555572596d]
1 0x5555557217f5 /home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam(+0x1cd7f5) [0x5555557217f5]
0 0x7ffff5566b92 loguru::StreamLogger::~StreamLogger() + 162
16:12:49.744 render_window.cc:972 FATL| Cuda Error: unknown error
Thread 1 "badslam" received signal SIGABRT, Aborted.
__GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
50 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0 __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:50
#1 0x00007ffff3e2d859 in __GI_abort () at abort.c:79
#2 0x00007ffff5564ac7 in loguru::log_message(int, loguru::Message&, bool, bool)
(stack_trace_skip=stack_trace_skip@entry=2, message=..., with_indentation=with_indentation@entry=true, abort_if_fatal=abort_if_fatal@entry=true)
at /home/yu.chen/badslam/libvis/third_party/loguru/loguru.cpp:1296
#3 0x00007ffff5564c85 in loguru::log_to_everywhere(int, int, char const*, unsigned int, char const*, char const*)
(stack_trace_skip=stack_trace_skip@entry=1, verbosity=verbosity@entry=-3, file=file@entry=0x55555581e2f0 "/home/yu.chen/badslam/applications/badslam/src/badslam/render_window.cc", line=line@entry=972, prefix=prefix@entry=0x7ffff557c484 "", buff=<optimized out>)
at /home/yu.chen/badslam/libvis/third_party/loguru/loguru.cpp:1309
#4 0x00007ffff5566517 in loguru::log(int, char const*, unsigned int, char const*, ...)
(verbosity=-3, file=0x55555581e2f0 "/home/yu.chen/badslam/applications/badslam/src/badslam/render_window.cc", line=972, format=format@entry=0x7ffff557c267 "%s") at /home/yu.chen/badslam/libvis/third_party/loguru/loguru.cpp:1332
#5 0x00007ffff5566b92 in loguru::StreamLogger::~StreamLogger()
(this=0x7fffffffb4a0, __in_chrg=<optimized out>)
at /home/yu.chen/badslam/libvis/third_party/loguru/loguru.cpp:1452
--Type <RET> for more, q to quit, c to continue without paging--RET
#6 0x00005555557217f5 in vis::BadSlamRenderWindow::InitializeForCUDAInteropInRenderingThread() (this=this@entry=0x555556d8d800)
at /home/yu.chen/badslam/applications/badslam/src/badslam/render_window.cc:972
#7 0x000055555572596d in vis::BadSlamRenderWindow::Render() (this=0x555556d8d800) at /home/yu.chen/badslam/applications/badslam/src/badslam/render_window.cc:347
#8 0x00007ffff5610a72 in vis::RenderWidgetOpenGL::paintGL() (this=0x555556d8cf60) at /home/yu.chen/badslam/libvis/src/libvis/render_window_qt_opengl.cc:65
#9 0x00007ffff505ee05 in () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#10 0x00007ffff503c2b6 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#11 0x00007ffff4ff9a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#12 0x00007ffff50030f0 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#13 0x00007ffff45e180a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#14 0x00007ffff5034f4a in QWidgetPrivate::sendPaintEvent(QRegion const&) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#15 0x00007ffff505ec2f in QOpenGLWidget::resizeEvent(QResizeEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#16 0x00007ffff503c947 in QWidget::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#17 0x00007ffff4ff9a66 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#18 0x00007ffff50030f0 in QApplication::notify(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#19 0x00007ffff45e180a in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt5Core.so.5
#20 0x00007ffff5034e6e in QWidgetPrivate::sendPendingMoveAndResizeEvents(bool, bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#21 0x00007ffff5038bd7 in QWidgetPrivate::show_helper() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#22 0x00007ffff503bd6b in QWidgetPrivate::setVisible(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#23 0x00007ffff5038b61 in QWidgetPrivate::showChildren(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#24 0x00007ffff5038bf3 in QWidgetPrivate::show_helper() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#25 0x00007ffff503bd6b in QWidgetPrivate::setVisible(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#26 0x00007ffff5038b61 in QWidgetPrivate::showChildren(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#27 0x00007ffff5038bf3 in QWidgetPrivate::show_helper() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#28 0x00007ffff503bd6b in QWidgetPrivate::setVisible(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#29 0x00007ffff5038b61 in QWidgetPrivate::showChildren(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#30 0x00007ffff5038bf3 in QWidgetPrivate::show_helper() () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#31 0x00007ffff503bd6b in QWidgetPrivate::setVisible(bool) () at /lib/x86_64-linux-gnu/libQt5Widgets.so.5
#32 0x00005555555dd634 in vis::ShowMainWindow(QApplication&, bool, vis::BadSlamConfig&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, float, float, bool, bool, bool, int, int)
(qapp=..., start_paused=<optimized out>, config=..., program_path="/home/yu.chen/badslam/build_RelWithDebInfo/applications/badslam/badslam", dataset_folder_path="/home/yu.chen/slam_dataset/desk_changing_1", import_calibration_path="", depth_scaling=5000, splat_half_extent_in_pixels=3, show_current_frame_cloud=false, follow_camera=false, show_input_images=false, window_width=1280, window_height=720)
at /home/yu.chen/badslam/applications/badslam/src/badslam/gui_main_window.cc:113
#33 0x000055555558a354 in __libvis_main(int, char**) (argc=<optimized out>, argv=0x7fffffffde98) at /home/yu.chen/badslam/applications/badslam/src/badslam/main.cc:522
#34 0x0000555555581091 in main(int, char**) (argc=1, argv=0x7fffffffde98) at /home/yu.chen/badslam/applications/badslam/src/badslam/main.cc:69
from badslam.
Ok I tried upgrade / install CUDA 11.4 to match my driver and hardware. I also rebuilt OpenCV (4.5) and DLib with the new CUDA then tried re-built bad slam with sm_86
. Still no luck, same error.
from badslam.
Today I tried building all dependencies again from the very beginning with OpenCV 4.5 and CUDA 11.4. Still the same error. I then tried using the docker image. If I build docker with architecture sm_80+
it will cause:
0.793 -- Check for working CUDA compiler: /usr/local/cuda/bin/nvcc -- broken
0.793 CMake Error at /usr/share/cmake-3.16/Modules/CMakeTestCUDACompiler.cmake:46 (message):
0.793 The CUDA compiler
0.793
0.793 "/usr/local/cuda/bin/nvcc"
0.793
0.793 is not able to compile a simple test program.
0.793
0.793 It fails with the following output:
0.793
0.793 Change Dir: /home/badslam/build_RelWithDebInfo/CMakeFiles/CMakeTmp
0.793
0.793 Run Build Command(s):/usr/bin/make cmTC_1d3ea/fast && /usr/bin/make -f CMakeFiles/cmTC_1d3ea.dir/build.make CMakeFiles/cmTC_1d3ea.dir/build
0.793 make[1]: Entering directory '/home/badslam/build_RelWithDebInfo/CMakeFiles/CMakeTmp'
0.793 Building CUDA object CMakeFiles/cmTC_1d3ea.dir/main.cu.o
0.793 /usr/local/cuda/bin/nvcc -arch=sm_87 -x cu -c /home/badslam/build_RelWithDebInfo/CMakeFiles/CMakeTmp/main.cu -o CMakeFiles/cmTC_1d3ea.dir/main.cu.o
0.793 nvcc fatal : Value 'sm_87' is not defined for option 'gpu-architecture'
0.793 make[1]: *** [CMakeFiles/cmTC_1d3ea.dir/build.make:66: CMakeFiles/cmTC_1d3ea.dir/main.cu.o] Error 1
0.793 make[1]: Leaving directory '/home/badslam/build_RelWithDebInfo/CMakeFiles/CMakeTmp'
0.793 make: *** [Makefile:121: cmTC_1d3ea/fast] Error 2
0.793
0.793
0.793
0.793
0.793
0.793 CMake will not be able to correctly generate this project.
0.793 Call Stack (most recent call first):
0.793 CMakeLists.txt:45 (enable_language)
0.793
0.793
0.793 -- Configuring incomplete, errors occurred!
0.793 See also "/home/badslam/build_RelWithDebInfo/CMakeFiles/CMakeOutput.log".
0.793 See also "/home/badslam/build_RelWithDebInfo/CMakeFiles/CMakeError.log".
------
Dockerfile:101
--------------------
99 | ARG CUDA_ARCH
100 | ENV CUDA_ARCH ${CUDA_ARCH}
101 | >>> RUN cmake -E env CXXFLAGS='-march=native' cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CUDA_FLAGS="-arch=${CUDA_ARCH}" .. && make -j
102 |
--------------------
ERROR: failed to solve: process "/bin/sh -c cmake -E env CXXFLAGS='-march=native' cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_CUDA_FLAGS=\"-arch=${CUDA_ARCH}\" .. && make -j" did not complete successfully: exit code: 1
If I do sm_75
(even though I think 3070 belongs to Ampere
) it will take me further and eventually fail at:
40.43 In file included from /usr/local/include/g2o/core/base_binary_edge.h:30,
40.43 from /usr/local/include/g2o/types/slam3d/edge_se3.h:30,
40.43 from /home/badslam/applications/badslam/src/badslam/pose_graph_optimizer.cc:36:
40.43 /usr/local/include/g2o/core/base_fixed_sized_edge.h:38:10: fatal error: ceres/internal/fixed_array.h: No such file or directory
40.43 38 | #include <ceres/internal/fixed_array.h>
40.43 | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
40.43 compilation terminated.
40.43 make[2]: *** [applications/badslam/CMakeFiles/badslam_baselib.dir/build.make:655: applications/badslam/CMakeFiles/badslam_baselib.dir/src/badslam/pose_graph_optimizer.cc.o] Error 1
40.43 make[2]: *** Waiting for unfinished jobs....
I then tried using the Windows executable and it works perfectly with saved dataset and Realsense live input.
However, getting Bad SLAM working on Ubuntu is the whole point for us. @puzzlepaint Dear friend, do you have any idea how to fix the runtime error / docker build error?
from badslam.
I was having the same issue, it was resolved on my end by installing vainfo
and mesa-va-drivers
to allow an Nvidia-based OpenGL context. Opened #97 to fix it.
from badslam.
Related Issues (20)
- Can not generate .ply file HOT 3
- License or patents about badslam HOT 1
- Could not find a package configuration file provided by "SuiteSparse" with any of the following names HOT 1
- Target "badslam_test" links to target "Eigen3::Eigen" but the target was not found. HOT 4
- About Evaluation Results on ETH3D SLAM Benchmark HOT 2
- badslam runtime error on jetson nano?
- slam_test error! HOT 3
- Build with CUDA 11.6 HOT 4
- FATL| RealSense input requested, but the program was compiled without RealSense support. HOT 5
- Autotune Cuda Error: out of memory HOT 1
- angle_difference in Direct BA HOT 2
- Hello, when I want to run tum_ This error occurs when FR1 data set HOT 1
- opengv 3rdparty HOT 2
- Let libpng expand the color channels to 16 bit if requested HOT 2
- Can we use 16-bit RGB image as input without converting into 8-bit RGB(by libpng)? HOT 3
- Question about the required depth maps precision
- Docker build error
- How is timestamp supposed to be obtained?
- Compile error about the g2o on Windows 10 with VS2019
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from badslam.