Project

General

Profile

Actions

Bug #20779

open

Un-rescuable thread creation limit on Mac

Added by hms (Hal Spitz) about 1 month ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:119413]

Description

Thread.new will hang the ruby process once past the OSX limit. It does not appear that's possible to trap and rescue failed thread creation.

It seems the Mac has a limit to the number of threads it supports and googling the issue suggests the limit has been known to change with hardware and OS releases. While I hit the thread creation limit due to a bug in my code and the number of threads that I was attempting to create (12,250+) is an unlikely use-case, I am hoping it would be possible to turn this into a rescuable error.

While I'm reporting this on 3.3.5, I have tested the issue and the inability to rescue back to 3.3.1.

(Thanks to @raels for being a great second set of eyes to make sure I wasn't doing anything goofy / wrong before making this report. Also, another callout and thanks to both @Eregon (Benoit Daloze) and @bensheldon over at concurrent-ruby for the unbelievably quick and helpful response to my initial bug report over there).


Files

hang.rb (713 Bytes) hang.rb simple script to reproduce the issue. hms (Hal Spitz), 10/02/2024 11:22 PM

No data to display

Actions

Also available in: Atom PDF

Like0