From dd4d0585ee42a185a0626e3ad39abf6f4e241e89 Mon Sep 17 00:00:00 2001 From: Sam Haves Date: Fri, 24 Jul 2026 07:04:58 -0700 Subject: [PATCH] Fix missing timer end calls on early returns in collision and actuation PiperOrigin-RevId: 953348565 Change-Id: I64b563e29b2d620df46d50d12dde9215885f41d6 --- src/engine/engine_collision_driver.c | 1 + src/engine/engine_forward.c | 1 + 2 files changed, 2 insertions(+) diff --git a/src/engine/engine_collision_driver.c b/src/engine/engine_collision_driver.c index 178b4b20..3345a2e7 100644 --- a/src/engine/engine_collision_driver.c +++ b/src/engine/engine_collision_driver.c @@ -606,6 +606,7 @@ void mj_collision(const mjModel* m, mjData* d) { // return if disabled if (mjDISABLED(mjDSBL_CONSTRAINT) || mjDISABLED(mjDSBL_CONTACT) || nbodyflex < 2) { + TM_END1(mjTIMER_POS_COLLISION); return; } diff --git a/src/engine/engine_forward.c b/src/engine/engine_forward.c index c7c78af2..3b04f93d 100644 --- a/src/engine/engine_forward.c +++ b/src/engine/engine_forward.c @@ -333,6 +333,7 @@ void mj_fwdActuation(const mjModel* m, mjData* d) { // disabled or no actuation: return if (nactuator == 0 || mjDISABLED(mjDSBL_ACTUATION)) { mju_zero(d->qfrc_actuator, nv); + TM_END(mjTIMER_ACTUATION); return; }