moveit / moveit_setup_assistant

THIS REPO HAS MOVED TO https://github.com/ros-planning/moveit
8 stars 20 forks source link

Segmentation fault when loading files for existing configuration #95

Closed PeterJeffris closed 9 years ago

PeterJeffris commented 10 years ago

Using ros indigo I get a segfault in the moveit setup assistant when loading an existing moveit configuration. The package is generated without any problems but when the load files action is started the program segfaults with the following backtrace:

gcc version 4.9.1 [ INFO] [1411143797.882212274]: Setting Param Server with Robot Description [ INFO] [1411143797.891190312]: Robot semantic model successfully loaded. [ INFO] [1411143797.891332840]: Setting Param Server with Robot Semantic Description

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff7771818 in boost::shared_ptrYAML::detail::node_data::operator-> ( this=0xd0458b48e0558d48) at /usr/include/boost/smart_ptr/shared_ptr.hpp:653 653 BOOST_ASSERT( px != 0 ); (gdb) bt

0 0x00007ffff7771818 in boost::shared_ptrYAML::detail::node_data::operator-> (

this=0xd0458b48e0558d48) at /usr/include/boost/smart_ptr/shared_ptr.hpp:653

1 0x00007ffff776f3e2 in YAML::detail::node_ref::type (this=0xd0458b48e0558d48)

at /usr/include/yaml-cpp/node/detail/node_ref.h:25

2 0x00007ffff776f59a in YAML::detail::node::type (

this=0x7ffff7773202 <moveit_setup_assistant::operator>><std::string>(YAML::Node const&, std::string&)+36>) at /usr/include/yaml-cpp/node/detail/node.h:29

3 0x00007ffff776fa41 in YAML::Node::Type (this=0x7fffffffbf30)

at /usr/include/yaml-cpp/node/impl.h:75

4 0x00007ffff776fb0e in YAML::as_if<std::string, void>::operator() (

this=0x7fffffffbf20) at /usr/include/yaml-cpp/node/impl.h:131

5 0x00007ffff7775422 in YAML::Node::asstd::string (this=0x7fffffffbf30)

at /usr/include/yaml-cpp/node/impl.h:143

6 0x00007ffff7773202 in moveit_setup_assistant::operator>>std::string (node=...,

i="") at /opt/ros/src/moveit_setup_assistant/src/tools/moveit_config_data.cpp:119

7 0x00007ffff776d036 in moveit_setup_assistant::MoveItConfigData::inputKinematicsYAML (this=0xa5ac20,

file_path="/opt/altius/altius_ros/src/cyton_gamma_300_moveit/config/kinematics.yaml") at /opt/ros/src/moveit_setup_assistant/src/tools/moveit_config_data.cpp:602

8 0x00007ffff7ae9adb in moveit_setup_assistant::StartScreenWidget::loadExistingFiles

(this=0xdd9030)
at /opt/ros/src/moveit_setup_assistant/src/widgets/start_screen_widget.cpp:383

9 0x00007ffff7ae951a in moveit_setup_assistant::StartScreenWidget::loadFilesClick (

this=0xdd9030)
at /opt/ros/src/moveit_setup_assistant/src/widgets/start_screen_widget.cpp:291

10 0x00007ffff7b6daba in moveit_setup_assistant::StartScreenWidget::qt_static_metacall (_o=0xdd9030, _c=QMetaObject::InvokeMetaMethod, _id=4, _a=0x7fffffffc830)

at /opt/ros/build_isolated/moveit_setup_assistant/src/widgets/moc_start_screen_widget.cxx:61

11 0x00007ffff6636c5c in QMetaObject::activate(QObject, QMetaObject const, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

12 0x00007ffff71e0422 in QAbstractButton::clicked(bool) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

13 0x00007ffff6f21303 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

14 0x00007ffff6f226b4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

15 0x00007ffff6f227c4 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

16 0x00007ffff6ba43b8 in QWidget::event(QEvent*) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

17 0x00007ffff6b5131c in QApplicationPrivate::notifyhelper(QObject, QEvent_) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

18 0x00007ffff6b57f7f in QApplication::notify(QObject, QEvent) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

19 0x00007ffff6621cad in QCoreApplication::notifyInternal(QObject, QEvent) ()

from /usr/lib/x86_64-linux-gnu/libQtCore.so.4 ---Type to continue, or q to quit---

20 0x00007ffff6b575af in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget**, QPointer&, bool) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

21 0x00007ffff6bce2fe in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

22 0x00007ffff6bcccb2 in QApplication::x11ProcessEvent(_XEvent*) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

23 0x00007ffff6bf5f92 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

24 0x00007fffdec8becd in g_main_context_dispatch ()

from /lib/x86_64-linux-gnu/libglib-2.0.so.0

25 0x00007fffdec8c1b8 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

26 0x00007fffdec8c26c in g_main_context_iteration ()

from /lib/x86_64-linux-gnu/libglib-2.0.so.0

27 0x00007ffff665114d in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

28 0x00007ffff6bf6056 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

29 0x00007ffff6620801 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

30 0x00007ffff6620b65 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) ()

from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

31 0x00007ffff66265c7 in QCoreApplication::exec() ()

from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

32 0x000000000041abd1 in main (argc=1, argv=0x7fffffffd9d8)

at /opt/ros/src/moveit_setup_assistant/src/setup_assistant_main.cpp:96
ugocupcic commented 10 years ago

I was faced with the same issue and installed it from sources. It seems to work.

Here's the rosinstall I used for installing moveit on indigo:

- git: {local-name: moveit_core, uri: 'https://github.com/ros-planning/moveit_core.git', version: indigo-devel}
- git: {local-name: moveit_planners, uri: 'https://github.com/ros-planning/moveit_planners.git', version: indigo-devel}
- git: {local-name: moveit_ros, uri: 'https://github.com/ros-planning/moveit_ros.git', version: indigo-devel}
- git: {local-name: moveit_setup_assistant, uri: 'https://github.com/ros-planning/moveit_setup_assistant.git', version: hydro-devel}
- git: {local-name: moveit_msgs, uri: 'https://github.com/ros-planning/moveit_msgs.git', version: hydro-devel}
- git: {local-name: moveit_plugins, uri: 'https://github.com/ros-planning/moveit_plugins.git', version: hydro-devel}
- git: {local-name: moveit_commander, uri: 'https://github.com/ros-planning/moveit_commander.git', version: hydro-devel}
- git: {local-name: moveit_resources, uri: 'https://github.com/ros-planning/moveit_resources.git', version: master}
- git: {local-name: moveit_docs, uri: 'https://github.com/ros-planning/moveit_docs.git', version: indigo-devel}
PeterJeffris commented 10 years ago

Thanks for the tip, I installed the entire ros system from source but I used Indigo release. I'll give the development version a try.

davetcoleman commented 10 years ago

Any luck? I am unable to recreate this issue (works for me)

PeterJeffris commented 10 years ago

Sorry it took me so long, they've been keeping me busy. I rebuilt my entire distro using git repositories and now the setup assistant is release/indigo/moveit_setup_assistant/0.5.9-0 which I belive is Indigo devel and I still get a seg fault.

PeterJeffris commented 10 years ago

(gdb) run Starting program: /opt/ros/devel_isolated/moveit_setup_assistant/lib/moveit_setup_assistant/moveit_setup_assistant [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". [New Thread 0x7fffc3dfd700 (LWP 4799)] [New Thread 0x7fffc3267700 (LWP 4801)] [New Thread 0x7fffc2a66700 (LWP 4802)] [New Thread 0x7fffc2265700 (LWP 4803)] [New Thread 0x7fffc1a64700 (LWP 4808)] [New Thread 0x7fffc1263700 (LWP 4809)] [New Thread 0x7fffab074700 (LWP 4810)] [New Thread 0x7fffaa873700 (LWP 4811)] [New Thread 0x7fffa9e55700 (LWP 4812)] [New Thread 0x7fffa9654700 (LWP 4813)] [New Thread 0x7fffa8e53700 (LWP 4814)] [Thread 0x7fffa8e53700 (LWP 4814) exited] [Thread 0x7fffa9654700 (LWP 4813) exited] [New Thread 0x7fffa9654700 (LWP 4815)] [Thread 0x7fffa9e55700 (LWP 4812) exited] [New Thread 0x7fffa9e55700 (LWP 4816)] [Thread 0x7fffa9e55700 (LWP 4816) exited] [New Thread 0x7fffa9e55700 (LWP 4817)] [Thread 0x7fffa9654700 (LWP 4815) exited] [New Thread 0x7fffa9654700 (LWP 4818)] [Thread 0x7fffa9654700 (LWP 4818) exited] [ INFO] [1414081061.950654148]: Loaded g300 robot model. [ INFO] [1414081061.951159450]: Setting Param Server with Robot Description [ INFO] [1414081061.958743804]: Robot semantic model successfully loaded. [ INFO] [1414081061.958867682]: Setting Param Server with Robot Semantic Description

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff78ee045 in YAML::detail::node& YAML::detail::node::getstd::string(std::string const&, boost::shared_ptrYAML::detail::memory_holder) const () from /opt/ros/install_isolated/lib/libmoveit_setup_assistant_tools.so (gdb) bt

0 0x00007ffff78ee045 in YAML::detail::node& YAML::detail::node::getstd::string(std::string const&, boost::shared_ptrYAML::detail::memory_holder) const ()

from /opt/ros/install_isolated/lib/libmoveit_setup_assistant_tools.so

1 0x00007ffff78ee64d in YAML::Node const YAML::Node::operator[]<char [18]>(char const (&) [18]) const ()

from /opt/ros/install_isolated/lib/libmoveit_setup_assistant_tools.so

2 0x00007ffff78e890f in moveit_setup_assistant::MoveItConfigData::inputKinematicsYAML(std::string const&) ()

from /opt/ros/install_isolated/lib/libmoveit_setup_assistant_tools.so

3 0x00007ffff7b5cb3e in moveit_setup_assistant::StartScreenWidget::loadExistingFiles() ()

from /opt/ros/install_isolated/lib/libmoveit_setup_assistant_widgets.so

4 0x00007ffff7b5cf85 in moveit_setup_assistant::StartScreenWidget::loadFilesClick() ()

from /opt/ros/install_isolated/lib/libmoveit_setup_assistant_widgets.so

5 0x00007ffff6865f4c in QMetaObject::activate(QObject, QMetaObject const, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

6 0x00007ffff7410bd2 in QAbstractButton::clicked(bool) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

7 0x00007ffff7151073 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

8 0x00007ffff7152424 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

9 0x00007ffff7152534 in QAbstractButton::mouseReleaseEvent(QMouseEvent_) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4 ---Type to continue, or q to quit---

10 0x00007ffff6dd44d8 in QWidget::event(QEvent_) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

11 0x00007ffff6d8129c in QApplicationPrivate::notifyhelper(QObject, QEvent_)

() from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

12 0x00007ffff6d87f0f in QApplication::notify(QObject, QEvent) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

13 0x00007ffff6850f8d in QCoreApplication::notifyInternal(QObject, QEvent)

() from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

14 0x00007ffff6d8756f in QApplicationPrivate::sendMouseEvent(QWidget, QMouseEvent, QWidget, QWidget, QWidget**, QPointer&, bool) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

15 0x00007ffff6dfe0a2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

16 0x00007ffff6dfca9c in QApplication::x11ProcessEvent(_XEvent*) ()

from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

17 0x00007ffff6e25ad2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

18 0x00007fffe14b6c5d in g_main_context_dispatch ()

from /lib/x86_64-linux-gnu/libglib-2.0.so.0

19 0x00007fffe14b6f48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0

20 0x00007fffe14b6ffc in g_main_context_iteration ()

from /lib/x86_64-linux-gnu/libglib-2.0.so.0

21 0x00007ffff68804ed in QEventDispatcherGlib::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

22 0x00007ffff6e25b96 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4

---Type to continue, or q to quit---

23 0x00007ffff684fae1 in QEventLoop::processEvents(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

24 0x00007ffff684fe45 in QEventLoop::exec(QFlagsQEventLoop::ProcessEventsFlag) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

25 0x00007ffff68558b9 in QCoreApplication::exec() ()

from /usr/lib/x86_64-linux-gnu/libQtCore.so.4

26 0x0000000000409654 in main ()

PeterJeffris commented 10 years ago

I'm busy for the next two weeks, but if I get some freetime after that I'll try to fix this

davetcoleman commented 10 years ago

It looks like you are using ROS Indigo, right? What Ubuntu version are you on? 64 bit? What version of yaml do you have installed as a debian? I'd imagine its a YAML version problem.

PeterJeffris commented 10 years ago

Correct, I'm using indigo. I'm using debian jessie and building from source. My libyaml-cpp-dev version is 0.5.1, the same as in the Ubuntu 14.04 repositories.

$ dpkg --list | grep libyaml ii libyaml-0-2:amd64 0.1.6-2 amd64 Fast YAML 1.1 parser and emitter library ii libyaml-cpp-dev 0.5.1-1 amd64 YAML parser and emitter for C++ - development files ii libyaml-cpp0.3:amd64 0.3.0-1.1 amd64 YAML parser and emitter for C++ (0.3 series) ii libyaml-cpp0.5:amd64 0.5.1-1 amd64 YAML parser and emitter for C++ ii libyaml-libyaml-perl 0.41-5+b1 amd64 Perl interface to libyaml, a YAML implementation ii libyaml-perl 1.12-1 all YAML Ain't Markup Language

There are other applications on my machine using an earlier version, so cmake may have grabbed the wrong thing.

On Thu, Oct 23, 2014 at 12:03 PM, Dave Coleman notifications@github.com wrote:

It looks like you are using ROS Indigo, right? What Ubuntu version are you on? 64 bit? What version of yaml do you have installed as a debian? I'd imagine its a YAML version problem.

— Reply to this email directly or view it on GitHub https://github.com/ros-planning/moveit_setup_assistant/issues/95#issuecomment-60281166 .

davetcoleman commented 10 years ago

We (I) really only have resources to test and support Ubuntu at this time. You should be sure to say you aren't using that in issues like this :-)

Perhaps this is helpful: https://github.com/ros-planning/moveit_setup_assistant/issues/70

nbellowe commented 9 years ago

I just wanted to put some input here, letting you know that I reproduced this issue on a standard installation of stock ros-indigo-moveit-setup-assistant on Ubuntu 14.04.

I have libyaml-cpp0.5-1-1 installed, dev too.

Nathan (Dave is also looking into it)

ghost commented 9 years ago

I'm seeing the same issue (or at the same symptoms) in stock 64 bit Indigo/14.04 with libyaml 0.5.1-1. It's running in a VM, if that makes a difference. Here's my bt:

Program received signal SIGSEGV, Segmentation fault. 0x00007ffff551db7c in boost::shared_ptrYAML::detail::node_data::operator->() const () from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so (gdb) bt

0 0x00007ffff551db7c in boost::shared_ptrYAML::detail::node_data::operator->() const ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

1 0x00007ffff551b6de in YAML::detail::node_ref::type() const ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

2 0x00007ffff551b896 in YAML::detail::node::type() const ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

3 0x00007ffff551bd39 in YAML::Node::Type() const ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

4 0x00007ffff551be06 in YAML::as_if<std::string, void>::operator()() const ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

5 0x00007ffff55216fc in std::string const YAML::Node::asstd::string() const

() from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

6 0x00007ffff551f5a8 in void moveit_setup_assistant::operator>>std::string(YAML::Node const&, std::string&) ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

7 0x00007ffff5519274 in moveit_setup_assistant::MoveItConfigData::inputKinematicsYAML(std::string const&) ()

from /opt/ros/indigo/lib/libmoveit_setup_assistant_tools.so

8 0x00007ffff7aebfe9 in moveit_setup_assistant::StartScreenWidget::loadExistingFiles() () from /opt/ros/indigo/lib/libmoveit_setup_assistant_widgets.so

9 0x00007ffff7aeba76 in moveit_setup_assistant::StartScreenWidget::loadFilesClick() () from /opt/ros/indigo/lib/libmoveit_setup_assistant_widgets.so

ghost commented 9 years ago

Building moveit_setup_assistant assistant from source seems to resolve my issue.

nbellowe commented 9 years ago

I concur, this worked for me as well. On Dec 1, 2014 3:56 PM, "danielwahlhdt" notifications@github.com wrote:

Building moveit_setup_assistant assistant from source seems to resolve my issue.

— Reply to this email directly or view it on GitHub https://github.com/ros-planning/moveit_setup_assistant/issues/95#issuecomment-65151034 .

davetcoleman commented 9 years ago

@mikeferguson could you take a look at this issue? I'm not sure where to start with it...

davetcoleman commented 9 years ago

Actually this is probably because the SA has not been released since Mar 22, not since we branched for Indigo. Released: https://github.com/ros-planning/moveit_setup_assistant/issues/97

I'm going to close this issue until the next ROS Indigo update is released, and ask that someone reopen this issue if they still experience the problem after the update.