You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, as mentioned in an earlier issue, I was attempting to run ssf_update on a PandaBoard ES running Ubuntu 12.04 and get a SIGBUS error before I even initialise the fusion. The backtrace is below
[ INFO] [1370922064.866466859]: interpreting measurement as sensor w.r.t. world
[ INFO] [1370922064.869182924]: using covariance from sensor
[ INFO] [1370922065.067577699]: Filter type: pose_sensor
[ INFO] [1370922065.068645814]: /pose_sensor:
subscribed to topics:
/imu/data
/ssf_core/hl_state_input
/vslam/pose
advertised topics:
/rosout
/ssf_core/state_out
/ssf_core/correction
/ssf_core/pose
/ssf_core/ext_state
/pose_sensor/parameter_descriptions
/pose_sensor/parameter_updates
Program received signal SIGBUS, Bus error.
allInOne<ros::serialization::IStream, geometry_msgs::Quaternion_<std::allocator >&> (m=..., stream=)
at /opt/ros/fuerte/include/geometry_msgs/Quaternion.h:215
215 stream.next(m.z);
(gdb) bt
#0 allInOne<ros::serialization::IStream, geometry_msgs::Quaternion_<std::allocator >&> (m=..., stream=)
at /opt/ros/fuerte/include/geometry_msgs/Quaternion.h:215
at /opt/ros/fuerte/include/ros/subscription_callback_helper.h:172
#8 0xb6f84d30 in ros::MessageDeserializer::deserialize() ()
from /opt/ros/fuerte/lib/libroscpp.so #9 0xb6f802bc in ros::SubscriptionQueue::call() ()
from /opt/ros/fuerte/lib/libroscpp.so #10 0xb6f2d4ae in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) ()
from /opt/ros/fuerte/lib/libroscpp.so #11 0xb6f2d074 in ros::CallbackQueue::callAvailable(ros::WallDuration) ()
from /opt/ros/fuerte/lib/libroscpp.so #12 0xb6f82324 in ros::SingleThreadedSpinner::spin(ros::CallbackQueue*) ()
from /opt/ros/fuerte/lib/libroscpp.so #13 0xb6f669ee in ros::spin(ros::Spinner&) () from /opt/ros/fuerte/lib/libroscpp.so #14 0xb6f669b2 in ros::spin() () from /opt/ros/fuerte/lib/libroscpp.so #15 0x00010b8e in main (argc=1715953599, argv=)
at /home/bird/bird_repo/cpp/external_ros_pkgs/ethzasl_sensor_fusion/ssf_updates/src/main.cpp:75
Hi, as mentioned in an earlier issue, I was attempting to run ssf_update on a PandaBoard ES running Ubuntu 12.04 and get a SIGBUS error before I even initialise the fusion. The backtrace is below
[ INFO] [1370922064.866466859]: interpreting measurement as sensor w.r.t. world
[ INFO] [1370922064.869182924]: using covariance from sensor
[ INFO] [1370922065.067577699]: Filter type: pose_sensor
[ INFO] [1370922065.068645814]: /pose_sensor:
subscribed to topics:
/imu/data
/ssf_core/hl_state_input
/vslam/pose
advertised topics:
/rosout
/ssf_core/state_out
/ssf_core/correction
/ssf_core/pose
/ssf_core/ext_state
/pose_sensor/parameter_descriptions
/pose_sensor/parameter_updates
Program received signal SIGBUS, Bus error.
allInOne<ros::serialization::IStream, geometry_msgs::Quaternion_<std::allocator >&> (m=..., stream=)
at /opt/ros/fuerte/include/geometry_msgs/Quaternion.h:215
215 stream.next(m.z);
(gdb) bt
#0 allInOne<ros::serialization::IStream, geometry_msgs::Quaternion_<std::allocator >&> (m=..., stream=)
#1 read<ros::serialization::IStream, geometry_msgs::Quaternion_<std::allocator > > (t=..., stream=)
#2 deserialize<geometry_msgs::Quaternion_<std::allocator >, ros::serialization::IStream> (t=..., stream=)
#3 next<geometry_msgs::Quaternion_<std::allocator > > (t=...,
#4 allInOne<ros::serialization::IStream, sensor_msgs::Imu_<std::allocator >&> (
#5 read<ros::serialization::IStream, sensor_msgs::Imu_<std::allocator > > (
#6 deserialize<sensor_msgs::Imu_<std::allocator >, ros::serialization::IStream> (
#7 ros::SubscriptionCallbackHelperTboost::shared_ptr<sensor_msgs::Imu_<std::allocator const> const&, void>::deserialize (this=, params=...)
#8 0xb6f84d30 in ros::MessageDeserializer::deserialize() ()
from /opt/ros/fuerte/lib/libroscpp.so
#9 0xb6f802bc in ros::SubscriptionQueue::call() ()
from /opt/ros/fuerte/lib/libroscpp.so
#10 0xb6f2d4ae in ros::CallbackQueue::callOneCB(ros::CallbackQueue::TLS*) ()
from /opt/ros/fuerte/lib/libroscpp.so
#11 0xb6f2d074 in ros::CallbackQueue::callAvailable(ros::WallDuration) ()
from /opt/ros/fuerte/lib/libroscpp.so
#12 0xb6f82324 in ros::SingleThreadedSpinner::spin(ros::CallbackQueue*) ()
from /opt/ros/fuerte/lib/libroscpp.so
#13 0xb6f669ee in ros::spin(ros::Spinner&) () from /opt/ros/fuerte/lib/libroscpp.so
#14 0xb6f669b2 in ros::spin() () from /opt/ros/fuerte/lib/libroscpp.so
#15 0x00010b8e in main (argc=1715953599, argv=)
Update:
This issue was resolved by applying the ROS serialization patch required (https://code.ros.org/trac/ros/attachment/ticket/2883/serialization_memcpy_instead_of_reinterpret.diff) and rebuilding the IMU driver node, tf and geometry packages and ssf_core using rosmake --pre-clean.
The text was updated successfully, but these errors were encountered: