If the creation of a thread fails, this causes an idle loop that will never end because the thread wasn't started in the first place. This also adds a test for the regression reported in #125433 to make sure we're not reintroducing it later. Fixes #125428