question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Nodes ignore Ctrl-C when using Opensplice on Windows

See original GitHub issue

Bug report

Required Info:

  • Operating System:
    • Windows (Server) 10
  • Installation type:
    • Binary fat archive
  • Version or commit hash:
  • DDS implementation:
    • ADLink Opensplice
  • Client library (if applicable):
    • rclpy

Steps to reproduce issue

Run any Python node

ros2 run demo_nodes_py talker

Then, attempt to Ctrl-C it.

Expected behavior

Process acknowledges that it received a signal and terminates gracefully

Actual behavior

Process ignores the signal entirely and can’t be killed.

Additional Information

I’ve reproduced this phenomenon with Python talkers, listeners and both action clients and servers, so I’d be inclined to think it’s something about rclpy signal handling. Also, we’ve recently made some changes to it to better support Opensplice precisely (see https://github.com/ros2/rclpy/pull/338).

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:21 (15 by maintainers)

github_iconTop GitHub Comments

1reaction
hidmiccommented, Sep 12, 2019

@nuclearsandwich there’s nothing else to be done here, I’ll take this issue out of the Dashing Patch Release 4 project.

1reaction
wjwwoodcommented, Jun 13, 2019

To complicated it further though, I think the Python signal handler is protected in this fashion already, though we do have something in the C extension for rclpy which might be at issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Bountysource
Nodes ignore Ctrl-C when using Opensplice on Windows.
Read more >
Deployment Guide Open Splice - UserManual.wiki
User Manual:
Read more >
ROS 2 Dashing Diademata (codename 'dashing'; May 31st ...
Components are now the recommended way to write your node. ... [ros2/rclpy#360] rclpy nodes ignore ctrl-c when using OpenSplice on Windows.
Read more >
CTRL+C and CTRL+BREAK Signals - Windows Console
When SetConsoleCtrlHandler is called with NULL and TRUE values for its parameters, the calling process ignores CTRL+C signals.
Read more >
THE ROBOT OPERATING SYSTEM IN TRANSITION
to ROS2, how to use Visual Studio to debug a ROS2 program running on Windows, and how to run either ROS1 or ROS2...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found