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

Executables in examples_rclpy_executors #1263

Closed
marcoag opened this issue Apr 30, 2024 · 2 comments
Closed

Executables in examples_rclpy_executors #1263

marcoag opened this issue Apr 30, 2024 · 2 comments

Comments

@marcoag
Copy link
Member

marcoag commented Apr 30, 2024

Configuration

  • OS: Ubuntu Noble 24.04
  • Chip set: AMD64
  • Build type: Debian
  • DDS: CycloneDDS

Process

Step 1 - Check callback_group

# StdIn - terminal 1
ros2 run examples_rclpy_executors callback_group

Step 2 - Check composed

# StdIn - terminal 1
ros2 run examples_rclpy_executors composed

Step 3 - Check custom_callback_group

# StdIn - terminal 1
ros2 run examples_rclpy_executors custom_callback_group

Step 4 - Check custom_executor

# StdIn - terminal 1
ros2 run examples_rclpy_executors custom_executor

Step 5 - Check listener

# StdIn - terminal 1
ros2 run examples_rclpy_executors listener

Step 6 - Check talker

# StdIn - terminal 1
ros2 run examples_rclpy_executors talker
@mikaelarguedas
Copy link

Tests passed ✔️

Step 1 - Check callback_group

Test passed ✔️

root@d8ff93e471d7:/opt/ros/jazzy# ros2 run examples_rclpy_executors callback_group
[INFO] [1714854772.690380990] [double_talker]: Publishing: "Hello World: 0"
[INFO] [1714854772.691833370] [listener]: I heard: "Hello World: 0"
[INFO] [1714854773.179725720] [double_talker]: Publishing: "Hello World: 1"
[INFO] [1714854773.181039059] [double_talker]: Publishing: "Hello World: 2"
[INFO] [1714854773.181367779] [listener]: I heard: "Hello World: 1"
[INFO] [1714854773.182036230] [listener]: I heard: "Hello World: 2"
[INFO] [1714854773.679438728] [double_talker]: Publishing: "Hello World: 3"
[INFO] [1714854773.680442159] [listener]: I heard: "Hello World: 3"
[INFO] [1714854774.180643576] [double_talker]: Publishing: "Hello World: 4"
[INFO] [1714854774.181946294] [double_talker]: Publishing: "Hello World: 5"
[INFO] [1714854774.182286870] [listener]: I heard: "Hello World: 4"
[INFO] [1714854774.182934428] [listener]: I heard: "Hello World: 5"

Step 2 - Check composed

Test passed ✔️

root@d8ff93e471d7:/opt/ros/jazzy# ros2 run examples_rclpy_executors composed
[INFO] [1714854980.905303534] [talker]: Publishing: "Hello World: 0"
[INFO] [1714854980.906060623] [listener]: I heard: "Hello World: 0"
[INFO] [1714854981.895956002] [talker]: Publishing: "Hello World: 1"
[INFO] [1714854981.897665414] [listener]: I heard: "Hello World: 1"
[INFO] [1714854982.895129943] [talker]: Publishing: "Hello World: 2"
[INFO] [1714854982.895835718] [listener]: I heard: "Hello World: 2"
[INFO] [1714854983.895062353] [talker]: Publishing: "Hello World: 3"
[INFO] [1714854983.895775443] [listener]: I heard: "Hello World: 3"
[INFO] [1714854984.895028327] [talker]: Publishing: "Hello World: 4"
[INFO] [1714854984.895780370] [listener]: I heard: "Hello World: 4"
[INFO] [1714854985.895040023] [talker]: Publishing: "Hello World: 5"
[INFO] [1714854985.895830531] [listener]: I heard: "Hello World: 5"

Step 3 - Check custom_callback_group

Test passed ✔️

root@d8ff93e471d7:/opt/ros/jazzy# ros2 run examples_rclpy_executors custom_callback_group
[INFO] [1714855031.671087026] [intermittent_talker]: Publishing: "Hello World: 0"
[INFO] [1714855031.760959487] [intermittent_talker]: Publishing: "Hello World: 1"
[INFO] [1714855031.860960666] [intermittent_talker]: Publishing: "Hello World: 2"
[INFO] [1714855031.960925493] [intermittent_talker]: Publishing: "Hello World: 3"
[INFO] [1714855032.060975176] [intermittent_talker]: Publishing: "Hello World: 4"
[INFO] [1714855032.161652560] [intermittent_talker]: Publishing: "Hello World: 5"
[INFO] [1714855032.260918398] [intermittent_talker]: Publishing: "Hello World: 6"
[INFO] [1714855032.361774195] [intermittent_talker]: Publishing: "Hello World: 7"
[INFO] [1714855032.460927184] [intermittent_talker]: Publishing: "Hello World: 8"
[INFO] [1714855032.560958518] [intermittent_talker]: Publishing: "Hello World: 9"
[INFO] [1714855032.660874076] [intermittent_talker]: Publishing: "Hello World: 10"
[INFO] [1714855032.760886397] [intermittent_talker]: Publishing: "Hello World: 11"
[INFO] [1714855033.061084001] [intermittent_talker]: Publishing: "Hello World: 12"
[INFO] [1714855033.561099728] [intermittent_talker]: Publishing: "Hello World: 13"
[INFO] [1714855034.061143071] [intermittent_talker]: Publishing: "Hello World: 14"
[INFO] [1714855034.561063454] [intermittent_talker]: Publishing: "Hello World: 15"
[INFO] [1714855035.061121279] [intermittent_talker]: Publishing: "Hello World: 16"
[INFO] [1714855035.561142873] [intermittent_talker]: Publishing: "Hello World: 17"
[INFO] [1714855036.061334475] [intermittent_talker]: Publishing: "Hello World: 18"
[INFO] [1714855036.561147035] [intermittent_talker]: Publishing: "Hello World: 19"
[INFO] [1714855037.061511626] [intermittent_talker]: Publishing: "Hello World: 20"

Step 4 - Check custom_executor

Test passed ✔️

root@d8ff93e471d7:/opt/ros/jazzy# ros2 run examples_rclpy_executors custom_executor
[INFO] [1714855080.096068489] [talker]: Publishing: "Hello World: 0"
[INFO] [1714855080.097238886] [listener]: I heard: "Hello World: 0"
[INFO] [1714855081.081860732] [talker]: Publishing: "Hello World: 1"
[INFO] [1714855081.082743345] [listener]: I heard: "Hello World: 1"
[INFO] [1714855082.081892641] [talker]: Publishing: "Hello World: 2"
[INFO] [1714855082.082695754] [listener]: I heard: "Hello World: 2"
[INFO] [1714855083.081976344] [talker]: Publishing: "Hello World: 3"
[INFO] [1714855083.083060555] [listener]: I heard: "Hello World: 3"
[INFO] [1714855084.082198447] [talker]: Publishing: "Hello World: 4"
[INFO] [1714855084.083364154] [listener]: I heard: "Hello World: 4"
[INFO] [1714855085.082266903] [talker]: Publishing: "Hello World: 5"
[INFO] [1714855085.083243870] [listener]: I heard: "Hello World: 5"

Step 5 - Check listener

Test passed ✔️

root@d8ff93e471d7:/opt/ros/jazzy# ros2 run examples_rclpy_executors listener
[INFO] [1714855199.121610458] [listener]: I heard: "Hello World: 0"
[INFO] [1714855200.099393933] [listener]: I heard: "Hello World: 1"
[INFO] [1714855201.099346911] [listener]: I heard: "Hello World: 2"
[INFO] [1714855202.099686330] [listener]: I heard: "Hello World: 3"
[INFO] [1714855203.099465038] [listener]: I heard: "Hello World: 4"
[INFO] [1714855204.099379485] [listener]: I heard: "Hello World: 5"
[INFO] [1714855205.099326363] [listener]: I heard: "Hello World: 6"
[INFO] [1714855206.099340007] [listener]: I heard: "Hello World: 7"

Step 6 - Check talker

Test passed ✔️

root@d8ff93e471d7:/# ros2 run examples_rclpy_executors talker
[INFO] [1714855199.108921265] [talker]: Publishing: "Hello World: 0"
[INFO] [1714855200.098613884] [talker]: Publishing: "Hello World: 1"
[INFO] [1714855201.098589009] [talker]: Publishing: "Hello World: 2"
[INFO] [1714855202.098671687] [talker]: Publishing: "Hello World: 3"
[INFO] [1714855203.098650453] [talker]: Publishing: "Hello World: 4"
[INFO] [1714855204.098651826] [talker]: Publishing: "Hello World: 5"
[INFO] [1714855205.098636203] [talker]: Publishing: "Hello World: 6"
[INFO] [1714855206.098679645] [talker]: Publishing: "Hello World: 7"


⚠️ For step 1 & 4, executables don't exit properly on Ctrl+C
I get the following stack traces consistently:

^CTraceback (most recent call last):
  File "/opt/ros/jazzy/lib/python3.12/site-packages/examples_rclpy_executors/callback_group.py", line 62, in main
    executor.spin()
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 308, in spin
    self.spin_once()
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 899, in spin_once
    self._spin_once_impl(timeout_sec)
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 878, in _spin_once_impl
    handler, entity, node = self.wait_for_ready_callbacks(
                            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 781, in wait_for_ready_callbacks
    return next(self._cb_iter)
           ^^^^^^^^^^^^^^^^^^^
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/executors.py", line 685, in _wait_for_ready_callbacks
    wait_set.wait(timeout_nsec)
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/ros/jazzy/lib/examples_rclpy_executors/callback_group", line 33, in <module>
    sys.exit(load_entry_point('examples-rclpy-executors==0.19.3', 'console_scripts', 'callback_group')())
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/ros/jazzy/lib/python3.12/site-packages/examples_rclpy_executors/callback_group.py", line 68, in main
    rclpy.shutdown()
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/__init__.py", line 130, in shutdown
    _shutdown(context=context)
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/utilities.py", line 82, in shutdown
    context.shutdown()
  File "/opt/ros/jazzy/lib/python3.12/site-packages/rclpy/context.py", line 129, in shutdown
    self.__context.shutdown()
rclpy._rclpy_pybind11.RCLError: failed to shutdown: rcl_shutdown already called on the given context, at ./src/rcl/init.c:333
[ros2run]: Process exited with failure 1

@clalancette
Copy link
Collaborator

Both of those issues will be fixed by ros2/examples#379 , so closing this out. Thanks for testing!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants