Bug #20631
openBuild failure with Xcode 16 beta and macOS 15 (Sequoia) Beta
Description
I found some issues with Xcode 16 beta and macOS 15 (Sequoia) Beta.
TestRubyOptions
and TestVMDump
are failed with them.
full log: https://gist.github.com/hsbt/378fe2ba47e734f2562ba9a154e1795b
I'm not sure why macOS require sudo
command for that.
And I and @katei (Yuta Saito) also found the regression of https://bugs.ruby-lang.org/issues/18912#note-15.
>> pid = fork { p File.realpath "/" }
>> Process.waitpid(pid)
objc[82573]: +[NSPlaceholderMutableString initialize] may have been in progress in another thread when fork() was called.
objc[82573]: +[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.
=> 82573
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
I also found build failure of oj-introspect.
https://github.com/meinac/oj-introspect/blob/master/ext/oj-introspect/extconf.rb#L17
$DLDFLAGS << " -Wl,-U,#{sym.strip}"
This line is broken with Xcode 16 beta.
linking shared-object oj/introspect/introspect_ext.bundle
ld: -undefined dynamic_lookup cannot be used with -U
clang: error: linker command failed with exit code 1 (use -v to see invocation)
BTW, this is not ruby/ruby
issue.
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
I skipped crashed tests at https://github.com/ruby/ruby/pull/11155
These are caused by Process.daemon
and Process.kill(:SEGV, ...)
.
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
- Status changed from Open to Assigned
- Assignee set to hsbt (Hiroshi SHIBATA)
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
- Related to Bug #19831: warning message of linker with macOS Sonoma beta added
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
- Related to Bug #19794: Ruby 3.2.2 fails to build on macOS Sonoma betas added
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
- Related to Bug #18912: Build failure with Xcode 14 and macOS 13 (Ventura) Beta added
Updated by hsbt (Hiroshi SHIBATA) 5 months ago
Xcode 16 beta 4 fixed the following issue.
This line is broken with Xcode 16 beta.
linking shared-object oj/introspect/introspect_ext.bundle
ld: -undefined dynamic_lookup cannot be used with -U
clang: error: linker command failed with exit code 1 (use -v to see invocation)
The detailed version is here:
$ pkgutil --pkg-info=com.apple.pkg.CLTools_Executables
package-id: com.apple.pkg.CLTools_Executables
version: 16.0.0.0.1.1721279336
volume: /
location: /
install-time: 1722244152
Updated by hsbt (Hiroshi SHIBATA) 3 months ago
The following case is resolved at Xcode CLI RC and macOS 15.1 beta3
pid = fork { p File.realpath "/" }
Process.waitpid(pid)
Updated by hsbt (Hiroshi SHIBATA) 3 months ago
Process.daemon
is working fine at macOS 15.1 beta3 and Xcode 16 RC.
I enabled TestProcess#test_daemon_noclose
again at https://github.com/ruby/ruby/commit/1ecac5d4ed620247bdb74fa2c20e1665fae75b1a
Updated by nobu (Nobuyoshi Nakada) 3 months ago
- Has duplicate Bug #20758: Build failure with macOS Sequoia (15.0) and Xcode 16 added
Updated by nobu (Nobuyoshi Nakada) 3 months ago
The Xcode version had no effect on this.
In fact, the same error appeared on macOS 15.0 for binaries built with either 16 RC or earlier versions.
Upgrading to macOS 15.1 beta (24B5046f) made the error go away.
Updated by katei (Yuta Saito) 2 months ago
- Status changed from Assigned to Closed
Applied in changeset git|c77f0b91342935f661c6e5ba0f6f5c19427da174.
[Bug #20631] Workaround for macOS 15.0 fork crash
macOS 15.0 24A5331b seems to have a weird issue that
CFStringCreateWithBytesNoCopy
does not return NSTaggedPointerString
instance for the first call. This issue is fixed in macOS 15.1 but we
need to workaround it for macOS 15.0.
Updated by hsbt (Hiroshi SHIBATA) 2 months ago
- Status changed from Closed to Assigned