1. 7
  1.  

  2. 2

    Takeaway: the problem has always been there, even before High Sierra and even on Linux. It’s just that High Sierra has chosen to fail fast instead of silently allowing corruption.

    So it’s always been broken, but 10.13 would rather crash than continue with global data possibly being in an inconsistent state. This seems like a sensible default, but I can certainly understand the inconvenience.

    How to make your app server work: activating the workaround manually

    […]

    export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

    This seems like irresponsible advice, since it would just make it silently broken again, but may just be unintentionally misleading wording, since the author quite clearly explained the problem.

    The workaround implemented by Passenger, which I didn’t see in the post, is to load Foundation before forking.

    Seems like MRI has also fixed it now, by linking to Foundation.