Project

General

Profile

Actions

Bug #20758

closed

Build failure with macOS Sequoia (15.0) and Xcode 16

Added by eightbitraptor (Matt V-H) 2 months ago. Updated 2 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:119281]

Description

Observed behaviour

Test failures in TestProcess#test_daemon_noclose. Output as follows:

Run options:
  --seed=56670
  "--ruby=./miniruby -I../src/lib -I. -I.ext/common  ../src/tool/runruby.rb --extout=.ext  -- --disable-gems"
  --excludes-dir=../src/test/.excludes
  --name=!/memory_leak/

# Running tests:

[ 99/158] TestProcess#test_daemon_nocloseobjc[89134]: +[NSPlaceholderMutableString initialize] may have been in progress in another thread when fork() was called.
objc[89134]: +[NSPlaceholderMutableString 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.
 = 0.00 s
  1) Failure:
TestProcess#test_daemon_noclose [/Users/mattvh/git/ruby/src/test/ruby/test_process.rb:1882]:
<"ok\n" + "/\n"> expected but was
<"">.

Finished tests in 8.625520s, 18.3177 tests/s, 112.5729 assertions/s.
158 tests, 971 assertions, 1 failures, 0 errors, 1 skips

ruby -v: ruby 3.4.0dev (2024-09-23T12:23:58Z master 4c3727c6ac) +PRISM [arm64-darwin24]
make: *** [yes-test-all] Error 1

Expected behaviour

I expect the tests to all pass with no errors.

Notes

This started happening for me immediately after upgrading my laptop to the latest macOS using the software update tool. Versions reported are:

Command Line Tools for Xcode                       16.0       23/09/2024, 14:24:42
macOS Sequoia 15.0                                 15.0       23/09/2024, 14:41:14

This appears to be the same issue as seen in https://bugs.ruby-lang.org/issues/18912

I can replicate it using the same minimal repro that @katei (Yuta Saito) described in https://bugs.ruby-lang.org/issues/18912#note-15

Process.daemon(false, true)
Dir.pwd

and can confirm that exporting the variable OBJC_DISABLE_INITIALIZE_FORK_SAFETY=YES suppresses the error.

This behaviour was tested on this commit https://github.com/ruby/ruby/commit/4c3727c6ac


Related issues 1 (1 open0 closed)

Is duplicate of Ruby master - Bug #20631: Build failure with Xcode 16 beta and macOS 15 (Sequoia) BetaAssignedhsbt (Hiroshi SHIBATA)Actions
Actions

Also available in: Atom PDF

Like0
Like0Like0