Skip to content
This repository has been archived by the owner on Aug 3, 2020. It is now read-only.

Collada_URDF Seg Fault #4

Closed
isucan opened this issue Jan 24, 2013 · 4 comments
Closed

Collada_URDF Seg Fault #4

isucan opened this issue Jan 24, 2013 · 4 comments

Comments

@isucan
Copy link
Contributor

isucan commented Jan 24, 2013

When converting a URDF to DAE file, urdf_to_collada crashes in the collada_urdf package. No output or error message is given except:

Segmentation fault (core dumped)

GDB backtrace reports:

gdb --ex run --args urdf_to_collada ~/ros/clam/src/clam_description/urdf_ikfast/clam.urdf ~/ros/clam/src/clam_description/urdf_ikfast/clam.dae
GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2.1) 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 "x86_64-linux-gnu".
For bug reporting instructions, please see:
<http://bugs.launchpad.net/gdb-linaro/>...
Reading symbols from /home/dave/ros/misc/devel/lib/collada_urdf/urdf_to_collada...(no debugging symbols found)...done.
Starting program: /home/dave/ros/misc/devel/lib/collada_urdf/urdf_to_collada /home/dave/ros/clam/src/clam_description/urdf_ikfast/clam.urdf /home/dave/ros/clam/src/clam_description/urdf_ikfast/clam.dae
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff6c96f28 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
(gdb) bt
#0  0x00007ffff6c96f28 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff54ea300 in cdom::nativePathToUri(std::string const&, cdom::systemType) ()
   from /usr/lib/libcollada-dom2.4-dp.so.0
#2  0x00007ffff54dbbd0 in DAE::makeFullUri(std::string const&) () from /usr/lib/libcollada-dom2.4-dp.so.0
#3  0x00007ffff54dc2d6 in DAE::writeCommon(std::string const&, std::string const&, bool) ()
   from /usr/lib/libcollada-dom2.4-dp.so.0
#4  0x00007ffff7b51e30 in collada_urdf::colladaToFile(boost::shared_ptr<DAE>, std::string const&) ()
   from /home/dave/ros/misc/devel/lib/libcollada_urdf.so
#5  0x000000000040737b in main ()
(gdb) 
#0  0x00007ffff6c96f28 in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#1  0x00007ffff54ea300 in cdom::nativePathToUri(std::string const&, cdom::systemType) ()
   from /usr/lib/libcollada-dom2.4-dp.so.0
#2  0x00007ffff54dbbd0 in DAE::makeFullUri(std::string const&) () from /usr/lib/libcollada-dom2.4-dp.so.0
#3  0x00007ffff54dc2d6 in DAE::writeCommon(std::string const&, std::string const&, bool) ()
   from /usr/lib/libcollada-dom2.4-dp.so.0
#4  0x00007ffff7b51e30 in collada_urdf::colladaToFile(boost::shared_ptr<DAE>, std::string const&) ()
   from /home/dave/ros/misc/devel/lib/libcollada_urdf.so
#5  0x000000000040737b in main ()

@k-okada
Copy link
Contributor

k-okada commented Feb 14, 2013

I'm not fully understand what's happening but attached patch fill fix the segfault problem.

http://jsk-ros-pkg.svn.sourceforge.net/viewvc/jsk-ros-pkg/trunk/jsk_ros_patch/collada_urdf_jsk_patch/collada.patch?view=markup&pathrev=3874

@wjwwood
Copy link
Member

wjwwood commented Feb 14, 2013

@k-okada Please turn your patch into a pull request:

https://help.github.com/articles/using-pull-requests

You can reference this issue in the pull request using the #4 notation.

And in the future if you need to link text use https://gist.github.com, it is much easier.

@bit-pirate
Copy link

I'm still seeing this in Hydro (deb version 1.10.17-0, running Ubuntu 12.04.02 64bit). Is this supposed to be fixed?

Source is identical to the deb. So, here is the stack trace:

#0  0x00007ffff6d20002 in collada_urdf::ColladaWriter::_loadVertices(shapes::Mesh const*, daeSmartRef<ColladaDOM150::domGeometry>) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#1  0x00007ffff6d1d4ea in collada_urdf::ColladaWriter::_WriteGeometry(boost::shared_ptr<urdf::Geometry>, std::string const&, urdf::Pose*) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#2  0x00007ffff6d1b155 in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#3  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#4  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#5  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#6  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#7  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#8  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#9  0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#10 0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#11 0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#12 0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#13 0x00007ffff6d1b82c in collada_urdf::ColladaWriter::_WriteLink(boost::shared_ptr<urdf::Link const>, daeSmartRef<daeElement>, daeSmartRef<ColladaDOM150::domNode>, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#14 0x00007ffff6d182f1 in collada_urdf::ColladaWriter::WriteKinematics_model(int) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#15 0x00007ffff6d15bcc in collada_urdf::ColladaWriter::_WriteInstance_kinematics_model(daeSmartRef<daeElement>, std::string const&, int) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#16 0x00007ffff6d134b4 in collada_urdf::ColladaWriter::_WriteRobot(int) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#17 0x00007ffff6d11c87 in collada_urdf::ColladaWriter::convert() () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#18 0x00007ffff6d093f2 in collada_urdf::WriteUrdfModelToColladaFile(urdf::Model const&, std::string const&) () from /opt/korus_workspace/moveit_ws/devel/lib/libcollada_urdf.so
#19 0x0000000000407002 in main ()

Should I create a new issue or will this one be re-opened?

@bit-pirate
Copy link

Identified the problem and created the new issue #45.

k-okada added a commit to jsk-ros-pkg/jsk_common that referenced this issue Mar 5, 2014
k-okada added a commit to jsk-ros-pkg/jsk_3rdparty that referenced this issue Jun 12, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants