Crash report
What happened?
This year's Apple OS releases (macOS/iOS/tvOS/watchOS/visionOS 27) add support for dup3() and pipe2(). When building for macOS using Xcode 27 beta but running on macOS 26, configure detects these functions, but Python crashes when it tries to use them. As a temporary fix, I'm passing ac_cv_func_dup3=no ac_cv_func_pipe2=no to configure. The real fix will be to use availability checks in Modules/posixmodule.c for dup3() and pipe2(), like gh-97897 does
Prototypes added to sys/unistd.h in the *27 SDK:
__API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), watchos(27.0), visionos(27.0))
int dup3(int, int, int);
__API_AVAILABLE(macos(27.0), ios(27.0), tvos(27.0), watchos(27.0), visionos(27.0))
int pipe2(int [2], int);
CPython versions tested on:
3.13
Operating systems tested on:
macOS
Output from running 'python -VV' on the command line:
No response
Linked PRs
- gh-153711: Guard dup3/pipe2 with __builtin_available on Apple platforms #154718
- gh-153711: Add runtime guards for dup3 & pipe2 #155174
- [3.15] gh-153711: Add runtime guards for dup3 & pipe2 (GH-155174) #155202
- [3.14] gh-153711: Avoid use of dup3 and pipe2 calls introduced in macOS 27 #155206
- [3.13] gh-153711: Avoid use of dup3 and pipe2 calls introduced in macOS 27 #155211
- gh-153711: Test availability for dup3() and pipe2() on iOS #155222