-
Notifications
You must be signed in to change notification settings - Fork 69
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
[Foxy]: Can't launch a ComposableNodeContainer with the latest Foxy packages (0.10.3) #185
Comments
Also @jacobperron FYI. |
#153 needed some rework to be backported, and it seems that something went wrong and wasn't caught in the tests. I can take a look to it. |
Also, the |
Also, on master, if you don't specify any namespace, you get the following error:
There are 2 problems with that:
|
I'm not sure what's the correct fix. Before, passing The property node_name was giving always a valid So maybe my comment here was incorrect, and it was more logical to fix the meaning of @jacobperron @hidmic opinions? |
Does that mean passing
Agreed.
In |
I mean in the above example, if you comment out the |
Agreed. But IMHO, that's something that
It's important to bear in mind that it is not required for |
I've haven't looked in detail, but I suspect that there are other patches related to composable nodes that need to be backported following #179. I had made a bunch of bug fixes related to launching composable nodes for Rolling that I wanted to backport to Foxy, but was blocked by backporting #153 (now backported in #179). |
I think we have three separate problems:
I think 1. and 2. are enough to "solve" this issue. |
FWIW, the #186 should fix the regression introduced in #179.
I think with
It seems like it might be easiest to make the namespace parameter mandatory (and valid). I'm not sure though. |
Huh, interesting. I guess it is mandatory at the API level, but it is not checked that it is given in Rolling. That is, if you don't give one in Rolling, you don't find out until the rcl layer fails:
Agreed 100% on this one.
I think we should validate whether that is the case at the launch_ros level, rather than just assuming it. Otherwise users will get difficult-to-debug errors later on (as in this case).
In my mind, we have three things that a user would consider "similar":
I know that they all do different things, but I think that from a user perspective they should all act similarly. That is, if we decide to make namespace mandatory, we should make it mandatory on all of them. If we decide to assume the root namespace when no namespace is given, we should do that on all of them. Having them act differently makes it harder for a user to use them, in my opinion. |
I think that making them mandatory in
I have opened #189 to make it actually mandatory. |
AFAIK, this issue was resolved in #186. Please re-open or comment if I'm mistaken. |
In most cases, it'll be OK. But the ability to compose other nodes isn't exclusive to the typical containers nodes that |
@jacobperron Looks like we still need a release of |
I agree with that statement.
I disagree. If some executable contains N different nodes, with their own names and namespaces carefully crafted, and Ultimately, if an action B uses an action A and has a requirement on it, then action B should be enforcing that action A fulfills that requirement instead of over-constraining action A. |
Sounds reasonable to me.
#189 will fix that then. |
Bug report
Required Info:
Steps to reproduce issue
I have a fairly straightforward launch file:
Expected behavior
Container successfully launches
Actual behavior
Throws an exception:
Additional information
If I run the above launch file with the latest sources (on master), everything works fine. If I run the above launch file with the previous version of launch_ros (0.10.2), everything works fine. There is only one patch between 0.10.2 and 0.10.3, and it comes from this PR: #179 . So it looks like something in that backport is either missing or went wrong.
@ivanpauno @hidmic FYI.
The text was updated successfully, but these errors were encountered: