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

Segfault importing Pinocchio 3.3.0 Python bindings from Humble binaries #2542

Open
scastro-bdai opened this issue Jan 3, 2025 · 10 comments
Open

Comments

@scastro-bdai
Copy link

scastro-bdai commented Jan 3, 2025

Bug description

After upgrading to the ROS Humble December 20, 2024 sync, which upgrades from 2.6.21 to 3.3.0. importing the Python bindings segfaults.

These binaries are specifically from the ros-humble-pinocchio apt install.

Expected behavior

Importing should not segfault.

Reproduction steps

Steps to reproduce the behavior:

  1. python3
  2. import pinocchio

Before upgrade:

>>> import pinocchio
>>> pinocchio.__version__
'2.6.21'

After upgrade

sudo apt update && sudo apt install --upgrade ros-humble-pinocchio -y

>>> import pinocchio
Segmentation fault (core dumped)

System

  • OS: Ubuntu 22.04
  • Pinocchio version: 3.3.0
  • Install from binaries: ros-humble-pinocchio
@scastro-bdai scastro-bdai changed the title Segfault importing Pinocchio 3.3.0 Python bindings on Humble Segfault importing Pinocchio 3.3.0 Python bindings from Humble binaries Jan 3, 2025
@jcarpent
Copy link
Contributor

jcarpent commented Jan 3, 2025

Thanks @scastro-bdai, for raising this issue. Could you show the GDB results when running the Python import?

@scastro-bdai
Copy link
Author

scastro-bdai commented Jan 3, 2025

Sorry for the beginner question, but how do you do that in Python?

EDIT: I can Google after all :)

@scastro-bdai
Copy link
Author

scastro-bdai commented Jan 3, 2025

I think I got somewhere... installed Python debug symbols and ran a simple file that just runs import pinocchio. I get this:

Thread 1 "python" received signal SIGSEGV, Segmentation fault.
0x00005555556a7df8 in _Py_Dealloc (op=<unknown at remote 0x7fffffff6dc0>) at ../Objects/object.c:2301
2301    ../Objects/object.c: No such file or directory.
(gdb) bt
#0  0x00005555556a7df8 in _Py_Dealloc (op=<unknown at remote 0x7fffffff6dc0>) at ../Objects/object.c:2301
#1  0x00007fffd631474f in ?? () from /opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so
#2  0x00007fffd6312fe8 in ?? () from /opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so
#3  0x00007fffd6312e9c in pinocchio::python::exposeSE3() () from /opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so
#4  0x00007fffd662ecbc in init_module_pinocchio_pywrap_default() () from /opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so
#5  0x00007ffff37e46e3 in boost::python::handle_exception_impl(boost::function0<void>) () from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#6  0x00007ffff37e5c69 in boost::python::detail::init_module(PyModuleDef&, void (*)()) () from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#7  0x00005555557d558a in _PyImport_LoadDynamicModuleWithSpec (fp=0x0, 
    spec=<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>) at ../Python/importdl.c:167
#8  _imp_create_dynamic_impl (module=<optimized out>, file=<optimized out>, 
    spec=<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>) at ../Python/import.c:2050
#9  _imp_create_dynamic (module=<optimized out>, args=<optimized out>, nargs=<optimized out>) at ../Python/clinic/import.c.h:330
#10 0x00005555556dfd49 in cfunction_vectorcall_FASTCALL (func=<built-in method create_dynamic of module object at remote 0x7ffff7b6e660>, args=0x7ffff796b5f8, nargsf=<optimized out>, 
    kwnames=<optimized out>) at ../Objects/methodobject.c:430
#11 0x00005555556cfeed in do_call_core (kwdict={}, 
    callargs=(<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>,), 
--Type <RET> for more, q to quit, c to continue without paging--
    ic of module object at remote 0x7ffff7b6e660>, trace_info=0x7fffffff7250, tstate=<optimized out>) at ../Python/ceval.c:5917
#12 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4277
#13 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x555555bd0960, for file <frozen importlib._bootstrap>, line 241, in _call_with_frames_removed (f=<built-in method create_dynamic of module object at remote 0x7ffff7b6e660>, args=(<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>,), kwds={}), tstate=0x555555b6bdb0)
    at ../Include/internal/pycore_ceval.h:46
#14 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b39520, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#15 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b39510>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#16 0x00005555556ceb7a in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff78ae308, callable=<function at remote 0x7ffff7b39510>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#17 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff78ae308, callable=<function at remote 0x7ffff7b39510>) at ../Include/cpython/abstract.h:123
#18 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff7430, tstate=<optimized out>) at ../Python/ceval.c:5893
#19 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4181
#20 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff78ae180, for file <frozen importlib._bootstrap_external>, line 1176, in create_module (self=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, spec=<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<...>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#21 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7ba3890, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#22 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7ba3880>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#23 0x00005555556c9ae8 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7a37a98, callable=<function at remote 0x7ffff7ba3880>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#24 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7a37a98, callable=<function at remote 0x7ffff7ba3880>) at ../Include/cpython/abstract.h:123
#25 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff7610, tstate=<optimized out>) at ../Python/ceval.c:5893
#26 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4198
#27 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff7a37920, for file <frozen importlib._bootstrap>, line 571, in module_from_spec (spec=<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>, module=None), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#28 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b39eb0, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#29 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b39ea0>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#30 0x00005555556c99a2 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff47a6a70, callable=<function at remote 0x7ffff7b39ea0>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#31 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff47a6a70, callable=<function at remote 0x7ffff7b39ea0>) at ../Include/cpython/abstract.h:123
#32 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff77f0, tstate=<optimized out>) at ../Python/ceval.c:5893
#33 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4213
#34 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff47a68f0, for file <frozen importlib._bootstrap>, line 674, in _load_unlocked (spec=<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880--Type <RET> for more, q to quit, c to continue without paging--
>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#35 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b3a0f0, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#36 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b3a0e0>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#37 0x00005555556c99a2 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff4694df0, callable=<function at remote 0x7ffff7b3a0e0>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#38 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff4694df0, callable=<function at remote 0x7ffff7b3a0e0>) at ../Include/cpython/abstract.h:123
#39 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff79d0, tstate=<optimized out>) at ../Python/ceval.c:5893
#40 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4213
#41 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff4694c40, for file <frozen importlib._bootstrap>, line 1006, in _find_and_load_unlocked (name='pinocchio.pinocchio_pywrap_default', import_=<built-in method __import__ of module object at remote 0x7ffff7b6c950>, path=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], parent='pinocchio', parent_module=<module at remote 0x7ffff7949350>, spec=<ModuleSpec(name='pinocchio.pinocchio_pywrap_default', loader=<ExtensionFileLoader(name='pinocchio.pinocchio_pywrap_default', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so') at remote 0x7ffff407b880>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/pinocchio_pywrap_default.cpython-310-x86_64-linux-gnu.so', loader_state=None, submodule_search_locations=None, _set_fileattr=True, _cached=None) at remote 0x7ffff407b850>), tstate=0x555555b6bdb0)
    at ../Include/internal/pycore_ceval.h:46
#42 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b3b2f0, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#43 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b3b2e0>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#44 0x00005555556c99a2 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff4685c10, callable=<function at remote 0x7ffff7b3b2e0>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#45 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff4685c10, callable=<function at remote 0x7ffff7b3b2e0>) at ../Include/cpython/abstract.h:123
#46 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff7bb0, tstate=<optimized out>) at ../Python/ceval.c:5893
#47 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4213
#48 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff4685a80, for file <frozen importlib._bootstrap>, line 1027, in _find_and_load (name='pinocchio.pinocchio_pywrap_default', import_=<built-in method __import__ of module object at remote 0x7ffff7b6c950>, module=<object at remote 0x7ffff7b60060>), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#49 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b3b380, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#50 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b3b370>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#51 0x00005555556def94 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7fffffff7ca0, callable=<function at remote 0x7ffff7b3b370>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#52 object_vacall (tstate=0x555555b6bdb0, base=<optimized out>, callable=<function at remote 0x7ffff7b3b370>, vargs=<optimized out>) at ../Objects/call.c:734
#53 0x00005555557b3e2f in _PyObject_CallMethodIdObjArgs (obj=<module at remote 0x7ffff7b891c0>, name=<optimized out>) at ../Objects/call.c:825
#54 0x00005555556f2835 in import_find_and_load (abs_name='pinocchio.pinocchio_pywrap_default', tstate=0x555555b6bdb0) at ../Python/import.c:1522
#55 PyImport_ImportModuleLevelObject (name='pinocchio_pywrap_default', globals=<optimized out>, locals=<optimized out>, fromlist=('*',), level=1) at ../Python/import.c:1623
#56 0x00005555556cc637 in import_name (level=1, fromlist=('*',), name='pinocchio_pywrap_default', f=<optimized out>, tstate=<optimized out>) at ../Python/ceval.c:6018
#57 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3695
#58 0x00005555557aee56 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7ffff78b5260, for file /opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py, line 19, in <module> (), 
    tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#59 _PyEval_Vector (tstate=0x555555b6bdb0, con=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>)
    at ../Python/ceval.c:5067
#60 0x00005555557aed26 in PyEval_EvalCode (co=<code at remote 0x7ffff7967520>, 
    globals={'__name__': 'pinocchio', '__doc__': None, '__package__': 'pinocchio', '__loader__': <SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pi--Type <RET> for more, q to quit, c to continue without paging--
nocchio/__init__.py') at remote 0x7ffff791ecb0>, '__spec__': <ModuleSpec(name='pinocchio', loader=<...>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>, '__path__': [...], '__file__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', '__cached__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices."...(truncated), locals=<optimized out>) at ../Python/ceval.c:1134
#61 0x00005555557b444d in builtin_exec_impl (module=<optimized out>, 
    locals={'__name__': 'pinocchio', '__doc__': None, '__package__': 'pinocchio', '__loader__': <SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, '__spec__': <ModuleSpec(name='pinocchio', loader=<...>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>, '__path__': [...], '__file__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', '__cached__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices."...(truncated), 
    globals={'__name__': 'pinocchio', '__doc__': None, '__package__': 'pinocchio', '__loader__': <SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, '__spec__': <ModuleSpec(name='pinocchio', loader=<...>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>, '__path__': [...], '__file__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', '__cached__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices."...(truncated), source=<code at remote 0x7ffff7967520>)
    at ../Python/bltinmodule.c:1058
#62 builtin_exec (module=<optimized out>, args=<optimized out>, nargs=<optimized out>) at ../Python/clinic/bltinmodule.c.h:371
#63 0x00005555556dfd49 in cfunction_vectorcall_FASTCALL (func=<built-in method exec of module object at remote 0x7ffff7b6c950>, args=0x7ffff7a8ebd8, nargsf=<optimized out>, 
    kwnames=<optimized out>) at ../Objects/methodobject.c:430
#64 0x00005555556cfeed in do_call_core (kwdict={}, 
    callargs=(<code at remote 0x7ffff7967520>, {'__name__': 'pinocchio', '__doc__': None, '__package__': 'pinocchio', '__loader__': <SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, '__spec__': <ModuleSpec(name='pinocchio', loader=<...>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>, '__path__': [...], '__file__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', '__cached__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', '__builtins__': {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ell...(truncated), 
    func=<built-in method exec of module object at remote 0x7ffff7b6c950>, trace_info=0x7fffffff82b0, tstate=<optimized out>) at ../Python/ceval.c:5917
#65 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4277
#66 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff788d480, for file <frozen importlib._bootstrap>, line 241, in _call_with_frames_removed (f=<built-in method exec of module object at remote 0x7ffff7b6c950>, args=(<code at remote 0x7ffff7967520>, {'__name__': 'pinocchio', '__doc__': None, '__package__': 'pinocchio', '__loader__': <SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, '__spec__': <ModuleSpec(name='pinocchio', loader=<...>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>, '__path__': [...], '__file__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', '__cached__': '/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/...(truncated), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#67 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b39520, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#68 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b39510>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#69 0x00005555556ceb7a in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff78ac548, callable=<function at remote 0x7ffff7b39510>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
--Type <RET> for more, q to quit, c to continue without paging--
#70 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff78ac548, callable=<function at remote 0x7ffff7b39510>) at ../Include/cpython/abstract.h:123
#71 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff8490, tstate=<optimized out>) at ../Python/ceval.c:5893
#72 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4181
#73 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff78ac3c0, for file <frozen importlib._bootstrap_external>, line 883, in exec_module (self=<SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, module=<module at remote 0x7ffff7949350>, code=<code at remote 0x7ffff7967520>), tstate=0x555555b6bdb0)
    at ../Include/internal/pycore_ceval.h:46
#74 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7ba2960, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#75 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7ba2950>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#76 0x00005555556c9ae8 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7b97040, callable=<function at remote 0x7ffff7ba2950>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#77 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7b97040, callable=<function at remote 0x7ffff7ba2950>) at ../Include/cpython/abstract.h:123
#78 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff8670, tstate=<optimized out>) at ../Python/ceval.c:5893
#79 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4198
#80 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff7b96ec0, for file <frozen importlib._bootstrap>, line 688, in _load_unlocked (spec=<ModuleSpec(name='pinocchio', loader=<SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>, module=<module at remote 0x7ffff7949350>), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#81 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b3a0f0, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#82 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b3a0e0>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#83 0x00005555556c99a2 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7a2f3f0, callable=<function at remote 0x7ffff7b3a0e0>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#84 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7a2f3f0, callable=<function at remote 0x7ffff7b3a0e0>) at ../Include/cpython/abstract.h:123
#85 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff8850, tstate=<optimized out>) at ../Python/ceval.c:5893
#86 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4213
#87 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff7a2f240, for file <frozen importlib._bootstrap>, line 1006, in _find_and_load_unlocked (name='pinocchio', import_=<built-in method __import__ of module object at remote 0x7ffff7b6c950>, path=None, parent='', spec=<ModuleSpec(name='pinocchio', loader=<SourceFileLoader(name='pinocchio', path='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py') at remote 0x7ffff791ecb0>, origin='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__init__.py', loader_state=None, submodule_search_locations=['/opt/ros/humble/lib/python3.10/site-packages/pinocchio'], _set_fileattr=True, _cached='/opt/ros/humble/lib/python3.10/site-packages/pinocchio/__pycache__/__init__.cpython-310.pyc', _initializing=True) at remote 0x7ffff791f910>), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
#88 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b3b2f0, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#89 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b3b2e0>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#90 0x00005555556c99a2 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7b07fb0, callable=<function at remote 0x7ffff7b3b2e0>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#91 PyObject_Vectorcall (kwnames=0x0, nargsf=<optimized out>, args=0x7ffff7b07fb0, callable=<function at remote 0x7ffff7b3b2e0>) at ../Include/cpython/abstract.h:123
#92 call_function (kwnames=0x0, oparg=<optimized out>, pp_stack=<synthetic pointer>, trace_info=0x7fffffff8a30, tstate=<optimized out>) at ../Python/ceval.c:5893
#93 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:4213
#94 0x00005555556dfaec in _PyEval_EvalFrame (throwflag=0, 
    f=Frame 0x7ffff7b07e20, for file <frozen importlib._bootstrap>, line 1027, in _find_and_load (name='pinocchio', import_=<built-in method __import__ of module object at remote 0x7ffff7b6c950>, module=<object at remote 0x7ffff7b60060>), tstate=0x555555b6bdb0) at ../Include/internal/pycore_ceval.h:46
--Type <RET> for more, q to quit, c to continue without paging--
#95 _PyEval_Vector (kwnames=<optimized out>, argcount=<optimized out>, args=<optimized out>, locals=0x0, con=0x7ffff7b3b380, tstate=0x555555b6bdb0) at ../Python/ceval.c:5067
#96 _PyFunction_Vectorcall (func=<function at remote 0x7ffff7b3b370>, stack=<optimized out>, nargsf=<optimized out>, kwnames=<optimized out>) at ../Objects/call.c:342
#97 0x00005555556def94 in _PyObject_VectorcallTstate (kwnames=0x0, nargsf=<optimized out>, args=0x7fffffff8b20, callable=<function at remote 0x7ffff7b3b370>, tstate=0x555555b6bdb0)
    at ../Include/cpython/abstract.h:114
#98 object_vacall (tstate=0x555555b6bdb0, base=<optimized out>, callable=<function at remote 0x7ffff7b3b370>, vargs=<optimized out>) at ../Objects/call.c:734
#99 0x00005555557b3e2f in _PyObject_CallMethodIdObjArgs (obj=<module at remote 0x7ffff7b891c0>, name=<optimized out>) at ../Objects/call.c:825
#100 0x00005555556f2835 in import_find_and_load (abs_name='pinocchio', tstate=0x555555b6bdb0) at ../Python/import.c:1522
#101 PyImport_ImportModuleLevelObject (name='pinocchio', globals=<optimized out>, locals=<optimized out>, fromlist=None, level=0) at ../Python/import.c:1623
#102 0x00005555556cc637 in import_name (level=0, fromlist=None, name='pinocchio', f=<optimized out>, tstate=<optimized out>) at ../Python/ceval.c:6018
#103 _PyEval_EvalFrameDefault (tstate=<optimized out>, f=<optimized out>, throwflag=<optimized out>) at ../Python/ceval.c:3695
#104 0x00005555557aee56 in _PyEval_EvalFrame (throwflag=0, f=Frame 0x7ffff7a2d440, for file /workspaces/bdai/test_import.py, line 1, in <module> (), tstate=0x555555b6bdb0)
    at ../Include/internal/pycore_ceval.h:46
#105 _PyEval_Vector (tstate=0x555555b6bdb0, con=<optimized out>, locals=<optimized out>, args=<optimized out>, argcount=<optimized out>, kwnames=<optimized out>)
    at ../Python/ceval.c:5067
#106 0x00005555557aed26 in PyEval_EvalCode (co=<code at remote 0x7ffff7a4b680>, 
    globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None}, 
    locals=<optimized out>) at ../Python/ceval.c:1134
#107 0x00005555557d5ae8 in run_eval_code_obj (tstate=0x555555b6bdb0, co=0x7ffff7a4b680, 
    globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None}, 
    locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None})
    at ../Python/pythonrun.c:1291
#108 0x00005555557d02ef in run_mod (mod=<optimized out>, filename=<optimized out>, 
    globals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None}, 
    locals={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None}, 
    flags=<optimized out>, arena=<optimized out>) at ../Python/pythonrun.c:1312
#109 0x00005555557d5885 in pyrun_file (fp=fp@entry=0x555555baf500, filename=filename@entry='/workspaces/bdai/test_import.py', start=start@entry=257, 
    globals=globals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None}, 
    locals=locals@entry={'__name__': '__main__', '__doc__': None, '__package__': None, '__loader__': <SourceFileLoader(name='__main__', path='/workspaces/bdai/test_import.py') at remote 0x7ffff79b2e60>, '__spec__': None, '__annotations__': {}, '__builtins__': <module at remote 0x7ffff7b6c950>, '__file__': '/workspaces/bdai/test_import.py', '__cached__': None}, 
    closeit=closeit@entry=1, flags=0x7fffffff9118) at ../Python/pythonrun.c:1208
#110 0x00005555557d4e68 in _PyRun_SimpleFileObject (fp=0x555555baf500, filename='/workspaces/bdai/test_import.py', closeit=1, flags=0x7fffffff9118) at ../Python/pythonrun.c:456
#111 0x00005555557d4b47 in _PyRun_AnyFileObject (fp=0x555555baf500, filename='/workspaces/bdai/test_import.py', closeit=1, flags=0x7fffffff9118) at ../Python/pythonrun.c:90
#112 0x00005555557c902e in pymain_run_file_obj (skip_source_first_line=0, filename='/workspaces/bdai/test_import.py', program_name='/usr/bin/python') at ../Modules/main.c:353
#113 pymain_run_file (config=0x555555b4bf10) at ../Modules/main.c:372
#114 pymain_run_python (exitcode=0x7fffffff9114) at ../Modules/main.c:587
#115 Py_RunMain () at ../Modules/main.c:666
--Type <RET> for more, q to quit, c to continue without paging--
#116 0x00005555557a2d6d in Py_BytesMain (argc=<optimized out>, argv=<optimized out>) at ../Modules/main.c:720
#117 0x00007ffff7c5bd90 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#118 0x00007ffff7c5be40 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#119 0x00005555557a2c65 in _start ()

@nim65s
Copy link
Contributor

nim65s commented Jan 3, 2025

Thanks for the report. With ros-humble-pinocchio-dbgsym in a ros:humble docker, I get:

#0  0x00005c23a5f77df8 in _Py_Dealloc ()
#1  0x00007add40e4f74f in _Py_DECREF () at /usr/include/python3.10/object.h:500
#2  _Py_XDECREF () at /usr/include/python3.10/object.h:567
#3  xdecref<_object> () at /usr/include/boost/python/refcount.hpp:38
#4  operator= () at /usr/include/boost/python/handle.hpp:85
#5  operator= () at /usr/include/boost/python/args_fwd.hpp:19
#6  __copy_m<boost::python::detail::keyword const*, boost::python::detail::keyword*> () at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_algobase.h:385
#7  __copy_move_a2<false, boost::python::detail::keyword const*, boost::python::detail::keyword*> () at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_algobase.h:494
#8  __copy_move_a1<false, boost::python::detail::keyword const*, boost::python::detail::keyword*> () at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_algobase.h:522
#9  __copy_move_a<false, boost::python::detail::keyword const*, boost::python::detail::keyword*> () at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_algobase.h:530
#10 copy<boost::python::detail::keyword const*, boost::python::detail::keyword*> () at /usr/bin/../lib/gcc/x86_64-linux-gnu/11/../../../../include/c++/11/bits/stl_algobase.h:619
#11 operator, () at /usr/include/boost/python/args.hpp:89
#12 visit<boost::python::class_<pinocchio::SE3Tpl<double, 0>, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified> > () at ./include/pinocchio/bindings/python/spatial/se3.hpp:61
#13 0x00007add40e4dfe8 in visit<boost::python::def_visitor<pinocchio::python::SE3PythonVisitor<pinocchio::SE3Tpl<double, 0> > >, boost::python::class_<pinocchio::SE3Tpl<double, 0>, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified> > () at /usr/include/boost/python/def_visitor.hpp:31
#14 visit<boost::python::class_<pinocchio::SE3Tpl<double, 0>, boost::python::detail::not_specified, boost::python::detail::not_specified, boost::python::detail::not_specified> > () at /usr/include/boost/python/def_visitor.hpp:67
#15 def<pinocchio::python::SE3PythonVisitor<pinocchio::SE3Tpl<double, 0> > > () at /usr/include/boost/python/class.hpp:221
#16 expose () at ./include/pinocchio/bindings/python/spatial/se3.hpp:226
#17 0x00007add40e4de9c in exposeSE3 () at ./.obj-x86_64-linux-gnu/bindings/python/./bindings/python/spatial/expose-SE3.cpp:20
#18 0x00007add41169cbc in init_module_pinocchio_pywrap_default () at ./.obj-x86_64-linux-gnu/bindings/python/./bindings/python/module.cpp:95
#19 0x00007adde8a926e3 in boost::python::handle_exception_impl(boost::function0<void>) () from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#20 0x00007adde8a93c69 in boost::python::detail::init_module(PyModuleDef&, void (*)()) () from /lib/x86_64-linux-gnu/libboost_python310.so.1.74.0
#21 0x00005c23a60a558a in ?? ()

@nim65s
Copy link
Contributor

nim65s commented Jan 3, 2025

@jcarpent
Copy link
Contributor

jcarpent commented Jan 4, 2025

@nim65s So you confirm there is an issue? If it is the case, could you share the docker image.
We will try to investigate it.

@nim65s
Copy link
Contributor

nim65s commented Jan 4, 2025

Yes, I'm currently working on adding the CI back, and I found another issue on eigenpy so I won't work on this segfault right now, but a reproducer is simply:

FROM ros:humble
RUN apt update && apt install -qy ros-humble-pinocchio ros-humble-pinocchio-dbgsym gdb

@jcarpent
Copy link
Contributor

jcarpent commented Jan 4, 2025

EigenPy might be the cause. No?

@nim65s
Copy link
Contributor

nim65s commented Jan 4, 2025

eigenpy seems to work fine in this docker:

root@b6e2fda1be49:/# python3
Python 3.10.12 (main, Sep 11 2024, 15:47:36) [GCC 11.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import eigenpy
>>> eigenpy.__file__
'/opt/ros/humble/lib/python3.10/site-packages/eigenpy/__init__.py'
>>> eigenpy.__version__
'3.8.2'
>>> eigenpy.Quaternion(1, 2, 3, 4).norm()
5.477225575051661

@jcarpent
Copy link
Contributor

jcarpent commented Jan 4, 2025

I think I have found the issue. Could you please show me how to compile Pinocchio with ROS ?

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

3 participants