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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants