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

fix(autoware_lidar_transfusion): fixed rounding errors that caused illegal memory access #9796

Merged
merged 4 commits into from
Jan 7, 2025

Conversation

knzo25
Copy link
Contributor

@knzo25 knzo25 commented Dec 26, 2024

Description

In centerpoint #9795
we encountered rounding errors resulting from floating precision arithmetic in which points nearing the pointcloud ranges would generate invalid voxel ids. Since it is not a heavy operation, we decided to clip the values which makes it a little more resilient.

[component_container_mt-1] ERROR | voxel_idx=480, voxel_idy=189, voxel_index=-291 grid_x_size=480 grid_y_size=480 point.x=76.799995 point.y=-16.133558 point.z=5.022423 min_x_range=-76.800003 min_y_range=-76.800003 min_z_range=-4.000000 max_x_range=76.800003 max_y_range=76.800003 max_z_range=6.000000

Transfusion uses a different way of generating voxel ids, which makes the problem a bug, but not one that causes cuda errors, so it probably was silent until now 😱

Related links

Parent Issue:

  • Link

How was this PR tested?

Notes for reviewers

None.

Interface changes

None.

Effects on system behavior

None.

Signed-off-by: Kenzo Lobos-Tsunekawa <kenzo.lobos@tier4.jp>
@github-actions github-actions bot added the component:perception Advanced sensor data processing and environment understanding. (auto-assigned) label Dec 26, 2024
Copy link

github-actions bot commented Dec 26, 2024

Thank you for contributing to the Autoware project!

🚧 If your pull request is in progress, switch it to draft mode.

Please ensure:

@knzo25 knzo25 changed the title fix(autoware_lidar_transfusion): fixed rounding errors that caused illegal memory address fix(autoware_lidar_transfusion): fixed rounding errors that caused illegal memory access Dec 26, 2024
@knzo25 knzo25 self-assigned this Dec 26, 2024
@knzo25 knzo25 added the run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci) label Dec 26, 2024
Copy link

codecov bot commented Dec 26, 2024

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 29.58%. Comparing base (7fb4c1b) to head (f87bb93).
Report is 2 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #9796      +/-   ##
==========================================
- Coverage   29.62%   29.58%   -0.04%     
==========================================
  Files        1452     1452              
  Lines      108921   108874      -47     
  Branches    42577    42562      -15     
==========================================
- Hits        32265    32211      -54     
- Misses      73421    73572     +151     
+ Partials     3235     3091     -144     
Flag Coverage Δ *Carryforward flag
differential-cuda 4.31% <ø> (?)
total 29.58% <ø> (-0.04%) ⬇️ Carriedforward from a479120

*This pull request uses carry forward flags. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

Copy link
Contributor

@amadeuszsz amadeuszsz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@knzo25 knzo25 enabled auto-merge (squash) January 7, 2025 04:35
@knzo25 knzo25 merged commit f242fbf into autowarefoundation:main Jan 7, 2025
33 of 34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:perception Advanced sensor data processing and environment understanding. (auto-assigned) run:build-and-test-differential Mark to enable build-and-test-differential workflow. (used-by-ci)
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

2 participants