tum-vision / dvo

Dense Visual Odometry
https://vision.in.tum.de/data/software/dvo
151 stars 76 forks source link

rosmake errors #2

Open ghost opened 11 years ago

ghost commented 11 years ago

Hello,

I use groovy, and with rosmake dvo_ros, I get the following errors. Any idea? Thanks!

[ 33%] Building CXX object CMakeFiles/dvo_ros.dir/src/camera_dense_tracking.cpp.o In file included from /home/xylo/workspace/dvo/dvo_core/include/dvo/core/surface_pyramid.h:24:0, from /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp:27: /usr/lib/gcc/i686-linux-gnu/4.6/include/mmintrin.h:32:3: error: #error "MMX instruction set not enabled" In file included from /home/xylo/workspace/dvo/dvo_core/include/dvo/core/surface_pyramid.h:25:0, from /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp:27: /usr/lib/gcc/i686-linux-gnu/4.6/include/emmintrin.h:32:3: error: #error "SSE2 instruction set not enabled" In file included from /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp:33:0: /home/xylo/workspace/dvo/dvo_ros/include/dvo_ros/util/util.h: In function ‘void dvo_ros::util::tryGetTransform(Eigen::Affine3d&, tf::TransformListener&, std::string, std::string, double)’: /home/xylo/workspace/dvo/dvo_ros/include/dvo_ros/util/util.h:57:3: error: ‘TransformTFToEigen’ is not a member of ‘tf’ /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp: In member function ‘void dvo_ros::CameraDenseTracker::handlePose(const PoseWithCovarianceStampedConstPtr&)’: /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp:176:3: error: ‘TransformTFToEigen’ is not a member of ‘tf’ /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp: In member function ‘void dvo_ros::CameraDenseTracker::publishTransform(const Header&, const Affine3d&, std::string)’: /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp:317:3: error: ‘TransformEigenToTF’ is not a member of ‘tf’ /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp: In member function ‘void dvo_ros::CameraDenseTracker::publishPose(const Header&, const Affine3d&, std::string)’: /home/xylo/workspace/dvo/dvo_ros/src/camera_dense_tracking.cpp:336:3: error: ‘TransformEigenToTF’ is not a member of ‘tf’ /home/xylo/workspace/dvo/dvo_core/include/dvo/core/datatypes.h: At global scope: /home/xylo/workspace/dvo/dvo_core/include/dvo/core/datatypes.h:32:28: warning: ‘dvo::core::Invalid’ defined but not used [-Wunused-variable] /home/xylo/workspace/dvo/dvo_core/include/dvo/core/datatypes.h:35:24: warning: ‘dvo::core::InvalidDepth’ defined but not used [-Wunused-variable] make[3]: * [CMakeFiles/dvo_ros.dir/src/camera_dense_tracking.cpp.o] Error 1 make[3]: Leaving directory `/home/xylo/workspace/dvo/dvo_ros/build' make[2]: * [CMakeFiles/dvo_ros.dir/all] Error 2

Hui

christiankerl commented 11 years ago

The first problem is related to SSE, dvo uses it in several places. What CPU do you have? The SSE support is detected in dvo_core/CMakeLists.txt using rosbuild_check_for_sse() I don't know if it is still supported in Groovy.

The second problem seems to be that TransformTFToEigen is in Groovy now lower case transformTFToEigen, replacing all occurences should solve the problem.

ghost commented 11 years ago

The CPU is Intel i5. Here's the info for one of the processors:

processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 37 model name : Intel(R) Core(TM) i5 CPU M 560 @ 2.67GHz stepping : 5 microcode : 0x2 cpu MHz : 1199.000 cache size : 3072 KB physical id : 0 siblings : 4 core id : 0 cpu cores : 2 apicid : 0 initial apicid : 0 fdiv_bug : no hlt_bug : no f00f_bug : no coma_bug : no fpu : yes fpu_exception : yes cpuid level : 11 wp : yes flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx rdtscp lm constant_tsc arch_perfmon pebs bts xtopology nonstop_tsc aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid sse4_1 sse4_2 popcnt aes lahf_lm ida arat dtherm tpr_shadow vnmi flexpriority ept vpid bogomips : 5320.21 clflush size : 64 cache_alignment : 64 address sizes : 36 bits physical, 48 bits virtual power management:

Looks like sse and sse2 are enabled.

ghost commented 11 years ago

BTW the second problem was fixed by replacing Transform with transform. Thanks.

christiankerl commented 11 years ago

I guess you can replace ${SSE_FLAGS} in the cmakelists with -msse3 for now

ghost commented 11 years ago

I still get the same error with -msse3.

christiankerl commented 11 years ago

Can you add these flags to the dvo_ros cmakelists as well (copy the 4 lines from dvo_core)

ghost commented 11 years ago

OK rosmake completes successfully in groovy now. Here is what one needs to do:

  1. The pcl include and lib directories are different, so in the dvo_core CMakeLists, add the correct include and lib dir.
  2. Replace "TransformTFToEigen" and "TransformEigenToTF" with "transformTFToEigen" and "transformEigenToTF" respectively.
  3. rosbuild_check_for_sse() doesn't work in groovy. So in the CMakeLists in dvo_core, replace ${SSE_FLAGS} with -msse3, and add to the CMakeLists in both dvo_ros and dvo_benchmark:

set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-msse3 -O3 -march=native" )

Thanks Christian!

Hui

ghost commented 11 years ago

Turns out we can't close this thread yet.

When I set the ros_build_type to debug, I get the following compilation errors.

/home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:214:9: error: ‘interpolateBilinearWithDepthBufferSse’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:214:9: error: ‘_mm_store_ss’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:223:41: error: ‘_MM_SET_ROUNDING_MODE’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp: In member function ‘void dvo::core::RgbdImage::warpIntensitySseImpl(const AffineTransform&, const PointCloud&, const dvo::core::IntrinsicMatrix&, dvo::core::RgbdImage&, dvo::core::RgbdImage::PointCloud&) [with int PointCloudOption = 1, dvo::core::AffineTransform = Eigen::Transform<float, 3, 2>, dvo::core::RgbdImage::PointCloud = Eigen::Matrix<float, 4, -0x00000000000000001>, dvo::core::RgbdImage = dvo::core::RgbdImage]’: /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:238:104: instantiated from here /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:128:49: error: ‘_MM_GET_ROUNDING_MODE’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:130:41: error: ‘_MM_SET_ROUNDING_MODE’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:152:7: error: ‘_mm_load_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:156:7: error: ‘_mm_mul_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:156:7: error: ‘_mm_hadd_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:167:9: error: ‘_mm_unpacklo_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:170:9: error: ‘_mm_movelh_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:171:9: error: ‘_mm_movehl_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:174:9: error: ‘_mm_stream_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:179:7: error: ‘_mm_unpacklo_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:180:7: error: ‘_mm_rcp_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:183:7: error: ‘_mm_add_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:186:7: error: ‘_mm_cmpge_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:186:7: error: ‘_mm_cmplt_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:186:7: error: ‘_mm_and_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:187:7: error: ‘_MM_SHUFFLE’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:187:7: error: ‘_mm_shuffle_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:191:7: error: ‘_mm_andnot_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:191:7: error: ‘_mm_or_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:191:7: error: ‘_mm_storel_pi’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:193:59: error: ‘_mm_movemask_ps’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:201:9: error: ‘interpolateBilinearWithDepthBufferSse’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:201:9: error: ‘_mm_store_ss’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:214:9: error: ‘interpolateBilinearWithDepthBufferSse’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:214:9: error: ‘_mm_store_ss’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/src/core/rgbd_image_sse.cpp:223:41: error: ‘_MM_SET_ROUNDING_MODE’ was not declared in this scope /home/xylo/workspace/dvo/dvo_core/include/dvo/core/datatypes.h: At global scope: /home/xylo/workspace/dvo/dvo_core/include/dvo/core/datatypes.h:35:24: warning: ‘dvo::core::InvalidDepth’ defined but not used [-Wunused-variable] make[3]: * [CMakeFiles/dvo_core.dir/src/core/rgbd_image_sse.cpp.o] Error 1 make[3]: Leaving directory `/home/xylo/workspace/dvo/dvo_core/build' make[2]: * [CMakeFiles/dvo_core.dir/all] Error 2 make[2]: Leaving directory/home/xylo/workspace/dvo/dvo_core/build' make[1]: **\* [all] Error 2 make[1]: Leaving directory/home/xylo/workspace/dvo/dvo_core/build'

And if I just ignore them and run camera_tracker, once run_dense_tracking is selected, seg fault happens, when executing this line "m128i _inputi = _mm_load_si128((m128i*) input_ptr);" from SurfacePyramid::convertRawDepthImageSse.

Still sse related... Thoughts? Thanks a lot!

Hui

christiankerl commented 11 years ago

for the debug build type the sse flags are not enabled, you have to add a

set(CMAKE_CXX_FLAGS_DEBUG "-msse3 -O3 -march=native" )

to CMakeLists.txt, maybe there is a way in cmake to set these flags for all build types

ghost commented 11 years ago

Oops, forgot about the flags. Now without the errors, camera_tracker still segment fault when run_dense_tracking is selected tho.

christiankerl commented 11 years ago

can you start it in the debugger, i.e.,

roscd dvo_ros gdb -ex run --args ./bin/camera_tracker

and tell me where the segfault occurs

ghost commented 11 years ago

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xa8dfdb40 (LWP 11539)] 0xb7702377 in dvo::core::SurfacePyramid::convertRawDepthImageSse(cv::Mat const&, cv::Mat&, float) () from /home/xylo/workspace/dvo/dvo_core/lib/libdvo_core.so (gdb)

christiankerl commented 11 years ago

hm, there seems to be a problem in converting the raw depth image to float. can you please remove the -O3 flag for the Debug build and build+debug again, so we can get the exact line? and can you post the content of one image message published by the openni node (all fields except the data). In the debugger type "bt" to get a stacktrace and maybe include it as well. thanks.

ghost commented 11 years ago

This is from the topic /camera/depth/image:

header: seq: 0 stamp: secs: 1370378165 nsecs: 137773050 frame_id: /camera_depth_optical_frame height: 480 width: 640 encoding: 32FC1 is_bigendian: 0 step: 2560

And from the topic /camera/depth/image_raw:

header: seq: 289 stamp: secs: 1370378434 nsecs: 57928854 frame_id: /camera_depth_optical_frame height: 480 width: 640 encoding: 16UC1 is_bigendian: 0 step: 1280

Output from the debugger (with -O3 removed, and bt):

"Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xa8ffeb40 (LWP 6974)] 0xb744b2fe in dvo::core::SurfacePyramid::convertRawDepthImageSse(cv::Mat const&, cv::Mat&, float) () from /home/xylo/workspace/dvo/dvo_core/lib/libdvo_core.so (gdb) bt

0 0xb744b2fe in dvo::core::SurfacePyramid::convertRawDepthImageSse(cv::Mat const&, cv::Mat&, float) ()

from /home/xylo/workspace/dvo/dvo_core/lib/libdvo_core.so

1 0xb7d7ad85 in dvo_ros::CameraDenseTracker::handleImages(boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

2 0xb7d640b0 in boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>::operator()(dvoros::CameraBase, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

3 0xb7d5e9f9 in void boost::_bi::list5<boost::_bi::value, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> >::operator()<boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>, boost::_bi::list9<boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&---Type to continue, or q to quit---

(boost::_bi::type, boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>&, boost::_bi::list9<boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&>&, int) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

4 0xb7d54e5d in void boost::_bi::bind_t<void, boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>, boost::_bi::list5boost::_bi::value<dvo_ros::CameraBase*, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >::operator()<boost::shared_ptr<sensor_msgs::Image_std::allocator const>, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr >(boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared---Type to continue, or q to quit---

_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

5 0xb7d4f5b2 in void boost::_bi::list9boost::arg<1, boost::arg<2>, boost::arg<3>, boost::arg<4>, boost::arg<5>, boost::arg<6>, boost::arg<7>, boost::arg<8>, boost::arg<9> >::operator()<boost::_bi::bind_t<void, boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>, boost::_bi::list5boost::_bi::value<dvo_ros::CameraBase, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, boost::_bi::list9<boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&> >(boost::_bi::type, boost::_bi::bind_t<void, boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>, boost::_bi::list5boost::_bi::value<dvo_ros::CameraBase, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >&, boost::_bi::list9<boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr<message_filt---Type to continue, or q to quit---

ers::NullType const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&>&, int) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

6 0xb7d4c97b in void boost::_bi::bind_t<boost::_bi::unspecified, boost::_bi::bind_t<void, boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>, boost::_bi::list5boost::_bi::value<dvo_ros::CameraBase*, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, boost::_bi::list9boost::arg<1, boost::arg<2>, boost::arg<3>, boost::arg<4>, boost::arg<5>, boost::arg<6>, boost::arg<7>, boost::arg<8>, boost::arg<9> > >::operator()<boost::shared_ptr<sensor_msgs::Image_std::allocator const>, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr >(boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

7 0xb7d49d0c in boost::detail::function::void_function_obj_invoker9<boost::_bi::bind_t<boost::_bi::unspecified, boost::_bi::bind_t<void, boost::_mfi::mf4<void, dvo_ros::CameraBase, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::sh---Type to continue, or q to quit---

ared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&>, boost::_bi::list5boost::_bi::value<dvo_ros::CameraBase*, boost::arg<1>, boost::arg<2>, boost::arg<3>, boost::arg<4> > >, boost::_bi::list9boost::arg<1, boost::arg<2>, boost::arg<3>, boost::arg<4>, boost::arg<5>, boost::arg<6>, boost::arg<7>, boost::arg<8>, boost::arg<9> > >, void, boost::shared_ptr<sensor_msgs::Image_std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&>::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

8 0xb7d4f77c in boost::function9<void, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&>::operator()(boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&,---Type to continue, or q to quit---

boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&) const () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

9 0xb7d4cab3 in boost::detail::function::void_function_obj_invoker9<boost::function<void (boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&)>, void, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr >::invoke(boost::detail::function::function_buffer&, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

10 0xb7d75abe in boost::function9<void, boost::shared_ptr<sensor_m---Type to continue, or q to quit---

sgs::Image_std::allocator const>, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr >::operator()(boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::Image<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const>, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr, boost::shared_ptr) const () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

11 0xb7d74909 in message_filters::CallbackHelper9Tboost::shared_ptr<sensormsgs::Image<std::allocator const> const&, boost::shared_ptr<sensormsgs::Image<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr<sensormsgs::CameraInfo<std::allocator > const> const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&, boost::shared_ptr const&>::call(bool, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const> const&, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const> const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so ---Type to continue, or q to quit---

12 0xb7d6c7c8 in message_filters::Signal9<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>::call(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const> const&, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const> const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

13 0xb7d6873e in message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >::signal(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const> const&, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const> const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&, ros::MessageEvent const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

14 0xb7d61446 in message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>::publishCandida---Type to continue, or q to quit---

te() () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

15 0xb7d57bfa in message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>::process() ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

16 0xb7d52abf in void message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType>::add<1>(boost::mpl::at_cboost::mpl::vector<ros::MessageEvent<sensormsgs::Image<std::allocator const>, ros::MessageEvent<sensormsgs::Image<std::allocator > const>, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const>, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const>, ros::MessageEvent, ros::MessageEvent, ros::MessageEvent, ros::MessageEvent, ros::MessageEvent, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl_::na>, 1>::type const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

17 0xb7d4ed3a in void message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >::cb<1>(boost::mpl::at_cboost::mpl::vector<ros::MessageEvent<sensormsgs::Image<std::allocator const>, ros::MessageEvent<sensormsgs::Image<std::allocator > const>, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const>, ros::MessageEvent<sensormsgs::CameraInfo<std::allocator > const>, ros::MessageEvent, ros::MessageEvent, ros::MessageEv---Type to continue, or q to quit---

ent, ros::MessageEvent, ros::MessageEvent, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl::na, mpl_::na>, 1>::type const&) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

18 0xb7d70bf7 in boost::_mfi::mf1<void, message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::operator()(message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, messagefilters::NullType> >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

19 0xb7d6e066 in void boost::_bi::list2<boost::_bi::value<message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, messagefilters::NullType> >>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list1<ros::MessageEvent<sensor_msgs::Image_std::allocator const> const&> >(boost::_bi::type, boost::_mfi::mf1<void, mes---Type to continue, or q to quit---

sage_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>&, boost::_bi::list1<ros::MessageEvent<sensor_msgs::Image_std::allocator const> const&>&, int) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

20 0xb7d6996d in void boost::_bi::bind_t<void, boost::_mfi::mf1<void, message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list2<boost::_bi::value<message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, messagefilters::NullType> >>, boost::arg<1> > >::operator()ros::MessageEvent<sensormsgs::Image<std::allocator const> >(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

21 0xb7d6250a in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, message_filters::Synchronizer<message_filters::sync_policies::ApproximateTime<sensormsgs::Image<std::allocator >, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType> >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list2<boost::_bi::value<message_filters::Synchronizer<message---Type to continue, or q to quit---

_filters::sync_policies::ApproximateTime<sensor_msgs::Image_std::allocator, sensor_msgs::Image_std::allocator, sensor_msgs::CameraInfo_std::allocator, sensor_msgs::CameraInfo_std::allocator, message_filters::NullType, message_filters::NullType, message_filters::NullType, message_filters::NullType, messagefilters::NullType> >>, boost::arg<1> > >, void, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::invoke(boost::detail::function::function_buffer&, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

22 0xb7d75804 in boost::function1<void, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::operator()(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

23 0xb7d744e6 in message_filters::CallbackHelper1Tros::MessageEvent<sensormsgs::Image<std::allocator const> const&, sensor_msgs::Image_std::allocator >::call(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&, bool) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

24 0xb7d462e8 in message_filters::Signal1<sensormsgs::Image<std::allocator > >::call(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

25 0xb7d44598 in message_filters::SimpleFilter<sensormsgs::Image<std::allocator > >::signalMessage(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

26 0xb7d42777 in message_filters::Subscriber<sensormsgs::Image<std::allocator > >::cb(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

27 0xb7d4ffed in boost::_mfi::mf1<void, message_filters::Subscriber<sensor_msgs::Image_std::allocator >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::operator()(message_filters::Subscriber<sensormsgs::Image<std::allocator > >_, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so ---Type to continue, or q to quit---

28 0xb7d4d4a0 in void boost::_bi::list2<boost::_bi::value<message_filters::Subscriber<sensor_msgs::Imagestd::allocator >>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, message_filters::Subscriber<sensormsgs::Image<std::allocator > >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list1<ros::MessageEvent<sensor_msgs::Image_std::allocator const> const&> >(boost::_bi::type, boost::_mfi::mf1<void, message_filters::Subscriber<sensor_msgs::Image_std::allocator >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>&, boost::_bi::list1<ros::MessageEvent<sensor_msgs::Image_std::allocator const> const&>&, int) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

29 0xb7d4aa81 in void boost::_bi::bind_t<void, boost::_mfi::mf1<void, message_filters::Subscriber<sensor_msgs::Image_std::allocator >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list2<boost::_bi::value<message_filters::Subscriber<sensor_msgs::Imagestd::allocator >>, boost::arg<1> > >::operator()ros::MessageEvent<sensormsgs::Image<std::allocator const> >(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

30 0xb7d48908 in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, message_filters::Subscriber<sensormsgs::Image<std::allocator > >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list2<boost::_bi::value<message_filters::Subscriber<sensor_msgs::Imagestd::allocator >>, boost::arg<1> > >, void, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::invoke(boost::detail::function::function_buffer&, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

31 0xb7d75804 in boost::function1<void, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::operator()(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

32 0xb7d75250 in ros::SubscriptionCallbackHelperTros::MessageEvent<sensormsgs::Image<std::allocator const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) ()

---Type to continue, or q to quit--- from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

33 0xb7f8abb7 in ros::SubscriptionQueue::call() ()

from /opt/ros/groovy/lib/libroscpp.so

34 0xb7f3a7a7 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS_) () from /opt/ros/groovy/lib/libroscpp.so

35 0xb7f3b649 in ros::CallbackQueue::callOne(ros::WallDuration)

() from /opt/ros/groovy/lib/libroscpp.so

36 0xb7f8d9f3 in ros::AsyncSpinnerImpl::threadFunc() ()

from /opt/ros/groovy/lib/libroscpp.so

37 0xb7f90a4b in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ros::AsyncSpinnerImpl>, boost::_bi::list1<boost::bi::value<ros::AsyncSpinnerImpl> > > >::run() ()

from /opt/ros/groovy/lib/libroscpp.so

38 0xb791b48c in thread_proxy ()

from /usr/lib/libboost_thread.so.1.46.1

39 0xb7e37d4c in start_thread ()

from /lib/i386-linux-gnu/libpthread.so.0

40 0xb7a16dde in clone () from /lib/i386-linux-gnu/libc.so.6

(gdb) "

Thanks!

christiankerl commented 11 years ago

hm slowly I'm running out of ideas.

Can you first of all replace the call to convertRawDepthImageSse(...) in dvo_ros/src/camera_tracker.cpp with convertRawDepthImage(...).

If this is working, change back to the SSE version and add the following line to the function in dvo_core/src/core/surface_pyramid.cpp:

std::cerr << (((unsigned long)input_ptr) & 15 == 0) ? "pointer is aligned" : "pointer is not aligned" << std::endl;

and report the output.

ghost commented 11 years ago

Continued...

25 0xb7d44598 in message_filters::SimpleFilter<sensormsgs::Image<std::allocator > >::signalMessage(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

26 0xb7d42777 in message_filters::Subscriber<sensormsgs::Image<std::allocator > >::cb(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

27 0xb7d4ffed in boost::_mfi::mf1<void, message_filters::Subscriber<sensor_msgs::Image_std::allocator >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::operator()(message_filters::Subscriber<sensormsgs::Image<std::allocator > >_, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so ---Type to continue, or q to quit---

28 0xb7d4d4a0 in void boost::_bi::list2<boost::_bi::value<message_filters::Subscriber<sensor_msgs::Imagestd::allocator >>, boost::arg<1> >::operator()<boost::_mfi::mf1<void, message_filters::Subscriber<sensormsgs::Image<std::allocator > >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list1<ros::MessageEvent<sensor_msgs::Image_std::allocator const> const&> >(boost::_bi::type, boost::_mfi::mf1<void, message_filters::Subscriber<sensor_msgs::Image_std::allocator >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>&, boost::_bi::list1<ros::MessageEvent<sensor_msgs::Image_std::allocator const> const&>&, int) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

29 0xb7d4aa81 in void boost::_bi::bind_t<void, boost::_mfi::mf1<void, message_filters::Subscriber<sensor_msgs::Image_std::allocator >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list2<boost::_bi::value<message_filters::Subscriber<sensor_msgs::Imagestd::allocator >>, boost::arg<1> > >::operator()ros::MessageEvent<sensormsgs::Image<std::allocator const> >(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

30 0xb7d48908 in boost::detail::function::void_function_obj_invoker1<boost::_bi::bind_t<void, boost::_mfi::mf1<void, message_filters::Subscriber<sensormsgs::Image<std::allocator > >, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>, boost::_bi::list2<boost::_bi::value<message_filters::Subscriber<sensor_msgs::Imagestd::allocator >>, boost::arg<1> > >, void, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::invoke(boost::detail::function::function_buffer&, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) () from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

31 0xb7d75804 in boost::function1<void, ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&>::operator()(ros::MessageEvent<sensormsgs::Image<std::allocator > const> const&) const ()

from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

32 0xb7d75250 in ros::SubscriptionCallbackHelperTros::MessageEvent<sensormsgs::Image<std::allocator const> const&, void>::call(ros::SubscriptionCallbackHelperCallParams&) ()

---Type to continue, or q to quit--- from /home/xylo/workspace/dvo/dvo_ros/lib/libdvo_ros.so

33 0xb7f8abb7 in ros::SubscriptionQueue::call() ()

from /opt/ros/groovy/lib/libroscpp.so

34 0xb7f3a7a7 in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS_) () from /opt/ros/groovy/lib/libroscpp.so

35 0xb7f3b649 in ros::CallbackQueue::callOne(ros::WallDuration)

() from /opt/ros/groovy/lib/libroscpp.so

36 0xb7f8d9f3 in ros::AsyncSpinnerImpl::threadFunc() ()

from /opt/ros/groovy/lib/libroscpp.so

37 0xb7f90a4b in boost::detail::thread_data<boost::_bi::bind_t<void, boost::_mfi::mf0<void, ros::AsyncSpinnerImpl>, boost::_bi::list1<boost::bi::value<ros::AsyncSpinnerImpl> > > >::run() ()

from /opt/ros/groovy/lib/libroscpp.so

38 0xb791b48c in thread_proxy ()

from /usr/lib/libboost_thread.so.1.46.1

39 0xb7e37d4c in start_thread ()

from /lib/i386-linux-gnu/libpthread.so.0

40 0xb7a16dde in clone () from /lib/i386-linux-gnu/libc.so.6

(gdb)

ghost commented 11 years ago

Using convertRawDepthImage():

Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 0xa6f27b40 (LWP 9190)] 0xb742d7d6 in dvo::core::MathSse<0, float>::add(Eigen::Matrix<float, 6, 1, 0, 6, 1>&, Eigen::Matrix<float, 6, 1, 0, 6, 1> const&, float const&) () from /home/xylo/workspace/dvo/dvo_core/lib/libdvo_core.so (gdb)

christiankerl commented 11 years ago

ok somehow all the SSE functions are not working for you. Can you please add the output testing whether the pointer is aligned or not (see my last comment)?

ghost commented 11 years ago

Build error after adding the output testing:

/home/xylo/workspace/dvo/dvo_core/src/core/surface_pyramid.cpp: In static member function ‘static void dvo::core::SurfacePyramid::convertRawDepthImageSse(const cv::Mat&, cv::Mat&, float)’: /home/xylo/workspace/dvo/dvo_core/src/core/surface_pyramid.cpp:75:52: warning: suggest parentheses around comparison in operand of ‘&’ [-Wparentheses] /home/xylo/workspace/dvo/dvo_core/src/core/surface_pyramid.cpp:75:113: error: invalid operands of types ‘const char [23]’ and ‘’ to binary ‘operator<<’ /home/xylo/workspace/dvo/dvo_core/src/core/surfacepyramid.cpp:85:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘const short unsigned int’ [-Wformat] make[3]: _\ [CMakeFiles/dvo_core.dir/src/core/surface_pyramid.cpp.o] Error 1

christiankerl commented 11 years ago

ok I shouldn't program without compiling at least once :) this should work:

bool aligned = (((unsigned long)input_ptr) & 15) == 0; std::cerr << (aligned ? "pointer is aligned" : "pointer is not aligned") << std::endl;

ghost commented 11 years ago

pointer is not aligned

christiankerl commented 11 years ago

ok so this is the problem, does this also happen with -O2 or -O3? which gcc version do you use?

ghost commented 11 years ago

I use 4.6.3.

ghost commented 11 years ago

And the same with -O2 or -O3.

christiankerl commented 11 years ago

I have the same gcc version, when I run "make VERBOSE=1" in dvo_core I get the following gcc call for the surface_pyramid.cpp:

Building CXX object CMakeFiles/dvo_core.dir/src/core/surface_pyramid.o /usr/bin/c++ -Ddvo_core_EXPORTS -msse3 -mfpmath=sse -O3 -march=native -fPIC -I/home/christiankerl/work/repository/dvo/dvo_core/include -I/opt/ros/fuerte/include/opencv -I/opt/ros/fuerte/include -I/opt/ros/fuerte/include/pcl-1.5 -I/usr/include/eigen3 -I/home/christiankerl/work/ros/dvo/sophus/include -I/usr/include/vtk-5.8 -DROS_PACKAGE_NAME='"dvo_core"' -W -Wall -Wno-unused-parameter -fno-strict-aliasing -pthread -o CMakeFiles/dvo_core.dir/src/core/surface_pyramid.o -c /home/christiankerl/work/repository/dvo/dvo_core/src/core/surface_pyramid.cpp /usr/bin/cmake -E cmake_progress_report /home/christiankerl/work/repository/dvo/dvo_core/build/CMakeFiles 8

can you compare the flags to yours, I guess you don't have -mfpmath=sse ? seems like something enables aligned memory allocation in fuerte rosbuild by default and this piece is missing in your case...

ghost commented 11 years ago

I don't have -mfpmath=sse.

Building CXX object CMakeFiles/dvo_core.dir/src/core/surface_pyramid.cpp.o /usr/bin/c++ -Ddvo_core_EXPORTS -msse3 -O2 -march=native -fPIC -I/home/xylo/workspace/dvo/dvo_core/include -I/home/xylo/workspace/dvo/sophus/include -I/opt/ros/groovy/include/opencv -I/opt/ros/groovy/include -I/opt/ros/groovy/include/pcl-1.6 -I/usr/include/eigen3 -I/usr/include/vtk-5.8 -DROS_PACKAGE_NAME='"dvo_core"' -W -Wall -Wno-unused-parameter -fno-strict-aliasing -pthread -o CMakeFiles/dvo_core.dir/src/core/surface_pyramid.cpp.o -c /home/xylo/workspace/dvo/dvo_core/src/core/surface_pyramid.cpp /home/xylo/workspace/dvo/dvo_core/src/core/surface_pyramid.cpp: In static member function ‘static void dvo::core::SurfacePyramid::convertRawDepthImageSse(const cv::Mat&, cv::Mat&, float)’: /home/xylo/workspace/dvo/dvo_core/src/core/surface_pyramid.cpp:86:5: warning: format ‘%d’ expects argument of type ‘int’, but argument 8 has type ‘const short unsigned int*’ [-Wformat] /usr/bin/cmake -E cmake_progress_report /home/xylo/workspace/dvo/dvo_core/build/CMakeFiles 9

ghost commented 11 years ago

And adding the flag in cmakelist doesn't help.

christiankerl commented 11 years ago

hm, I'm somewhat out of ideas :( what is your opencv version?

some things you can try (involving some hacking):

sorry for all the trouble

ghost commented 11 years ago

opencv 2.4.5

I'll give them a try. Thanks Christian :)

nesrine1211 commented 7 years ago

Hi i have the same problem! Can you please tell me how did you fixed it? thank you

anchuanxu commented 5 years ago

Hi i have the same problem! Can you please tell me how did you fixed it? thank you

bhautikg commented 5 years ago

Hi i have the same problem! Can you please tell me how did you fixed it? thank you

I had the same issue 3 years ago, and spent hours on trying to fix it. This library is no longer supported and my conclusion was that this can't be fixed (unless you put in ungodly amount of effort). Even if you manage to fix one problem, you maybe continuously fix others.

Wish I could be of more help