Skip to content
This repository was archived by the owner on May 31, 2025. It is now read-only.

Changes between 1.15.9 and 1.15.11 for backporting to Melodic#2152

Merged
mjcarroll merged 13 commits intomelodic-develfrom
jacob/melodic_backports
Apr 26, 2021
Merged

Changes between 1.15.9 and 1.15.11 for backporting to Melodic#2152
mjcarroll merged 13 commits intomelodic-develfrom
jacob/melodic_backports

Conversation

@jacobperron
Copy link
Copy Markdown
Contributor

The following list of changes has been integrated into ros_comm 1.15.11 (Noetic) since the last Melodic release (1.14.10)

Backported (in this PR):

Not backported:

tahsinkose and others added 13 commits April 6, 2021 11:44
… to fail in compilation when msg type mismatches occur (#2096)
There is code which uses getNumPublishers() being positive as a
guarantee that a call to the remote publisher's publish() is
guaranteed to send a message to the subscriber. However, because
connections which have not yet received their header are counted,
this is not true. One such user of getNumPublishers() is actionlib.
It relies on getNumPublishers() only returning postive when a publish
on the result topic would succeed.

Fix this by only counting connections with received headers. If we
have received the header, we know the remote publisher is tracking a
connection back to us and has accepted the connection and that a
call to publish() on its end will send the message.

Note that this issue is only relevant for the TCP transport, as the
UDP transport and intraprocess link have already setup their header
by the time they are added to the publication links. Since all
publisher link types update the header, including the caller ID,
counting those with caller IDs set to non-empty is sufficient to
solve the issue.
* fix: roscore -> AttributeError: 'ProcessMonitor' object has no attribute 'isAlive'

* Fix AttributeError: 'Thread' object has no attribute 'isAlive'

* Update remaining instances of isAlive to is_alive

Keep mock method isAlive to keep backwards compatibility for users who happen to be using the mock object.

Signed-off-by: Jacob Perron <jacob@openrobotics.org>

Co-authored-by: Jacob Perron <jacob@openrobotics.org>
* Portable fix.

* include <climits>

* Adding missing headers.

* Adding #include <vector>
Fixes #2128

Fix bug "TypeError: not enough arguments for format string" in DeserializationError

Co-authored-by: 229143434@qq.com <zxcvbnm123-*@>
Co-authored-by: tomoya <Tomoya.Fujita@sony.com>
* Add unit test for removing a callback that's being executed.

This unit test fails until we can remove callbacks that are being executed.

* Use the marked_for_removal flag if the callback is being executed.

This fixes a potential deadlock when a timer is being removed that's also being executed.
All dependencies must be declared in the package.xml, and all these
dependencies must be in the ROS distro. rosmsg doesn't meet either of
these requirements today, by using but not depending on both rostest and
std_srvs, and by using test_rosmaster, which isn't in the ROS distro at
all.

Update rosmsg to properly depend upon what it requires, and stop using
test_rosmaster completely. In place of test_rosmaster, use
diagnostic_msgs, which satisfies the same requirements of the existing
tests by having both messages and services as well as standalone and
recursive messages.

Signed-off-by: Kyle Fazzari <kyle@canonical.com>
Addressing performance issues described in #2118

Signed-off-by: Jesse Ikawa <jikawa@amazon.com>

Co-authored-by: Emerson Knapp <537409+emersonknapp@users.noreply.github.com>
Signed-off-by: Martin Pecka <peckama2@fel.cvut.cz>
@mjcarroll mjcarroll merged commit 70b49c6 into melodic-devel Apr 26, 2021
@mjcarroll mjcarroll deleted the jacob/melodic_backports branch April 26, 2021 19:57
@peci1
Copy link
Copy Markdown
Contributor

peci1 commented Sep 1, 2021

Regression of #2132: #2182

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.