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

roslaunch: Allow passing _TIMEOUT_SIGINT and _TIMEOUT_SIGTERM as parameters #1937

Merged
merged 12 commits into from
May 15, 2020

Conversation

peci1
Copy link
Contributor

@peci1 peci1 commented Apr 21, 2020

Continuation of #1502 and #1670.

roslaunch tests pass for me locally, including the manual test that verifies that this behavior works even for remote machines (test/manual-test-remote-timeouts.sh 5 10 localhost ~/.bashrc $USER).

@peci1 peci1 force-pushed the parametrize_timeouts_noetic branch from 5b3cbae to 707332c Compare April 21, 2020 01:17
@peci1
Copy link
Contributor Author

peci1 commented Apr 21, 2020

@dirk-thomas Do you have any idea why tests that log SIGINT and SIGTERM to a file fail on Focal but work on Buster? The signals are logged with this code: https://github.com/ros/ros_comm/pull/1937/files#diff-7cfd311b588701a9599f10be323527e5 .

@peci1
Copy link
Contributor Author

peci1 commented Apr 21, 2020

Got it, the signal logger had Python 2 shebang...

Copy link
Member

@dirk-thomas dirk-thomas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the pull request. I added a few minor comment inline.

tools/roslaunch/scripts/roscore Outdated Show resolved Hide resolved
tools/roslaunch/src/roslaunch/nodeprocess.py Show resolved Hide resolved
tools/roslaunch/src/roslaunch/parent.py Outdated Show resolved Hide resolved
tools/roslaunch/src/roslaunch/parent.py Outdated Show resolved Hide resolved
tools/roslaunch/src/roslaunch/server.py Outdated Show resolved Hide resolved
tools/roslaunch/test/signal_logger.py Outdated Show resolved Hide resolved
tools/roslaunch/test/unit/test_nodeprocess.py Outdated Show resolved Hide resolved
@dirk-thomas dirk-thomas changed the title roslaunch: Allow passing _TIMEOUT_SIGINT and _TIMEOUT_SIGTERM as parameters (noetic) roslaunch: Allow passing _TIMEOUT_SIGINT and _TIMEOUT_SIGTERM as parameters May 14, 2020
@peci1
Copy link
Contributor Author

peci1 commented May 15, 2020

I did the requested changes. All irrelevant whitespace changes should be rolled back.

@dirk-thomas
Copy link
Member

Thanks for the patch and for iterating on it.

@peci1
Copy link
Contributor Author

peci1 commented Jul 8, 2020

I see this PR wasn't considered for backport to melodic. Is there a chance to get it there?

@dirk-thomas
Copy link
Member

@peci1 I can add it to the next round of backports to Melodic.

@peci1
Copy link
Contributor Author

peci1 commented Jul 8, 2020

Thanks ;)

nim65s added a commit to nim65s/robotpkg that referenced this pull request Mar 12, 2021
Because DEPEND_ABI.ros-comm.noetic?= ros-comm>=1.15

1.15.9 (2020-10-16)
-------------------
* Fix deadlock when service connection is dropped (ros/ros_comm#2074)
* Update maintainers (ros/ros_comm#2075)
* Fix case where accessing cached parameters shuts down another node (ros/ros_comm#2068)
* Fix spelling (ros/ros_comm#2066)
* Fix Lost Wake Bug in ROSOutAppender (ros/ros_comm#2033)
* Fix compatibility issue with boost 1.73 and above (ros/ros_comm#2023)
* Gracefully stop recording upon SIGTERM and SIGINT (ros/ros_comm#2038)
* Use heapq.merge instead of custom merge sort code (ros/ros_comm#2017)
* Fix handling of single quotes in command arguments on Windows (ros/ros_comm#2051)
* Clearer error message (ros/ros_comm#2035)
* Ignore underscores when parsing literal numeric values for Python 3 compatibility (ros/ros_comm#2022)
* Clear cached URI for a node that has gone offline (ros/ros_comm#2010)
* Add skip_cache parameter to rosnode_ping() (ros/ros_comm#2009)
* Install advertisetest (ros/ros_comm#2046)
* Use range instead of xrange for Python 3 compatibility (ros/ros_comm#2013)
* Fix to address CVE-2020-16124 (ros/ros_comm#2065)
* Fix XmlRpcValue::_doubleFormat being unused (ros/ros_comm#2003)

1.15.8 (2020-07-23)
-------------------
* change is_async_connected to use epoll when available (ros/ros_comm#1983)
* allow mixing latched and unlatched publishers (ros/ros_comm#1991)
* remove not existing NodeProxy from rospy __all_\_ (ros/ros_comm#2007)
* fix typo in topics.py (ros/ros_comm#1977)
* fix bad relative import (still Python 2 style) (ros/ros_comm#1973)
* improve shutdown message with duplicate node name (ros/ros_comm#1992)
* remove dependency on rostopic from rostest package (ros/ros_comm#2002)
* fix missing reload() function in Python 3 (ros/ros_comm#1968)
* add latch param to throttle (ros/ros_comm#1944)
* add const versions of XmlRpcValue converting operators (ros/ros_comm#1978)

1.15.7 (2020-05-28)
-------------------
* fix Windows build break (ros/ros_comm#1961)
* fix NameError in launch error handling (ros/ros_comm#1965)

1.15.6 (2020-05-21)
-------------------
* fix a bug that using a destroyed connection object (ros/ros_comm#1950)

1.15.5 (2020-05-15)
-------------------
* check if async socket connect is success or failure before TransportTCP::read() and TransportTCP::write() (ros/ros_comm#1954)
* fix bug that connection drop signal related funtion throw a bad_weak exception (ros/ros_comm#1940)
* multiple latched publishers per process on the same topic (ros/ros_comm#1544)
* fix negative numbers in ros statistics (ros/ros_comm#1531)
* remove extra \n in ROS_DEBUG (ros/ros_comm#1925)
* add option to repeat latched messages at the start of bag splits (ros/ros_comm#1850)
* fix bag migration failures caused by typo in connection_header assignment (ros/ros_comm#1952)
* fix brief description comments after members (ros/ros_comm#1920)
* add --sigint-timeout and --sigterm-timeout parameters (ros/ros_comm#1937)
* roslaunch-check: search dir recursively (ros/ros_comm#1914)
* sort printed nodes by namespace alphabetically (ros/ros_comm#1934)
* remove pycrypto import (not used) (ros/ros_comm#1922)
* avoid infinite recursion in rosrun tab completion when rosbash is not installed (ros/ros_comm#1948)
* fix bare pointer in topic_tools::ShapeShifter (ros/ros_comm#1722)
* clear message queue on simtime jumping back (ros/ros_comm#1518)
* use undefined dynamic_lookup on macOS (ros/ros_comm#1923)
* check if enough FDs are free, instead counting the total free FDs (ros/ros_comm#1929)

1.15.4 (2020-03-19)
-------------------
* restrict boost dependencies to components used (ros/ros_comm#1871)
* add exception for ConnectionAbortedError (ros/ros_comm#1908)
* fix mac trying to use epoll instead of kqueue (ros/ros_comm#1907)
* fix AttributeError: __exit__ (ros/ros_comm#1915, regression from 1.14.4)

1.15.3 (2020-02-28)
-------------------
* remove Boost version check since Noetic only targets platforms with 1.67+ (ros/ros_comm#1903)

1.15.2 (2020-02-25)
-------------------
* export missing Boost dependency (ros/ros_comm#1898)
* add timestamp formatting for rosconsole (ros/ros_comm#1892)

1.15.1 (2020-02-24)
-------------------
* fix missing boost dependencies (ros/ros_comm#1895)
* use setuptools instead of distutils (ros/ros_comm#1870)
* increase time limit of advertisetest/publishtest.test to reduce flakyness (ros/ros_comm#1897)

1.15.0 (2020-02-21)
-------------------
* fix dictionary changed size during iteration (ros/ros_comm#1894)
* update test to pass with old and new yaml (ros/ros_comm#1893)

Packaging changes:
- removed patch-an, as there are no more boost version checks
- updated patch-ao
bergercookie pushed a commit to bergercookie/ros_comm that referenced this pull request Aug 23, 2021
…meters (ros#1937)

* Added --sigint-timeout and --sigterm-timeout parameters.

* Fixed propagating sigint- and sigterm-timeout to remote nodes.

* Added tests for sigint- and sigterm-timeout.

* Decrease CPU load of timeout tests.

* roslaunch: readded DEFAULT_TIMEOUT_SIGINT and DEFAULT_TIMEOUT_SIGTERM

* roslaunch: --sigint_timeout, --sigterm-timeout take floats now

* Fixing int to float in docs for sigint_timeout and sigterm_timeout

* Reduced flakyness of test_roslaunch_parent and test_nodeprocess

* Migrate test/signal_logger.py to Python 3.

* roslaunch: Better exception handling, undoing whitespace changes.

* roslaunch: Fix whitespace.

Co-authored-by: Christopher Wecht <christopher.wecht@student.kit.edu>
jacobperron pushed a commit that referenced this pull request Jan 6, 2022
…meters (#1937)

* Added --sigint-timeout and --sigterm-timeout parameters.

* Fixed propagating sigint- and sigterm-timeout to remote nodes.

* Added tests for sigint- and sigterm-timeout.

* Decrease CPU load of timeout tests.

* roslaunch: readded DEFAULT_TIMEOUT_SIGINT and DEFAULT_TIMEOUT_SIGTERM

* roslaunch: --sigint_timeout, --sigterm-timeout take floats now

* Fixing int to float in docs for sigint_timeout and sigterm_timeout

* Reduced flakyness of test_roslaunch_parent and test_nodeprocess

* Migrate test/signal_logger.py to Python 3.

* roslaunch: Better exception handling, undoing whitespace changes.

* roslaunch: Fix whitespace.

Co-authored-by: Christopher Wecht <christopher.wecht@student.kit.edu>
@peci1
Copy link
Contributor Author

peci1 commented Mar 21, 2022

I've added info about this feature to ROS wiki: http://wiki.ros.org/action/info/roslaunch/Commandline%20Tools?action=diff&rev2=53&rev1=52 .

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

Successfully merging this pull request may close these issues.

None yet

2 participants