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

changes between 1.12.14 and 1.14.7 for backporting #2015

Merged
merged 55 commits into from
Aug 7, 2020

Conversation

dirk-thomas
Copy link
Member

@dirk-thomas dirk-thomas commented Aug 3, 2020

The following list of changes has been integrated into ros_comm between 1.14.3 and 1.14.7 (Melodic) since the last Kinetic release (1.12.14).

Already merged before this PR:

Backported in this PR:

Not backported:

Without this commit, `source /opt/ros/$ROS_DISTRO/setup.bash` fails under the following conditions:

1. topic_tools is installed
2. rosbash is not installed
3. the bash shell has the following options set (which is the default in GitLab CI):

    set -o errexit
    set -o pipefail

What happens is that since rosbash is not installed, `$(complete | grep -w rosrun)` finds no match, and grep exits with status 1. Since `pipefail` is enabled, this error code is propagated to the return value of the pipe. Since `errexit` is enabled, the script exits immediately.

This commit catches grep exit status 1 (= "no match") and passes everything else through.
@dirk-thomas dirk-thomas self-assigned this Aug 3, 2020
msadowski and others added 20 commits August 3, 2020 15:51
* Explicitly handle socket.timeout in rosnode ping

* Change error string when handling socket.error
* Exclude unused args check if pass_all_args is set

* Add test for pass_all_args fix
)

* normalize the string to utf-8 before passing to environment block.

* convert from unicode to string when setting env variable (#21)
…#1519)

* Catch exeption when searching for services and a single service fails

* narrow scope of try / except block
* If process died when checking should_respawn, treat it as over-due and respawn (#32)

* fix how the return value of should_respawn() is checked
* [rosbag] Fix waitForSubscribers hanging with simtime

Use Walltime for sleep as clock is not running yet

* Simplify wallsleep in waitForSubscribers

Co-Authored-By: AlexReimann <alexander.reimann@enway.ai>
* fix infinite loop in rosbag buffer resize

* grow to max size
…mmand line argument (#1653)

* make roslaunch-check respect arg remappings with command line argument (:=)

* added exmpale for commandline arg remappings,

scripts/roslaunch-check resources/example.launch commandline_true_arg:=false should be fail

* roslaunch: removed rospy run dependency
* Fix wrong error handling in migration.

self.(old|new)_types is supposed to be a dictionary, not a list

* Address PR 1639 comments.

* remove duplicate warning message
mikepurvis and others added 7 commits August 4, 2020 10:37
…etParam (#1439)

* test_roscpp/params/added getParamCachedSetParamLoop

* rosmaster: set_param: the not update the caller!

* rosmaster: set_param: do not update the caller more fine grained

* /rosmaster/paramserver/compute_params_update, apply filter only if caller_id_to_ignore is not None

* /test_rospy/talker: set publishers queue_size to supress warning

* /test_rospy/sub_to_multple_pubs: moved listener up to avoid warnings

* refactor for readability

* pep8
* Resolve memory leak.

Delete g_rosout_appender explicitly instead of assigning it to NULL.
Follow deletion with NULL assignment.

* Deregister g_rosout_appender

* revert unrelated whitespace change

* Update init.cpp

* Increment version number.

* space in comments

* Merge

* Revert "Increment version number."

This reverts commit 795c8fd.

* Add newer rosconsole dependencies

* Update rosconsole dependencies in package.xml

* Sync with upstream completely

* Add changes

* Remove deregister function, since it is already done in shutdown().

* Remove unnecessary .catkin_workspace file.
There is no s variable in scope - and we clearly wanna display
reg_type
The missing comma will implicitly concatenate the string "FATAL" and "is_shutdown" together
130s and others added 2 commits August 4, 2020 12:10
…in failed. (#1721)

Add the content exception to print when `roswtf` failed to load a plugin.

When loading a wtf plugin failed the message looks something like the following without any info about the reason it was not loaded:
```
Loaded plugin tf.tfwtf
Unable to load plugin [B_utility.roswtf.B_wtf_plugin.py] from package [B_utility].
```

For the same context, error message prints the exception, which helps debugging.
```
Loaded plugin tf.tfwtf
Unable to load plugin [B_utility.roswtf.B_wtf_plugin.py] from package [B_utility]. Exception: [cannot import name RemovedMsgTypeA]
```
(In my case RemovedMsgTypeA is the message type that is the package depends on but is recently removed so not found).
johnfettig and others added 4 commits August 4, 2020 13:29
xmlrpc.client.ServerProxy is not thread safe. See
https://bugs.python.org/issue6907

The symptom of this bug is exceptions in the publisherUpdate
logged in the master.log. For example:

[rosmaster.threadpool][ERROR] : Traceback (most recent call last):
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/threadpool.py", line 218, in run
    result = cmd(*args)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/master_api.py", line 210, in publisher_update_task
    ret = xmlrpcapi(api).publisherUpdate('/master', topic, pub_uris)
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/util.py", line 68, in xmlrpcapi
    close_half_closed_sockets()
  File "/opt/ros/kinetic/lib/python2.7/dist-packages/rosmaster/util.py", line 79, in close_half_closed_sockets
    state = transport._connection[1].sock.getsockopt(socket.SOL_TCP, socket.TCP_INFO)
  File "/usr/lib/python2.7/socket.py", line 228, in meth
    return getattr(self._sock,name)(*args)
  File "/usr/lib/python2.7/socket.py", line 174, in _dummy
    raise error(EBADF, 'Bad file descriptor')
error: [Errno 9] Bad file descriptor

Some subscribers get the update but some do not. For example, the topic
is recorded in a rosbag but not received by nodes that depend on it.

Issue: #1523
* roscpp: TransportTCP: Allow socket() to return 0

In situations that an application has stdin closed, socket() may (and will) return 0. This is totally fine.

* TransportUDP: fix incoming socket creation
* Added import of roslib for bug fix.

* Changed import to more specific import.
5tan and others added 8 commits August 4, 2020 14:19
* Do not display error message if poll yields EINTR

Closes #1370
closes TonyRobotics/RoboWare#63
closes ericsantii/alexa-turtlesim-ros#2

* Keep abstraction compatibility
Current description comments after members start with '//!', resulting in broken documentation showing the descriptions on the wrong members. Change that to '//!<' according to doxygen documentation to have descriptions correctly associated with the respective members.
there is a case that accessing a connection object which was destroyed by
ConnectionManager and TransportSubscriberLink/TransportPublicationLink
while getting a close event in pollset to call Connection::drop.

Signed-off-by: Barry Xu <Barry.Xu@sony.com>
@dirk-thomas dirk-thomas marked this pull request as ready for review August 4, 2020 22:06
@dirk-thomas dirk-thomas mentioned this pull request Aug 4, 2020
@dirk-thomas dirk-thomas merged commit 0ece5fb into kinetic-devel Aug 7, 2020
@dirk-thomas dirk-thomas deleted the kinetic-backports branch August 7, 2020 22:13
@gavanderhoorn
Copy link
Contributor

@dirk-thomas: just wanted to voice my appreciation for the effort you put in here. 👏 👍 🍻

@dirk-thomas
Copy link
Member Author

just wanted to voice my appreciation for the effort you put in here.

Thank you 😃

@emersonknapp
Copy link
Contributor

Looks like this backport contained #1932 , but not the followup fixes for its regressions
#2020
#2025

@dirk-thomas Should we just backport both of those onto kinetic-devel now?

@dirk-thomas
Copy link
Member Author

Looks like this backport contained #1932

From the above bullets:

I don't think #1932 was backported to Kinetic. What makes you think so?

@emersonknapp
Copy link
Contributor

emersonknapp commented Aug 26, 2020

This list contains #2011 which contains #1932 , additionally as of the kinetic sync over the weekend, our builds have started having the same failure as the melodic ones were before

Edit: Oh - i see 2011 was "already merged before this PR"

@dirk-thomas
Copy link
Member Author

I created #2029 to backport these two changes to Kinetic. It would be great if you could comment if this fixes the problems for you.

@emersonknapp
Copy link
Contributor

I am checking now

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.