Skip to content

Conversation

@jslee02
Copy link
Member

@jslee02 jslee02 commented Dec 18, 2025

Fixes #2332.

Background

When Bullet is built with double precision (BT_USE_DOUBLE_PRECISION=1), DART 6.16 can violate the ODR because dart/collision/bullet/BulletTypes.hpp included Bullet headers directly, bypassing dart/collision/bullet/BulletInclude.hpp (which includes dart/config.hpp first). This shows up as -Wodr warnings and runtime failures (raycast returns no hits and then segfaults; Bullet-based collision regression tests fail).

Changes

  • dart/collision/bullet/BulletTypes.hpp: include Bullet via dart/collision/bullet/BulletInclude.hpp to ensure consistent Bullet precision macros across all translation units.
  • tests/integration/test_Raycast.cpp: use ASSERT_* before indexing mRayHits (avoids segfault when a hit is unexpectedly missing).

Local verification

  • Built against Bullet 3.25 with double precision enabled and ran: ctest -R '^(test_Raycast|test_Collision|test_ForceDependentSlip|test_Issue1184)$'.
  • Ran: CMAKE_BUILD_PARALLEL_LEVEL=16 CTEST_PARALLEL_LEVEL=16 pixi run test, CMAKE_BUILD_PARALLEL_LEVEL=16 pixi run test-all, and CMAKE_BUILD_PARALLEL_LEVEL=16 pixi run -e gazebo test-gz.
@codecov
Copy link

codecov bot commented Dec 18, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 58.68%. Comparing base (07aef36) to head (a3962f5).

Additional details and impacted files
@@ Coverage Diff @@ ## release-6.16 #2334 +/- ## ============================================= Coverage 58.68% 58.68% ============================================= Files 384 384 Lines 32056 32056 Branches 3870 3870 ============================================= Hits 18812 18812 Misses 13244 13244 
Flag Coverage Δ
unittests 58.68% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
@jslee02 jslee02 added this to the DART 6.16.2 milestone Dec 18, 2025
@jslee02 jslee02 marked this pull request as draft December 19, 2025 21:37
@jslee02 jslee02 modified the milestones: DART 6.16.2, DART 6.16.3 Dec 20, 2025
@jslee02 jslee02 force-pushed the issue/2332_release-6.16 branch from 33068eb to a3962f5 Compare December 20, 2025 05:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants