A build failure occurs in Modules/posixmodule.c when compiling CPython from the main branch using Clang with ThreadSanitizer and the --disable-gil flag.
The compilation fails with two distinct types of errors:
The compiler reports that the statx struct has no member named stx_atomic_write_unit_max_opt. This error originates from the MM macro expansion within the pystatx_result_members definition.
Subsequently, multiple errors are reported for an invalid application of sizeof to an incomplete type PyMemberDef[]. This happens when the Py_ARRAY_LENGTH macro is used on pystatx_result_members, indicating that the array's definition was not completed due to the initial error.
This suggests that the feature detection or conditional compilation logic for the stx_atomic_write_unit_max_opt member is not functioning correctly under this specific build configuration.
changed the title [-]Build Failure: `posixmodule.c` fails to compile with clang due to missing `stx_atomic_write_unit_max_opt` and subsequent `sizeof` error on incomplete type.[/-][+]Build Failure in posixmodule.c with Clang, ThreadSanitizer, and free-threaded build enabled[/+]on Oct 15, 2025
Activity
colesbury commented on Oct 15, 2025
Likely related to:
ashm-dev commented on Oct 15, 2025
@colesbury Yes, you're right, after that PR broke the build.
colesbury commented on Oct 15, 2025
Ok, going to mark this as a duplicate as there is a PR out from @vstinner to fix this