Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gazebo scene view demo segfaults in Edifice #290

Closed
iche033 opened this issue Mar 30, 2021 · 1 comment
Closed

Gazebo scene view demo segfaults in Edifice #290

iche033 opened this issue Mar 30, 2021 · 1 comment
Labels
bug Something isn't working

Comments

@iche033
Copy link
Contributor

iche033 commented Mar 30, 2021

Environment

  • OS Version: Ubuntu 18.04
  • Source build - main (ign-rendering5)

Description

  • Expected behavior: gazebo_scene_viewer demo runs
  • Actual behavior: gazebo_scene_viewer segfaults

backtrace (see below) points to common::SubMesh copy constructor. This crash does not happen in ign-rendering4. The difference I see is the new way of creating dataPtr using IGN_UTILS_IMPL_PTR. However ign gazebo and other examples all run fine, which leads me to think that it could be related to the two ign-common versions that are loaded by this demo: ign-common1 is loaded by gazebo, while ign-rendering4 uses ign-common4

Steps to reproduce

  1. build the demo
  2. start gazebo: gazebo --verbose
  3. run demo: ./gazebo_scene_viewer

Output

Crash with following backtrace:

Thread 1 "gazebo_scene_vi" received signal SIGSEGV, Segmentation fault.
0x0000000000000051 in ?? ()
(gdb) bt
#0  0x0000000000000051 in  ()
#1  0x00007fffc3246ff3 in ignition::utils::ImplPtr<ignition::common::SubMesh::Implementation, void (*)(ignition::common::SubMesh::Implementation*), ignition::utils::detail::CopyMoveDeleteOperations<ignition::common::SubMesh::Implementation, ignition::common::SubMesh::Implementation* (*)(ignition::common::SubMesh::Implementation const&), void (*)(ignition::common::SubMesh::Implementation&, ignition::common::SubMesh::Implementation const&)> >::Clone() const (this=0x555556eecc38) at /usr/include/c++/8/bits/unique_ptr.h:359
#2  0x00007fffc3246ff3 in ignition::utils::ImplPtr<ignition::common::SubMesh::Implementation, void (*)(ignition::common::SubMesh::Implementation*), ignition::utils::detail::CopyMoveDeleteOperations<ignition::common::SubMesh::Implementation, ignition::common::SubMesh::Implementation* (*)(ignition::common::SubMesh::Implementation const&), void (*)(ignition::common::SubMesh::Implementation&, ignition::common::SubMesh::Implementation const&)> >::ImplPtr(ignition::utils::ImplPtr<ignition::common::SubMesh::Implementation, void (*)(ignition::common::SubMesh::Implementation*), ignition::utils::detail::CopyMoveDeleteOperations<ignition::common::SubMesh::Implementation, ignition::common::SubMesh::Implementation* (*)(ignition::common::SubMesh::Implementation const&), void (*)(ignition::common::SubMesh::Implementation&, ignition::common::SubMesh::Implementation const&)> > const&) (_other=..., this=0x7fffffffcdd8)
    at /home/osrf/code/ign_e_ws/install/include/ignition/utils1/ignition/utils/detail/ImplPtr.hh:58
#3  0x00007fffc3246ff3 in ignition::common::SubMesh::SubMesh(ignition::common::SubMesh const&) (this=0x7fffffffcdd0)
    at /home/osrf/code/ign_e_ws/install/include/ignition/common4/ignition/common/SubMesh.hh:41
#4  0x00007fffc3246ff3 in ignition::rendering::v5::OgreMeshFactory::LoadImpl(ignition::rendering::v5::MeshDescriptor const&) (this=0x55555604aa20, _desc=...) at /home/osrf/code/ign_e_ws/src/ign-rendering/ogre/src/OgreMeshFactory.cc:230
#5  0x00007fffc32461e4 in ignition::rendering::v5::OgreMeshFactory::OgreEntity(ignition::rendering::v5::MeshDescriptor const&) (this=0x55555604aa20, _desc=...) at /home/osrf/code/ign_e_ws/src/ign-rendering/ogre/src/OgreMeshFactory.cc:76
#6  0x00007fffc324afe0 in ignition::rendering::v5::OgreMeshFactory::Create(ignition::rendering::v5::MeshDescriptor const&) (this=0x55555604aa20, _desc=...)
    at /home/osrf/code/ign_e_ws/src/ign-rendering/ogre/src/OgreMeshFactory.cc:59
#7  0x00007fffc32612a9 in ignition::rendering::v5::OgreScene::CreateMeshImpl(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, ignition::rendering::v5::MeshDescriptor const&) (this=0x555555ae5de0, _id=65526, _name="scene::Plane(65526)", _desc=...)
    at /usr/include/c++/8/bits/shared_ptr_base.h:1018
#8  0x00007fffc32608ef in ignition::rendering::v5::OgreScene::CreateMeshImpl(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x555555ae5de0, _id=65526, _name="scene::Plane(65526)", _meshName=...) at /home/osrf/code/ign_e_ws/src/ign-rendering/ogre/src/OgreScene.cc:503
#9  0x00007fffc3262587 in ignition::rendering::v5::OgreScene::CreatePlaneImpl(unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&) (this=0x555555ae5de0, _id=65526, _name="scene::Plane(65526)") at /usr/include/c++/8/bits/basic_string.h:252
#10 0x00007ffff5b831be in ignition::rendering::v5::BaseScene::CreatePlane() (this=0x555555ae5de0)
    at /home/osrf/code/ign_e_ws/src/ign-rendering/src/base/BaseScene.cc:1010
#11 0x0000555555586750 in ignition::rendering::SubSceneManager::ProcessPlane(gazebo::msgs::Geometry const&, std::shared_ptr<ignition::rendering::v5::Visual>) ()
#12 0x0000555555585a4d in ignition::rendering::SubSceneManager::ProcessGeometry(gazebo::msgs::Geometry const&, std::shared_ptr<ignition::rendering::v5::Visual>) ()
#13 0x0000555555584ff8 in ignition::rendering::SubSceneManager::ProcessVisual(gazebo::msgs::Visual const&, std::shared_ptr<ignition::rendering::v5::Visual>) ()
#14 0x00005555555853e6 in ignition::rendering::SubSceneManager::ProcessLink(gazebo::msgs::Link const&, std::shared_ptr<ignition::rendering::v5::Visual>) ()
#15 0x0000555555584748 in ignition::rendering::SubSceneManager::ProcessModel(gazebo::msgs::Model const&, std::shared_ptr<ignition::rendering::v5::Visual>) ()
#16 0x0000555555588d3a in ignition::rendering::NewSceneManager::ProcessScene() ()
#17 0x0000555555588851 in ignition::rendering::NewSceneManager::ProcessMessages() ()
#18 0x0000555555582437 in ignition::rendering::SubSceneManager::UpdateScenes() ()
---Type <return> to continue, or q <return> to quit---
#19 0x000055555557fefd in ignition::rendering::SceneManagerPrivate::UpdateScenes() ()
#20 0x000055555557e0d6 in ignition::rendering::SceneManager::UpdateScenes() ()
#21 0x000055555557192d in GlutIdle() ()
#22 0x00007ffff7bad03e in glutMainLoop () at /usr/lib/x86_64-linux-gnu/libglut.so.3
#23 0x000055555557176c in GlutRun(std::vector<std::shared_ptr<ignition::rendering::v5::Camera>, std::allocator<std::shared_ptr<ignition::rendering::v5::Camera> > >) ()
#24 0x000055555557a609 in main ()

Here's the output of ldd:

$ ldd gazebo_scene_viewer | grep common
	libgazebo_common.so.9 => /usr/lib/x86_64-linux-gnu/libgazebo_common.so.9 (0x00007feb7d9d2000)
	libignition-common1.so.1 => /usr/lib/x86_64-linux-gnu/libignition-common1.so.1 (0x00007feb7d0ae000)
	libignition-common4-graphics.so.4 => /home/osrf/code/ign_e_ws/install/lib/libignition-common4-graphics.so.4 (0x00007feb75010000)
	libignition-common4.so.4 => /home/osrf/code/ign_e_ws/install/lib/libignition-common4.so.4 (0x00007feb74da6000)
	libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007feb59416000)
	libpulsecommon-11.1.so => /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-11.1.so (0x00007feb59198000)
@iche033 iche033 added the bug Something isn't working label Mar 30, 2021
@iche033
Copy link
Contributor Author

iche033 commented Oct 6, 2023

Edifice reached EOL and gazebo_scene_viewer example was removed in Harmonic

@iche033 iche033 closed this as completed Oct 6, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant