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

Update to drake 1.26 #332

Closed
wants to merge 1 commit into from

Conversation

ahcorde
Copy link
Collaborator

@ahcorde ahcorde commented Feb 15, 2024

This change is Reviewable

Signed-off-by: Alejandro Hernández Cordero <[email protected]>
@ahcorde
Copy link
Collaborator Author

ahcorde commented Feb 15, 2024

FAIL: //drake_ros:core_test (see /home/runner/.cache/bazel/_bazel_runner/d07b19e4bc14c7eead45599d9bb941ba/execroot/_main/bazel-out/k8-fastbuild/testlogs/drake_ros/core_test/test.log)
INFO: From Testing //drake_ros:core_test:
==================== Test output for //drake_ros:core_test:
============================= test session starts ==============================
platform linux -- Python 3.10.12, pytest-8.0.0, pluggy-1.4.0
rootdir: /tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/drake_ros/core_test.runfiles/_main
plugins: rerunfailures-13.0, repeat-0.9.3, colcon-core-0.6.1, cov-4.1.0, mock-3.12.0
collected 3 items

drake_ros/test/core_test.py Fatal Python error: Aborted

Current thread 0x00007febab55a1c0 (most recent call first):
  File "/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/drake_ros/core_test.runfiles/_main/drake_ros/test/core_test.py", line 113 in test_nominal_case
  File "/usr/local/lib/python3.10/dist-packages/_pytest/python.py", line 193 in pytest_pyfunc_call
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_callers.py", line 102 in _multicall
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_hooks.py", line 501 in __call__
  File "/usr/local/lib/python3.10/dist-packages/_pytest/python.py", line 1836 in runtest
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 173 in pytest_runtest_call
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_callers.py", line 102 in _multicall
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_hooks.py", line 501 in __call__
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 266 in <lambda>
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 345 in from_call
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 265 in call_runtest_hook
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 226 in call_and_report
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 133 in runtestprotocol
  File "/usr/local/lib/python3.10/dist-packages/_pytest/runner.py", line 114 in pytest_runtest_protocol
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_callers.py", line 102 in _multicall
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_hooks.py", line 501 in __call__
  File "/usr/local/lib/python3.10/dist-packages/_pytest/main.py", line 351 in pytest_runtestloop
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_callers.py", line 102 in _multicall
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_hooks.py", line 501 in __call__
  File "/usr/local/lib/python3.10/dist-packages/_pytest/main.py", line 326 in _main
  File "/usr/local/lib/python3.10/dist-packages/_pytest/main.py", line 272 in wrap_session
  File "/usr/local/lib/python3.10/dist-packages/_pytest/main.py", line 319 in pytest_cmdline_main
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_callers.py", line 102 in _multicall
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_manager.py", line 119 in _hookexec
  File "/usr/local/lib/python3.10/dist-packages/pluggy/_hooks.py", line 501 in __call__
  File "/usr/local/lib/python3.10/dist-packages/_pytest/config/__init__.py", line 174 in main
  File "/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/drake_ros/core_test.runfiles/_main/drake_ros/test/core_test.py", line 182 in main
  File "/tmp/bazel-working-directory/_main/bazel-out/k8-fastbuild/bin/drake_ros/core_test.runfiles/_main/drake_ros/test/core_test.py", line 186 in <module>

Extension modules: numpy.core._multiarray_umath, numpy.core._multiarray_tests, numpy.linalg._umath_linalg, numpy.fft._pocketfft_internal, numpy.random._common, numpy.random.bit_generator, numpy.random._bounded_integers, numpy.random._mt19937, numpy.random.mtrand, numpy.random._philox, numpy.random._pcg[64](https://github.com/RobotLocomotion/drake-ros/actions/runs/7918037819/job/21615524879?pr=332#step:16:65), numpy.random._sfc64, numpy.random._generator, test_msgs.test_msgs_s__rosidl_typesupport_c, rcl_interfaces.rcl_interfaces_s__rosidl_typesupport_c, builtin_interfaces.builtin_interfaces_s__rosidl_typesupport_c (total: 16)

@adityapande-1995
Copy link
Collaborator

adityapande-1995 commented Feb 15, 2024

I'll try to reproduce this locally. Meanwhile I suspect :

  1. Bazel cache issues: Since this is pulling in from the cache, misplaced dependencies or a clean build might solve this. Will check
  2. Changes upstream in ROS or drake or numpy ?

Edit : I tried this using a fresh container and a build locally, ran into the same error, so I won't blame the cache.

@adityapande-1995
Copy link
Collaborator

The problem seems to be this line :

simulator.AdvanceTo(simulator_context.get_time() + publish_period / 2.)

and the detailed error is :

1708035182.264159 [0]    python3: selected interface "lo" is not multicast-capable: disabling multicast
pybind11::handle::dec_ref() is being called while the GIL is either not held or invalid. Please see https://pybind11.readthedocs.io/en/stable/advanced/misc.html#common-sources-of-global-interpreter-lock-errors for debugging advice.
If you are convinced there is no bug in your code, you can #define PYBIND11_NO_ASSERT_GIL_HELD_INCREF_DECREFto disable this check. In that case you have to ensure this #define is consistently used for all translation units linked into a given pybind11 extension, otherwise there will be ODR violations.The failing pybind11::handle::dec_ref() call was triggered on a bytes object.
terminate called after throwing an instance of 'std::runtime_error'
  what():  pybind11::handle::dec_ref() PyGILState_Check() failure.
Aborted

@jwnimmer-tri
Copy link
Contributor

Probably related to RobotLocomotion/drake#20811 in that case.

@jwnimmer-tri
Copy link
Contributor

Best guess, the drake_ros_py::PySerializerInterface needs the gil_scoped_acquire to match these:

https://github.com/RobotLocomotion/drake/pull/20811/files#diff-f098cf5e10078a40a072ca4acfeca5bc86ed1e537598032752ddcd4b291162eb

@adityapande-1995
Copy link
Collaborator

adityapande-1995 commented Feb 15, 2024

Best guess, the drake_ros_py::PySerializerInterface needs the gil_scoped_acquire to match these:

https://github.com/RobotLocomotion/drake/pull/20811/files#diff-f098cf5e10078a40a072ca4acfeca5bc86ed1e537598032752ddcd4b291162eb

Thanks ! PR here : #334

@adityapande-1995
Copy link
Collaborator

Closing this one in favour of #334

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

Successfully merging this pull request may close these issues.

4 participants