[Bug 1817595] [NEW] [SRU] urdfdom-headers and urdfdom should not use locale dependent parsing for floating point numbers

Launchpad Bug Tracker 1817595 at bugs.launchpad.net
Fri Aug 9 18:55:32 UTC 2019


You have been subscribed to a public bug by Jose Luis Rivero (j-rivero):

In the effort to reduce boost dependency in urdfdom and urdfdom-headers
[2] regressions wrt locale handling were introduced. Parsing of floating
point values in URDF (a XML language) was now locale dependent, ie on
European systems were the decimal separator is "," instead of "."
parsing would now fail due to std::stod expecting "1,23" instead of
"1.23" (no, we do not localize xml files, see also [3] for a more
technical summary). The regressed versions were released as 1.0. Shortly
after the release (some of) the regressions were detected [3] and fixes
merged [3][4]. Unfortunately those fixed merges were not released until
a long time later, too late for Ubuntu 18.04 by far and potentially even
for 20.04. More regressions were noticed and fixed later on (disclaimer:
by me) [5].

urdfdom is used mostly if not exclusively in the ROS community
(including gazebo) which is a somewhat slow adopter of newer Ubuntu (and
ros) releases but more and more people are now seeing these regressions
in various places. To save more peoples time I propose to do a patch
version update and pull urdfdom_headers version 1.0.3 as well as urdfdom
version 1.0.3 from debian sid. I argue against applying a patch because
the diff between 1.0.0 and 1.0.3 is almost identical to a set of patches
fixing the regressions. Updating to the upstream patch release will
therefore improve tracing of the ubuntu downstream version to the
upstream versioning.

Both urdfdom_headers and urdfdom now have an extensive set of unit test
which in the case of urdfdom are also run in a European (ie Dutch)
locale [6]. Together with the small and homogeneous user base,
application mostly in research and the fact that most of the library is
(for unknown reasons) almost header-only make me estimate that scope,
potential and impact of regressions introduced by this upgrade would be
extremely low.

1: https://github.com/ros/urdfdom/commit/3dc7ee812827cc69ffa457ef01fe7b9623096aed
2: https://github.com/ros/urdfdom_headers/commit/9d2b421f3fcbc2a32af40b99ebd9c2cb2d088fb9
3: https://github.com/ros/urdfdom_headers/pull/42
4: https://github.com/ros/urdfdom/pull/105
5: https://github.com/ros/urdfdom_headers/pull/47
6: https://github.com/ros/urdfdom/pull/115

See also the following upstream bug reports:
https://github.com/ros/urdfdom_headers/issues/45
https://github.com/ros/urdfdom/issues/119

and a few downstream bug reports to the ubuntu package:
https://github.com/ros-planning/moveit/issues/1333
https://github.com/ros/urdf/issues/21
https://github.com/ros-visualization/rviz/issues/1249
https://github.com/ros-visualization/rviz/issues/1151
https://github.com/ros-planning/moveit/issues/1050
https://github.com/ros-visualization/rviz/issues/1298

** Affects: urdfdom-headers
     Importance: Unknown
         Status: New

** Affects: urdfdom (Ubuntu)
     Importance: Undecided
         Status: Confirmed

** Affects: urdfdom-headers (Ubuntu)
     Importance: Undecided
         Status: Confirmed

-- 
[SRU] urdfdom-headers and urdfdom should not use locale dependent parsing for floating point numbers
https://bugs.launchpad.net/bugs/1817595
You received this bug notification because you are a member of Ubuntu Sponsors Team, which is subscribed to the bug report.



More information about the Ubuntu-sponsors mailing list