[ros-users] SegFault in TransformBroadcaster

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: User discussions
Date:  
To: ros-users
Subject: [ros-users] SegFault in TransformBroadcaster
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