I blamed our vendor for misinterpreting a timeout option in their code. They helpfully pointed out that their code did not generate the error messages "Cancelling nested steps due to timeout" and "Sending interrupt signal to process".
Searching for the source of these messages on Github, even after scoping to the jenkinsci organization, was a challenge. For one, some recent branches did not carry these messages.
I thought that being explicit in the log messages would not hurt (I think of a progress we made since the Unix times with their say-not-a-single-word-more idea). E.g., the messages can mention the "timeout" DSL clause that was the origin of it (with or without its location) and the amount of time that was allocated in that clause.