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.

Errors logged in console on killing nodes via ctrl+c

See original GitHub issue

Bug report

Required Info:

  • Operating System: Linux 0ece455f6e93 5.4.0-48-generic #52-Ubuntu SMP Thu Sep 10 10:58:49 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
  • Installation type: osrf/ros2:nightly docker image
  • Version or commit hash: foxy
  • DDS implementation: Fast-RTPS
  • Client library (if applicable): rclpy

Steps to reproduce issue

I am launching two python nodes from launch file and then killing it via ctrl+c

Expected behavior

I guess only this should output

[launch]: user interrupted with ctrl-c (SIGINT)

Actual behavior

^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[control_node-1] Traceback (most recent call last):
[control_node-1]   File "/dev_ws/install/shadow_control/lib/shadow_control/control_node", line 11, in <module>
[control_node-1]     load_entry_point('shadow-control==0.0.0', 'console_scripts', 'control_node')()
[control_node-1]   File "/dev_ws/install/shadow_control/lib/python3.8/site-packages/shadow_control/control_node.py", line 58, in main
[control_node-1]     rclpy.spin(minimal_subscriber)
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/__init__.py", line 196, in spin
[control_node-1]     executor.spin_once()
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 703, in spin_once
[control_node-1]     handler, entity, node = self.wait_for_ready_callbacks(timeout_sec=timeout_sec)
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 689, in wait_for_ready_callbacks
[control_node-1]     return next(self._cb_iter)
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 586, in _wait_for_ready_callbacks
[control_node-1]     _rclpy.rclpy_wait(wait_set, timeout_nsec)
[control_node-1] KeyboardInterrupt
[control_node-1] Exception ignored in: <function Executor.__del__ at 0x7fe28b734af0>
[control_node-1] Traceback (most recent call last):
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/executors.py", line 240, in __del__
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/signals.py", line 39, in destroy
[control_node-1] AttributeError: 'NoneType' object has no attribute 'rclpy_unregister_sigint_guard_condition'
[control_node-1] Exception ignored in: <function SignalHandlerGuardCondition.__del__ at 0x7fe28b70e4c0>
[control_node-1] Traceback (most recent call last):
[control_node-1]   File "/opt/ros/foxy/lib/python3.8/site-packages/rclpy/signals.py", line 30, in __del__
[control_node-1] TypeError: catching classes that do not inherit from BaseException is not allowed
[ERROR] [control_node-1]: process has died [pid 13892, exit code -2, cmd '/dev_ws/install/shadow_control/lib/shadow_control/control_node --ros-args --params-file /dev_ws/install/shadow_launch/share/shadow_launch/config/config.yaml'].

Issue Analytics

  • State:open
  • Created 3 years ago
  • Comments:7 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
twaddellberkeleycommented, Oct 21, 2021

@AlexKaravaev @ivanpauno Apologies for the delay, have been going down the rabbit hole on an unrelated i2c issue. Let me try and do some more testing of the issue this weekend.

0reactions
tfootecommented, Aug 26, 2022

The report in https://github.com/ros2/geometry2/issues/546 has a relatively compact reproduction of what appears to be the same issue.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Control-C not caught in Node.js - Stack Overflow
Of course, I want to do a lot more than console.log in the real application. process.on('SIGINT', function() { console ...
Read more >
10 best practices to containerize Node.js web applications ...
js application receives an interrupt signal, also known as SIGINT , or CTRL+C , it will cause an abrupt process kill, unless any...
Read more >
How to Build a Node.js Application with Express and Pug
After saving the file, kill your existing Node.js application process by pressing Ctrl-C in the terminal, then run the command below to ...
Read more >
Starting Elasticsearch | Elasticsearch Guide [8.5] | Elastic
By default Elasticsearch prints its logs to the console ( stdout ) and to the ... To shut down Elasticsearch, kill the process...
Read more >
Process - node - Read the Docs
process.on('uncaughtException', function(err) { console.log('Caught exception: ' + ... Do not use it as the node.js equivalent of On Error Resume Next .
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