Comments (17)
hi,
can you add launch-prefix="gdb -ex run --args"
to the <node />
tag in the launchfile. when it fails, can you type bt
(backtrace) and send me the results?
thanks
from rpg_svo.
Thank for the answer. Just to make sure I am doing this correctly my node tag looks like this now:
(I tried first adding it to the other node named svo_ros_rviz but that didn't get me into gdb).
However, I get 'no stack' in response to typing 'bt' :
roslaunch svo_ros test_rig3.launch
[...]
Reading symbols from /home/ketill/robotics/rosbook/devel/lib/svo_ros/vo...(no debugging symbols found)...done.
Starting program: /home/ketill/robotics/rosbook/devel/lib/svo_ros/vo __name:=svo __log:=/home/ketill/.ros/log/91555042-e4c1-11e3-9e31-c485080f17f7/svo-1.log
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
[tcsetpgrp failed in terminal_inferior: Inappropriate ioctl for device]
/home/ketill/robotics/rosbook/devel/lib/svo_ros/vo: error while loading shared libraries: libg2o_core.so: cannot open shared object file: No such file or directory
Inferior 1 (process 26836) exited with code 0177 process[svo_ros_rviz-2]: started with pid [26840]
bt
No stack.
(gdb) quit
[svo-1] process has finished cleanly
trace when
What am I doing wrong?
from rpg_svo.
sorry, in rpg_svo/svo/CMakeLists.txt on line 14, set CMAKE_BUILD_TYPE to RelWithDebInfo.
from rpg_svo.
Thanks for taking the time to help me! So, I noticed that for me the flag was in line 12, and not 14. Long story short something changed in the source since I pulled this morning and after doing a git pull again and compiling, everything works! Yay!
from rpg_svo.
I am still have this problem (even after git pull
). Do you know what fixes the problem for you?
[...]
[ INFO] [1402512386.536574106]: SVO initialized
vo: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:78: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double; int Size = 4; int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
[svo-1] process has died [pid 23831, exit code -6, cmd /home/pablo/catkin_ws/devel/lib/svo_ros/vo __name:=svo __log:=/home/pablo/.ros/log/143597c8-f198-11e3-8a3e-0013021f71b5/svo-1.log].
[...]
from rpg_svo.
this sounds like there is somewhere a "EIGEN_MAKE_ALIGNED_OPERATOR_NEW" missing.
in order to fix it, i need to know where it happens.
can you add launch-prefix="gdb -ex run --args"
to the <node />
tag in the launchfile. when it fails, can you type bt
(backtrace) and send me the results?
You also need to set in rpg_svo/svo/CMakeLists.txt
on line 14 CMAKE_BUILD_TYPE to RelWithDebInfo.
from rpg_svo.
Only advise I can offer is to try to clean/build after pulling. I did 'catkin_make clean' then 'catkin_make' after 'git pull'.
from rpg_svo.
Ok, it is happening to me again (just pulled), but I also have a stacktrace:
[ INFO] [1402563592.624213569]: SVO initialized
vo: /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:69: Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array() [with T = double, int Size = 4, int MatrixOrArrayOptions = 0]: Assertion `(reinterpret_cast<size_t>(array) & 0xf) == 0 && "this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"' failed.
Program received signal SIGABRT, Aborted.
0xb7fdd424 in __kernel_vsyscall ()
(gdb) bt
#0 0xb7fdd424 in __kernel_vsyscall ()
#1 0xb78151df in raise () from /lib/i386-linux-gnu/libc.so.6
#2 0xb7818825 in abort () from /lib/i386-linux-gnu/libc.so.6
#3 0xb780e085 in ?? () from /lib/i386-linux-gnu/libc.so.6
#4 0xb780e137 in __assert_fail () from /lib/i386-linux-gnu/libc.so.6
#5 0xb7ed5271 in Eigen::internal::plain_array<double, 4, 0, 16>::plain_array (
this=)
at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:69
#6 0xb7ef00f3 in plain_array (this=0x81a25b8)
at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:69
#7 DenseStorage (this=0x81a25b8)
at /usr/include/eigen3/Eigen/src/Core/DenseStorage.h:102
#8 PlainObjectBase (this=0x81a25b8)
at /usr/include/eigen3/Eigen/src/Core/PlainObjectBase.h:395
#9 Matrix (this=0x81a25b8) at /usr/include/eigen3/Eigen/src/Core/Matrix.h:216
#10 svo::Matcher::Matcher (this=0x81a2588)
at /home/ketill/robotics/rosbook/src/rpg_svo/svo/src/matcher.cpp:111
#11 0xb7ef20dd in svo::Reprojector::Reprojector (this=0x81a2548,
cam=0x8169038, map=...)
at /home/ketill/robotics/rosbook/src/rpg_svo/svo/src/reprojector.cpp:34
#12 0xb7ed6c18 in svo::FrameHandlerMono::FrameHandlerMono (this=0x81a24a8,
cam=0x8169038)
at /home/ketill/robotics/rosbook/src/rpg_svo/svo/src/frame_handler_mono.cpp:---Type to continue, or q to quit---
#12 0xb7ed6c18 in svo::FrameHandlerMono::FrameHandlerMono (this=0x81a24a8,
cam=0x8169038)
at /home/ketill/robotics/rosbook/src/rpg_svo/svo/src/frame_handler_mono.cpp:---Type to continue, or q to quit---
37
#13 0x08052e57 in svo::VoNode::VoNode() ()
#14 0x080500f3 in main ()
from rpg_svo.
can you pull and build again. I forgot EIGEN_MAKE_ALIGNED_OPERATOR_NEW in the reprojector class. let's see if it works..
from rpg_svo.
I still get the exact same crash and stacktrace. I verified that EIGEN_MAKE_ALIGNED_OPERATOR_NEW is in line 40 of reprojector.h after pulling. Suggestions?
from rpg_svo.
Sorry, my comment was wrong, actually I added it to matcher.h on line 67.
from rpg_svo.
Ah, ok. I have it there too :)
from rpg_svo.
It has to do with this: http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html
But in the matcher and reprojector class, I don't see any problems at the moment.
from rpg_svo.
Ok, I got it working with a crazy brute force solution. I added EIGEN_MAKE_ALIGNED_OPERATOR_NEW in every place in every .h file I could find (where it wasn't already). Obviously not ideal, but this way it seems to work reliably. At least I haven't been able to break it by rebuilding, changing parameters, etc. Below is the output of my git diff. I can also try to figure out a more 'minimal' version. @cfo : tips on how to do that?
ketill@blinky:~/robotics/rosbook/src/rpg_svo$ git diff
diff --git a/svo/include/svo/bundle_adjustment.h b/svo/include/svo/bundle_adjustment.h
index f3c3501..6bedcb0 100644
--- a/svo/include/svo/bundle_adjustment.h
+++ b/svo/include/svo/bundle_adjustment.h
@@ -43,6 +43,8 @@ namespace ba {
/// Temporary container to hold the g2o edge with reference to frame and point.
struct EdgeContainerSE3
{
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+
g2oEdgeSE3* edge;
Frame* frame;
Feature* feature;
diff --git a/svo/include/svo/feature_detection.h b/svo/include/svo/feature_detection.h
index d0990a8..07f1c1a 100644
--- a/svo/include/svo/feature_detection.h
+++ b/svo/include/svo/feature_detection.h
@@ -43,6 +43,8 @@ typedef vector<Corner> Corners;
class AbstractDetector
{
public:
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+
AbstractDetector(
const int img_width,
const int img_height,
@@ -86,6 +88,7 @@ typedef boost::shared_ptr<AbstractDetector> DetectorPtr;
class FastDetector : public AbstractDetector
{
public:
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
FastDetector(
const int img_width,
const int img_height,
diff --git a/svo/include/svo/frame_handler_base.h b/svo/include/svo/frame_handler_base.h
index 9a78639..5a0e27a 100644
--- a/svo/include/svo/frame_handler_base.h
+++ b/svo/include/svo/frame_handler_base.h
@@ -42,6 +42,7 @@ class DepthFilter;
class FrameHandlerBase : boost::noncopyable
{
public:
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
enum Stage {
STAGE_PAUSED,
STAGE_FIRST_FRAME,
diff --git a/svo/include/svo/frame_handler_mono.h b/svo/include/svo/frame_handler_mono.h
index 546e501..27df16b 100644
--- a/svo/include/svo/frame_handler_mono.h
+++ b/svo/include/svo/frame_handler_mono.h
@@ -28,6 +28,8 @@ namespace svo {
class FrameHandlerMono : public FrameHandlerBase
{
public:
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+
FrameHandlerMono(vk::AbstractCamera* cam);
virtual ~FrameHandlerMono();
diff --git a/svo/include/svo/map.h b/svo/include/svo/map.h
index 458622b..ceda2e1 100644
--- a/svo/include/svo/map.h
+++ b/svo/include/svo/map.h
@@ -34,6 +34,8 @@ class MapPointCandidates
public:
typedef pair<Point*, Feature*> PointCandidate;
typedef list<PointCandidate> PointCandidateList;
+
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
/// The depth-filter is running in a parallel thread and fills the canidate list.
/// This mutex controls concurrent access to point_candidates.
diff --git a/svo/include/svo/point.h b/svo/include/svo/point.h
index f7706be..e1bb81b 100644
--- a/svo/include/svo/point.h
+++ b/svo/include/svo/point.h
@@ -35,7 +35,8 @@ typedef Matrix<double, 2, 3> Matrix23d;
class Point : boost::noncopyable
{
public:
-
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+
enum PointType {
TYPE_DELETED,
TYPE_CANDIDATE,
diff --git a/svo/include/svo/sparse_img_align.h b/svo/include/svo/sparse_img_align.h
index c9da479..afec83e 100644
--- a/svo/include/svo/sparse_img_align.h
+++ b/svo/include/svo/sparse_img_align.h
@@ -37,6 +37,8 @@ class SparseImgAlign : public vk::NLLSSolver<6, SE3>
static const int patch_area_ = patch_size_*patch_size_;
public:
+ EIGEN_MAKE_ALIGNED_OPERATOR_NEW
+
cv::Mat resimg_;
SparseImgAlign(
from rpg_svo.
perfect. it would be nice if you could figure out where it is unnecessary and then make a pull request.
In the page I linked it is described where it is required.
I don't think you need it in
- EdgeContainerSE3
- AbstractDetector
- FastDetector
- FrameHandlerBase
- MapPointCandidates
not sure about:
- Point
- FrameHandlerMono
- SparseImgAlign
from rpg_svo.
Ok, I sent a pull request.
from rpg_svo.
@cfo @kplayer
I add EIGEN_MAKE_ALIGNED_OPERATOR_NEW accordding to above(git diff). Still get same errors.
[/usr/include/eigen3/Eigen/src/Core/DenseStorage.h:78:
Eigen::internal::plain_array<T, Size, MatrixOrArrayOptions, 16>::plain_array()
[with T = double; int Size = 4; int MatrixOrArrayOptions = 0]:
Assertion `(reinterpret_cast<size_t>(eigen_unaligned_array_assert_workaround_gcc47(array)) & 0xf) == 0 &&
"this assertion is explained here: " "http://eigen.tuxfamily.org/dox-devel/group__TopicUnalignedArrayAssert.html" " **** READ THIS WEB PAGE !!! ****"'
failed.](url)
Then i used the method as you told:
add launch-prefix="gdb -ex run --args" to the tag. Then type bt, i got this:
(gdb)
#0 0xb7fdccf9 in ?? ()
#1 0xb7ebf3c6 in svo::DepthFilter::updateSeedsLoop() ()
from /home/xc/project/devel/lib/libsvo.so
#2 0xb7ec102b in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, svo::DepthFilter>, boost::_bi::list1<boost::_bi::valuesvo::DepthFilter* > > >::run() () from /home/xc/project/devel/lib/libsvo.so
#3 0xb717d681 in ?? () from /usr/lib/i386-linux-gnu/libboost_thread.so.1.54.0
#4 0xb7406f72 in start_thread (arg=0xadbfeb40) at pthread_create.c:312
#5 0xb7875f8e in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:129
(gdb)
What's wrong?
from rpg_svo.
Related Issues (20)
- Jetson TX2 (cpu: aarch64) HOT 3
- Run SVO with ROS Melodic HOT 3
- live camera for NON-ROS build test_pipeline core dump error HOT 3
- I USE SVO TO RUN MY OWN DATA ERROE OCCURED HOT 1
- SVO with Raspicam v2
- How to allow SVO pipeline to spend more time on processing each frame?
- may be used uninitialized in this function [-Werror=maybe-uninitialized]
- rpg_svo fatal error: sophus/se3.h: No such file or directory HOT 3
- my marker will not move
- Error while live.launch HOT 1
- log stops at " Init: Selected second frame, triangulated initial map."
- [svo-1] process has died [pid 3794, exit code -6
- compile error HOT 1
- Issue while running ./test_pipeline HOT 2
- Live camera with non ROS installation
- Query about IMU measure in VIO
- issue while running test_pipeline HOT 1
- segmentation fault running the test program HOT 1
- Issue with (Dataset) of Run SVO with ROS
- Compilation error (without ROS) HOT 2
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 rpg_svo.