aa54a26c8b
in the expire callback that they also hold when starting the timer. I dont know how to protect them against a situation where they hold a lock in the expire callback and also hold it when canceling the timer, but at least that is a less common situation.