Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Doesn't work on macOS High Sierra #69

Open
rprandi opened this Issue Oct 3, 2017 · 8 comments

Comments

Projects
None yet
7 participants
@rprandi
Copy link

commented Oct 3, 2017

Hello,

This gem no longer works on macOS High Sierra.

I noticed it is only compatible with systems that support fork(2) and High Sierra does change how fork() works on syscall level.

@rprandi

This comment has been minimized.

Copy link
Author

commented Oct 4, 2017

the problem is:

== Shotgun/WEBrick on http://127.0.0.1:8999/
objc[89654]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.
objc[89654]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.
[2017-10-04 13:36:39] ERROR EOFError: end of file reached

@rprandi

This comment has been minimized.

Copy link
Author

commented Oct 21, 2017

Well i know this will probably never get fixed, but for reference if any of the forks wish to solve it, i found this article explaining the problem:

https://blog.phusion.nl/2017/10/13/why-ruby-app-servers-break-on-macos-high-sierra-and-what-can-be-done-about-it/

The article also mentions a workaround:

export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES

@osxgirl

This comment has been minimized.

Copy link

commented Jul 7, 2018

Well, this is helpful as well in the Beta of Mac OS Mojave. Thank you.

// ♥ objc[3502]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called.
objc[3502]: +[__NSPlaceholderDictionary initialize] may have been in progress in another thread when fork() was called. We cannot safely call it or ignore it in the fork() child process. Crashing instead. Set a breakpoint on objc_initializeAfterForkError to debug.

@fmquaglia

This comment has been minimized.

Copy link

commented Oct 1, 2018

worked for me after upgrading to Mojave. Thank you <3

@lucasklaassen

This comment has been minimized.

Copy link

commented Oct 3, 2018

For anyone coming here that upgrades to Mojave and exports the env variable and it still doesn't work, please please please run xcode-select --install and then make sure to open the Xcode app as it will ask you to install some additional components to get it running. Then restart your mac and it should be gucci.

@mera12

This comment has been minimized.

Copy link

commented Nov 1, 2018

Hi,
Thanks to all of you found this useful :-) and to add to Lucas keep an up to date software

@vsage

This comment has been minimized.

Copy link

commented Nov 6, 2018

For people still having this issue in Mojave, try upgrading ruby to a version >= 2.4.4 in the Gemfile and run bundle install

@dongido001

This comment has been minimized.

Copy link

commented Mar 24, 2019

Worked for me after installing passenger:

brew install passenger
export OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.