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

rospack segfaults SIGSEGV on Groovy, Precise, 32b #4

Closed
130s opened this issue Jan 9, 2013 · 4 comments
Closed

rospack segfaults SIGSEGV on Groovy, Precise, 32b #4

130s opened this issue Jan 9, 2013 · 4 comments
Assignees

Comments

@130s
Copy link
Member

130s commented Jan 9, 2013

Originally asked here (http://goo.gl/JKJn3), and I can confirm this happens on my fresh-installed Precise 32 bit with Groovy (on VMWare Player). I've never seen this has happened on 64b machines.

Setting up ros-groovy-rospack (2.1.15-0precise-20121225-1325-+0000)

rosuserin@precise:~$ uname -a
Linux ubuntu 3.2.0-29-generic-pae #46-Ubuntu SMP Fri Jul 27 17:25:43 UTC 2012 i686 i686 i386 GNU/Linux
rosuserin@precise:~$ sudo apt-get update & apt-get dist-upgrade 
rosuserin@precise:~$ echo "source /opt/ros/groovy/setup.bash" >> ~/.bashrc
rosuserin@precise:~$ . ~/.bashrc
rosuserin@precise:~$ rospack depends1 roscpp
Segmentation fault (core dumped)
rosuserin@precise:~$ gdb rospack
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i686-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /opt/ros/groovy/bin/rospack...(no debugging symbols found)...done.
(gdb) run depends1 roscpp
Starting program: /opt/ros/groovy/bin/rospack depends1 roscpp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0xb7a29112 in PyObject_IsTrue () from /usr/lib/libpython2.7.so.1.0
(gdb) bt
#0  0xb7a29112 in PyObject_IsTrue () from /usr/lib/libpython2.7.so.1.0
#1  0xb7fabc40 in rospack::Rosstackage::isSysPackage(std::string const&) () from /opt/ros/groovy/lib/librospack.so
#2  0xb7fac8ee in rospack::Rosstackage::computeDepsInternal(rospack::Stackage*, bool, std::string const&) ()
   from /opt/ros/groovy/lib/librospack.so
#3  0xb7faccb6 in rospack::Rosstackage::computeDeps(rospack::Stackage*, bool) () from /opt/ros/groovy/lib/librospack.so
#4  0xb7fac8b9 in rospack::Rosstackage::computeDepsInternal(rospack::Stackage*, bool, std::string const&) ()
   from /opt/ros/groovy/lib/librospack.so
#5  0xb7faccb6 in rospack::Rosstackage::computeDeps(rospack::Stackage*, bool) () from /opt/ros/groovy/lib/librospack.so
#6  0xb7fac8b9 in rospack::Rosstackage::computeDepsInternal(rospack::Stackage*, bool, std::string const&) ()
   from /opt/ros/groovy/lib/librospack.so
#7  0xb7faccb6 in rospack::Rosstackage::computeDeps(rospack::Stackage*, bool) () from /opt/ros/groovy/lib/librospack.so
#8  0xb7fac8b9 in rospack::Rosstackage::computeDepsInternal(rospack::Stackage*, bool, std::string const&) ()
   from /opt/ros/groovy/lib/librospack.so
#9  0xb7faccb6 in rospack::Rosstackage::computeDeps(rospack::Stackage*, bool) () from /opt/ros/groovy/lib/librospack.so
#10 0xb7fac8b9 in rospack::Rosstackage::computeDepsInternal(rospack::Stackage*, bool, std::string const&) ()
   from /opt/ros/groovy/lib/librospack.so
#11 0xb7faccb6 in rospack::Rosstackage::computeDeps(rospack::Stackage*, bool) () from /opt/ros/groovy/lib/librospack.so
#12 0xb7fadbdf in rospack::Rosstackage::depsDetail(std::string const&, bool, std::vector<rospack::Stackage*, std::allocator<rospack::Stackage*> >&) () from /opt/ros/groovy/lib/librospack.so
#13 0xb7fb29e2 in rospack::Rosstackage::deps(std::string const&, bool, std::vector<std::string, std::allocator<std::string> >&)
    () from /opt/ros/groovy/lib/librospack.so
#14 0xb7fc2496 in rospack::rospack_run(int, char**, rospack::Rosstackage&, std::string&) ()
   from /opt/ros/groovy/lib/librospack.so
#15 0x0804892e in main ()
@azeey
Copy link

azeey commented Jan 10, 2013

After running

$ sudo rosdep init
$ rosdep update

the problem seems to have gone away. I did have to fix permissions in /etc/ros/rosdep as follows in order to run "rosdep update" successfully.

$ sudo chmod a+x /etc/ros/rosdep /etc/ros/rosdep/sources.list.d/
$ sudo chmod a+rx /etc/ros/rosdep/*

@tfoote
Copy link
Member

tfoote commented Jan 10, 2013

@azeey How did you install rosdep?

@ghost ghost assigned dirk-thomas Jan 10, 2013
@dirk-thomas
Copy link
Member

I am able to reproduce this on Quantal 64-bit with Groovy packages from shadow-fixed. The segfault happens when I remove the rosdep database under ~/.ros/rosdep/sources.cache. I will look into it and come up with a fix.

@azeey
Copy link

azeey commented Jan 10, 2013

I assumed it was part of the standard installation. I'm using Ubuntu and I installed the full ros package. Rosdep must have been part of that package. I also installed python-rosinstall so it could be part of that. The error message I got when trying to build the package made seem like it was already installed.

[rosbuild] Building package beginner_tutorials
  Failed to invoke /opt/ros/groovy/bin/rospack deps-manifests beginner_tutorials

  [rospack] Error: the rosdep view is empty: call 'sudo rosdep init' and 'rosdep
 update

PierrickKoch pushed a commit to PierrickKoch/robotpkg that referenced this issue Feb 21, 2014
While here, rename the package to ros-rospack, for consistency with other ros
packages.

The ChangeLog since 2.0.13 stops at the "groovy" boundary.

2.1.19 (2013-06-06)
-------------------
* modified command 'list-duplicates' to output the paths where the packages
  were found (`#3 <https://github.com/ros/rospack/issues/3>`_)
* modified 'rospack plugins' to not use rosdep
  (`#5 <https://github.com/ros/rospack/issues/5>`_)
* improve Windows support  (`#10 <https://github.com/ros/rospack/issues/10>`_)
* use find_package() for tinyxml (if available)

2.1.18 (2013-03-21)
-------------------
* invert order of package type detection (dry before wet)
  (`ros-infrastructure/rospkg#30 <https://github.com/ros/rospkg/issues/30>`_)

2.1.17 (2013-03-08)
-------------------
* output full pkg-config command in case of errors
  (`#8 <https://github.com/ros/rospack/issues/8>`_)
* handle None as return value for call_pkg_config
  (`#8 <https://github.com/ros/rospack/issues/8>`_)
* fix crawling to always recrawl when forced
  (`#9 <https://github.com/ros/rospack/issues/9>`_)

2.1.16 (2013-01-13)
-------------------
* fix segfault for command depends1 which ignores exceptions and calls
  isSysPackage again (`#4 <https://github.com/ros/rospack/issues/4>`_)

2.1.15 (2012-12-06)
-------------------
* first public release for Groovy
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants