-
Notifications
You must be signed in to change notification settings - Fork 916
XmlRpcValue - accessing a non-existing key throws std::out_of_range #2390
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
Comments
Thank you for the report and minimal example @zarmomin ! I'm trying to figure out if this behavior change should be treated like a regression and reverted. Would you mind explaining how you discovered this? |
@sloretz this issue breaks a whole bunch of tests and packages on our side. Can you please revert the change until a proper fix has been provided? |
@sloretz Thanks for looking into this Shane! I noticed one of our unit-tests failing because of this - we were trying to access a non-existing value in a nested parameter. For us this actually caught a bug in the test, but it is unexpected to have this throw change from |
I had to make sure I understand what's happening. I'm going to revert #2315 because it seems like a significant behavior change. The new behavior introduced by #2315 seems better to me, but it should be a breaking change in a new ROS 1 distro, and there isn't going to be a new one of those. The
Before #2315It looks like ros/ros_comm at 4755096 (Just before #2315) uses the
After #2315At b6c57e7 (1.17.3, current
Attempted fix #2391With my fix the code uses |
Released as 1.17.4 ros/rosdistro#45848 @mgrrx @zarmomin Please try out the new release from the testing apt repos and report if it fixes the broken unit tests. |
One side-effect of this change is that retrieving a value of a non-existing key now throws an out of range instead of returning a default value.
The text was updated successfully, but these errors were encountered: