

MacOS High Sierra changes the behaviour of the fork syscall such that calls to Objective-C APIs in forked processes are treated as errors. Set a breakpoint on objc_initializeAfterForkError to debug.

We cannot safely call it or ignore it in the fork() child process. Objc: + may have been in progress in another thread when fork() was called. Puma fails, repeatedly outputting these errors from worker processes: objc: + may have been in progress in another thread when fork() was called. Puma should work and execute jobs as expected Actual behavior

Interoperability issues with dependencies using Objective-C in Cluster Mode on macOS 10.13 High Sierraģ) Execute an application which uses the pg gem, does not use preload_app!, and uses Puma in cluster mode Expected behavior
