Skip to content

Instantly share code, notes, and snippets.

@mjcarroll
Created September 30, 2019 14:46
Show Gist options
  • Save mjcarroll/caf4c7250ee7eebe1b1ad905a671b8bf to your computer and use it in GitHub Desktop.
Save mjcarroll/caf4c7250ee7eebe1b1ad905a671b8bf to your computer and use it in GitHub Desktop.
Views Segfault Backtrace
[0x7fac1bf05d04]
365: this->postUpdateStartBarrier->Wait();
366: if (this->postUpdateThreadsRunning)
367: {
> 368: system->PostUpdate(this->currentInfo, this->entityCompMgr);
369: }
370: this->postUpdateStopBarrier->Wait();
371: }
#6 Source "/home/bencomo/workspace/src/ign-gazebo/src/systems/magnetometer/Magnetometer.cc", line 93, in ignition::gazebo::v2::systems::Magnetometer::PostUpdate(ignition::gazebo::v2::UpdateInfo const&, ignition::gazebo::v2::EntityComponentManager const&) [0x7fabe6adf7ee]
90: // Only update and publish if not paused.
91: if (!_info.paused)
92: {
> 93: this->dataPtr->Update(_ecm);
94:
95: for (auto &it : this->dataPtr->entitySensorMap)
96: {
#5 Source "/home/bencomo/workspace/src/ign-gazebo/src/systems/magnetometer/Magnetometer.cc", line 175, in ignition::gazebo::v2::systems::MagnetometerPrivate::Update(ignition::gazebo::v2::EntityComponentManager const&) [0x7fabe6adf772]
172: {
173: IGN_PROFILE("MagnetometerPrivate::Update");
174: _ecm.Each<components::Magnetometer,
> 175: components::WorldPose>(
176: [&](const Entity &_entity,
177: const components::Magnetometer * /*_magnetometer*/,
178: const components::WorldPose *_worldPose)->bool
#4 Source "/home/bencomo/workspace/src/ign-gazebo/include/ignition/gazebo/detail/EntityComponentManager.hh", line 272, in void ignition::gazebo::v2::EntityComponentManager::Each<ignition::gazebo::v2::components::Component<sdf::v8::Sensor, ignition::gazebo::v2::components::MagnetometerTag, ignition::gazebo::v2::serializers::ComponentToMsgSerializer<sdf::v8::Sensor, ignition::msgs::Sensor> >, ignition::gazebo::v2::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v2::components::WorldPoseTag, ignition::gazebo::v2::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > >(ignition::gazebo::v2::EntityComponentManager::identity<std::function<bool (unsigned long const&, ignition::gazebo::v2::components::Component<sdf::v8::Sensor, ignition::gazebo::v2::components::MagnetometerTag, ignition::gazebo::v2::serializers::ComponentToMsgSerializer<sdf::v8::Sensor, ignition::msgs::Sensor> > const*, ignition::gazebo::v2::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v2::components::WorldPoseTag, ignition::gazebo::v2::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > const*)> >::type) const [0x7fabe6ae8e28]
269: {
270: // Get the view. This will create a new view if one does not already
271: // exist.
> 272: detail::View &view = this->FindView<ComponentTypeTs...>();
273:
274: // Iterate over the entities in the view, and invoke the callback
275: // function.
#3 Source "/home/bencomo/workspace/src/ign-gazebo/include/ignition/gazebo/detail/EntityComponentManager.hh", line 460, in ignition::gazebo::v2::detail::View& ignition::gazebo::v2::EntityComponentManager::FindView<ignition::gazebo::v2::components::Component<sdf::v8::Sensor, ignition::gazebo::v2::components::MagnetometerTag, ignition::gazebo::v2::serializers::ComponentToMsgSerializer<sdf::v8::Sensor, ignition::msgs::Sensor> >, ignition::gazebo::v2::components::Component<ignition::math::v6::Pose3<double>, ignition::gazebo::v2::components::WorldPoseTag, ignition::gazebo::v2::serializers::DefaultSerializer<ignition::math::v6::Pose3<double> > > >() const [0x7fabe6ae8d63]
457: }
458:
459: // Store the view.
> 460: return this->AddView(types, std::move(view))->second;
461: }
462:
463: return viewIter->second;
#2 | Source "/home/bencomo/workspace/src/ign-gazebo/src/EntityComponentManager.cc", line 663, in ignition::gazebo::v2::EntityComponentManager::AddView(std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const&, ignition::gazebo::v2::detail::View&&) const
| 661: // the location that prevented the insertion.
| 662: return this->dataPtr->views.insert(
| > 663: std::make_pair(_types, std::move(_view))).first;
| 664: }
Source "/usr/include/c++/8/bits/stl_map.h", line 815, in ignition::gazebo::v2::EntityComponentManager::AddView(std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const&, ignition::gazebo::v2::detail::View&&) const [0x7fac1be97488]
812: __enable_if_t<is_constructible<value_type, _Pair>::value,
813: pair<iterator, bool>>
814: insert(_Pair&& __x)
> 815: { return _M_t._M_emplace_unique(std::forward<_Pair>(__x)); }
816: #endif
817: // @}
#1 | Source "/usr/include/c++/8/bits/stl_tree.h", line 2374, in std::pair<std::_Rb_tree_iterator<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View> >, bool> std::_Rb_tree<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >, std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View>, std::_Select1st<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View> >, std::less<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > >, std::allocator<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View> > >::_M_emplace_unique<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >, ignition::gazebo::v2::detail::View> >(std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >, ignition::gazebo::v2::detail::View>&&)
| 2372: auto __res = _M_get_insert_unique_pos(_S_key(__z));
| 2373: if (__res.second)
| >2374: return _Res(_M_insert_node(__res.first, __res.second, __z), true);
| 2375:
| 2376: _M_drop_node(__z);
Source "/usr/include/c++/8/bits/stl_tree.h", line 2320, in std::pair<std::_Rb_tree_iterator<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View> >, bool> std::_Rb_tree<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >, std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View>, std::_Select1st<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View> >, std::less<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > >, std::allocator<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> > const, ignition::gazebo::v2::detail::View> > >::_M_emplace_unique<std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >, ignition::gazebo::v2::detail::View> >(std::pair<std::set<unsigned long, std::less<unsigned long>, std::allocator<unsigned long> >, ignition::gazebo::v2::detail::View>&&) [0x7fac1bea2eff]
2317: || _M_impl._M_key_compare(_S_key(__z),
2318: _S_key(__p)));
2319:
>2320: _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
2321: this->_M_impl._M_header);
2322: ++_M_impl._M_node_count;
2323: return iterator(__z);
#0 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", at 0x7fac1d2ac15a, in std::_Rb_tree_insert_and_rebalance(bool, std::_Rb_tree_node_base*, std::_Rb_tree_node_base*, std::_Rb_tree_node_base&)
Segmentation fault (Address not mapped to object [0x10])
Segmentation fault (core dumped)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment