ipab-slmc / exotica

Extensible Optimization Framework
https://ipab-slmc.github.io/exotica
BSD 3-Clause "New" or "Revised" License
150 stars 70 forks source link

Examples scripts not running #481

Closed cmower closed 5 years ago

cmower commented 5 years ago
GNU gdb (Ubuntu 7.11.1-0ubuntu1~16.5) 7.11.1
Copyright (C) 2016 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".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from python...(no debugging symbols found)...done.
(gdb) run
Starting program: /usr/bin/python /home/chris/Projects/exotica_dev_ws/src/exotica/exotica_examples/scripts/example_ik __name:=example_ik_node __log:=/home/chris/.ros/log/a968d426-1368-11e9-9cf0-40490ffece99/example_ik_node-2.log
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[New Thread 0x7fffe1294700 (LWP 16189)]
[New Thread 0x7fffdea93700 (LWP 16190)]
[New Thread 0x7fffdc292700 (LWP 16191)]
[New Thread 0x7fffd9a91700 (LWP 16192)]
[New Thread 0x7fffd7290700 (LWP 16193)]
[New Thread 0x7fffd6a8f700 (LWP 16194)]
[New Thread 0x7fffd428e700 (LWP 16195)]
[New Thread 0x7fffc5665700 (LWP 16197)]
[New Thread 0x7fffc4e64700 (LWP 16198)]
[New Thread 0x7fffbffff700 (LWP 16199)]
[New Thread 0x7fffbf7fe700 (LWP 16204)]
[New Thread 0x7fffbeffd700 (LWP 16206)]
[New Thread 0x7fffbe7fc700 (LWP 16207)]
[ INFO] [1546967599.776426472]: Loading robot model 'lwr'...
Publishing IK
python: /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h:380: Eigen::ColPivHouseholderQR<MatrixType>::RealScalar Eigen::ColPivHouseholderQR<MatrixType>::threshold() const [with _MatrixType = Eigen::Matrix<double, -1, -1>; Eigen::ColPivHouseholderQR<MatrixType>::RealScalar = double]: Assertion `m_isInitialized || m_usePrescribedThreshold' failed.

Thread 1 "python" received signal SIGABRT, Aborted.
0x00007ffff7825428 in __GI_raise (sig=sig@entry=6)
    at ../sysdeps/unix/sysv/linux/raise.c:54
54      ../sysdeps/unix/sysv/linux/raise.c: No such file or directory.
(gdb) bt
#0  0x00007ffff7825428 in __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:54
#1  0x00007ffff782702a in __GI_abort () at abort.c:89
#2  0x00007ffff781dbd7 in __assert_fail_base (fmt=<optimised out>, assertion=assertion@entry=0x7fffcc084fd8 "m_isInitialized || m_usePrescribedThreshold", file=file@entry=0x7fffcc084df0 "/usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h", line=line@entry=380, 
    function=function@entry=0x7fffcc08e200 <Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::threshold() const::__PRETTY_FUNCTION__> "Eigen::ColPivHouseholderQR<MatrixType>::RealScalar Eigen::ColPivHouseholderQR<MatrixType>::threshold() const [with _MatrixType = Eigen::Matrix<double, -1, -1>; Eigen::ColPivHouseholderQR<MatrixType>::"...) at assert.c:92
#3  0x00007ffff781dc82 in __GI___assert_fail (assertion=0x7fffcc084fd8 "m_isInitialized || m_usePrescribedThreshold", file=0x7fffcc084df0 "/usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h", line=380, 
    function=0x7fffcc08e200 <Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::threshold() const::__PRETTY_FUNCTION__> "Eigen::ColPivHouseholderQR<MatrixType>::RealScalar Eigen::ColPivHouseholderQR<MatrixType>::threshold() const [with _MatrixType = Eigen::Matrix<double, -1, -1>; Eigen::ColPivHouseholderQR<MatrixType>::"...) at assert.c:101
#4  0x00007fffcc020bab in Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::threshold (this=0x7fffffffc640) at /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h:380
#5  0x00007fffcc01c887 in Eigen::ColPivHouseholderQR<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::rank (this=0x7fffffffc640) at /usr/local/include/eigen3/Eigen/src/QR/ColPivHouseholderQR.h:259
#6  0x00007fffcc0190a7 in Eigen::CompleteOrthogonalDecomposition<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::computeInPlace (this=0x7fffffffc640) at /usr/local/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h:417
#7  0x00007fffcc0161ab in Eigen::CompleteOrthogonalDecomposition<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::compute<Eigen::Matrix<double, -1, -1, 0, -1, -1> > (this=0x7fffffffc640, matrix=...) at /usr/local/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h:187
#8  0x00007fffcc012b67 in Eigen::CompleteOrthogonalDecomposition<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::CompleteOrthogonalDecomposition<Eigen::Matrix<double, -1, -1, 0, -1, -1> > (this=0x7fffffffc640, matrix=...) at /usr/local/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h:118
#9  0x00007fffcc00f15a in Eigen::MatrixBase<Eigen::Matrix<double, -1, -1, 0, -1, -1> >::completeOrthogonalDecomposition (this=0x7fffffffc5c0) at /usr/local/include/eigen3/Eigen/src/QR/CompleteOrthogonalDecomposition.h:557
#10 0x00007fffcc007435 in exotica::IKSolver::Solve (this=0x1790e10, solution=...) at /home/chris/Projects/exotica_dev_ws/src/exotica/exotations/solvers/exotica_ik_solver/src/ik_solver.cpp:125
#11 0x00007ffff673db02 in <lambda(std::shared_ptr<exotica::MotionSolver>)>::operator()(std::shared_ptr<exotica::MotionSolver>) const (__closure=0xadf058, sol=std::shared_ptr (count 3, weak 0) 0x1790e10) at /home/chris/Projects/exotica_dev_ws/src/exotica/exotica_python/src/pyexotica.cpp:691
#12 0x00007ffff6761396 in pybind11::detail::argument_loader<std::shared_ptr<exotica::MotionSolver> >::call_impl<Eigen::Matrix<double, -1, -1>, pybind11_init__pyexotica(pybind11::module&)::<lambda(std::shared_ptr<exotica::MotionSolver>)>&, 0ul, pybind11::detail::void_type>(<lambda(std::shared_ptr<exotica::MotionSolver>)> &, std::index_sequence, <unknown type in /home/chris/Projects/exotica_dev_ws/devel/lib/python2.7/dist-packages/_pyexotica.so, CU 0x0, DIE 0x3d8a91>) (this=0x7fffffffca40, f=...) at /opt/ros/kinetic/share/pybind11_catkin/cmake/../../../include/pybind11_catkin/pybind11/cast.h:1870
#13 0x00007ffff675dcbe in pybind11::detail::argument_loader<std::shared_ptr<exotica::MotionSolver> >::call<Eigen::Matrix<double, -1, -1>, pybind11::detail::void_type, pybind11_init__pyexotica(pybind11::module&)::<lambda(std::shared_ptr<exotica::MotionSolver>)>&>(<lambda(std::shared_ptr<exotica::MotionSolver>)> &) (this=0x7fffffffca40, f=...) at /opt/ros/kinetic/share/pybind11_catkin/cmake/../../../include/pybind11_catkin/pybind11/cast.h:1847
#14 0x00007ffff6755ca5 in pybind11::cpp_function::<lambda(pybind11::detail::function_call&)>::operator()(pybind11::detail::function_call &) const (__closure=0x0, call=...) at /opt/ros/kinetic/share/pybind11_catkin/cmake/../../../include/pybind11_catkin/pybind11/pybind11.h:154
#15 0x00007ffff6755d67 in pybind11::cpp_function::<lambda(pybind11::detail::function_call&)>::_FUN(pybind11::detail::function_call &) () at /opt/ros/kinetic/share/pybind11_catkin/cmake/../../../include/pybind11_catkin/pybind11/pybind11.h:132
#16 0x00007ffff678fffa in pybind11::cpp_function::dispatcher (self=0x7ffff7e3e810, args_in=0x7ffff7ea74d0, kwargs_in=0x0) at /opt/ros/kinetic/share/pybind11_catkin/cmake/../../../include/pybind11_catkin/pybind11/pybind11.h:627
#17 0x00000000004c5326 in PyEval_EvalFrameEx ()
#18 0x00000000004b9b66 in PyEval_EvalCodeEx ()
#19 0x00000000004eb69f in ?? ()
#20 0x00000000004e58f2 in PyRun_FileExFlags ()
#21 0x00000000004e41a6 in PyRun_SimpleFileExFlags ()
#22 0x00000000004938ce in Py_Main ()
#23 0x00007ffff7810830 in __libc_start_main (main=0x493370 <main>, argc=4, argv=0x7fffffffd308, init=<optimised out>, fini=<optimised out>, rtld_fini=<optimised out>, stack_end=0x7fffffffd2f8) at ../csu/libc-start.c:291
#24 0x0000000000493299 in _start ()
(gdb) 
wxmerkt commented 5 years ago

Do you build in Debug, Release, or with an optimization flag enabled?

cmower commented 5 years ago

I always use$ catkin build -s , nothing more fancy than that.

wxmerkt commented 5 years ago

I just setup a fresh exotica copy on the Husky workstation (16.04) which works fine (no additional cmake args, i.e., probably the same setup you have. My 18.04 setups on both laptop and computer work fine as well. The error in ColPivHousehoulderQR (not initialised) seems to point to an Eigen issue on your machine: e.g., a compilation issue or a differing version. You could remove build, devel, logs, .catkin_tools (then reinitialise with catkin config --init), but it may reoccur. You could also compile with explicit debug: catkin config --cmake-args -DCMAKE_BUILD_TYPE=Debug. But for now and for us this is irreproducible.

VladimirIvan commented 5 years ago

As of the last PR, all examples run on 18.04 out of the box. I haven't checked 16.04 but I did check ColPivHouseholderQR on 18.04 before committing it. There were no issues.

cmower commented 5 years ago

I have tried

No luck! Will start prepping for and carry out full system format and re-install with Ubuntu 18 and ROS melodic.