unicorn Ruby/Rack server user+dev discussion/patches/pulls/bugs/help
 help / color / mirror / code / Atom feed
* initialize/fork crash in macOS 10.13
@ 2017-08-04 16:40 Jeffrey Carl Faden
  2017-08-04 19:10 ` Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Jeffrey Carl Faden @ 2017-08-04 16:40 UTC (permalink / raw)
  To: unicorn-public

According to this post...
http://www.sealiesoftware.com/blog/archive/2017/6/5/Objective-C_and_fork_in_macOS_1013.html

The rules around initialize and fork() have changed in macOS 10.13, which is coming out in a month or so. I tried using Unicorn today to run a unicorn_rails instance, and got this as part of my traceback:

objc[95737]: +[__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.
E, [2017-08-04T08:35:28.148339 #95531] ERROR -- : reaped #<Process::Status: pid 95736 SIGABRT (signal 6)> worker=1

I'm not sure if this is something downstream, but I thought I'd bring it to your attention. My temporary solution is to preface my commands with OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES.

Jeffrey

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: initialize/fork crash in macOS 10.13
  2017-08-04 16:40 initialize/fork crash in macOS 10.13 Jeffrey Carl Faden
@ 2017-08-04 19:10 ` Eric Wong
  2017-10-16 19:25   ` Eric Wong
  0 siblings, 1 reply; 3+ messages in thread
From: Eric Wong @ 2017-08-04 19:10 UTC (permalink / raw)
  To: Jeffrey Carl Faden; +Cc: unicorn-public

Jeffrey Carl Faden <jeffreyatw@gmail.com> wrote:
> According to this post...
> http://www.sealiesoftware.com/blog/archive/2017/6/5/Objective-C_and_fork_in_macOS_1013.html
> 
> The rules around initialize and fork() have changed in macOS
> 10.13, which is coming out in a month or so. I tried using
> Unicorn today to run a unicorn_rails instance, and got this as
> part of my traceback:

This affects other Ruby programs which fork().  I suggest
reporting to ruby-core @ https://bugs.ruby-lang.org/ and having
somebody with macOS knowledge look at this(*).

I don't even know how ObjC factors into this.

> I'm not sure if this is something downstream, but I thought
> I'd bring it to your attention. My temporary solution is to
> preface my commands with
> OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES.

Thanks for documenting this for other users, at least.
I can't support macOS since I'm not allowed to know
everything about it.



(*) As a smug GNU/Linux user, I get to know EVERYTHING about how
    my system works from the kernel and up, for free!
    And when I do have a question I can't answer on my own;
    all I need to do is email the right people and lists.
    No NDAs or registration of any sort to deal with :>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: initialize/fork crash in macOS 10.13
  2017-08-04 19:10 ` Eric Wong
@ 2017-10-16 19:25   ` Eric Wong
  0 siblings, 0 replies; 3+ messages in thread
From: Eric Wong @ 2017-10-16 19:25 UTC (permalink / raw)
  To: Jeffrey Carl Faden; +Cc: unicorn-public

Btw, this seems to be resolved in Ruby trunk and there's a
workaround documented for existing Rubies:

	https://bugs.ruby-lang.org/issues/14009

Obviously I can't test it but it seems to be working for some people.

In case ruby-lang goes down, you can also find it from the
public-inbox mirror of ruby-core:

	https://public-inbox.org/ruby-core/?q=%22Bug%20%2314009%22&x=t

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2017-10-16 19:25 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-04 16:40 initialize/fork crash in macOS 10.13 Jeffrey Carl Faden
2017-08-04 19:10 ` Eric Wong
2017-10-16 19:25   ` Eric Wong

Code repositories for project(s) associated with this public inbox

	https://yhbt.net/unicorn.git/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).