[ros-users] SegFault in TransformBroadcaster

David Gossow dgossow at uni-koblenz.de
Mon Jan 10 14:20:55 UTC 2011


Hi all,

I get the following strange behaviour when using a TransformBroadcaster:

I've got the following code, as in the tf tutorial:

   // [this is actually a member variable of class RosMasterModule]
   tf::TransformBroadcaster m_TransformBroadcaster;

   tf::Transform transform;
   transform.setOrigin( tf::Vector3(0, 0, 0) );
   transform.setRotation( tf::Quaternion(0, 0, 0) );
   m_TransformBroadcaster.sendTransform(tf::StampedTransform(transform, 
ros::Time::now(), "world", "turtle1"));

When I use the code in my app's main(), everything works fine. However, 
if I use it inside an object instance, the program crashes with a 
segfault. Here's the backtrace:

#0  __memcpy_ssse3 () at ../sysdeps/i386/i686/multiarch/memcpy-ssse3.S:1282
#1  0xb4fa9bde in std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::_Rep::_M_clone(std::allocator<char> const&, 
unsigned int) () from /usr/lib/libstdc++.so.6
#2  0xb4faa4cf in std::basic_string<char, std::char_traits<char>, 
std::allocator<char> >::basic_string(std::basic_string<char, 
std::char_traits<char>, std::allocator<char> > const&) () from 
/usr/lib/libstdc++.so.6
#3  0xb76942ee in tf::StampedTransform::StampedTransform 
(this=0x8b25840) at 
/tmp/buildd/ros-unstable-geometry-1.3.1/debian/ros-unstable-geometry/opt/ros/unstable/stacks/geometry/tf/include/tf/transform_datatypes.h:89 

#4  0xb76956c8 in std::vector<tf::StampedTransform, 
std::allocator<tf::StampedTransform> 
 >::_M_insert_aux(__gnu_cxx::__normal_iterator<tf::StampedTransform*, 
std::vector<tf::StampedTransform, std::allocator<tf::StampedTransform> > 
 >, tf::StampedTransform const&) () from 
/opt/ros/unstable/stacks/geometry/tf/lib/libtf.so
#5  0xb7693533 in push_back (this=0x899fbe0, transform=...) at 
/usr/include/c++/4.4/bits/stl_vector.h:741
#6  tf::TransformBroadcaster::sendTransform (this=0x899fbe0, 
transform=...) at 
/tmp/buildd/ros-unstable-geometry-1.3.1/debian/ros-unstable-geometry/opt/ros/unstable/stacks/geometry/tf/src/transform_broadcaster.cpp:57 

#7  0x081a6ec1 in RosMasterModule::RosMasterModule (this=0x8c5d120) at 
/home/dgossow/Desktop/robbie/16/30_prog/trunk/Modules/RosMasterModule.cpp:37

When publishing the same topic by hand without the TransformBroadcaster, 
everything works fine as well.

Any ideas what could be the error?

I'm Using Ubuntu 10.10 32-bit & ros-unstable (same effect on cturle).

Cheers,
David



More information about the ros-users mailing list