Skip to content

work around linux not honoring write_at for O_APPEND files #143166

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

the8472
Copy link
Member

@the8472 the8472 commented Jun 28, 2025

the workaround only applies on kernels >= 6.9

fixes #140867

@rustbot
Copy link
Collaborator

rustbot commented Jun 28, 2025

r? @thomcc

rustbot has assigned @thomcc.
They will have a look at your PR within the next two weeks and either review your PR or reassign to another reviewer.

Use r? to explicitly pick a reviewer

@rustbot rustbot added O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Jun 28, 2025
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from b6ebbf6 to 8b87324 Compare June 29, 2025 14:48
@rust-log-analyzer

This comment has been minimized.

@the8472
Copy link
Member Author

the8472 commented Jun 29, 2025

Weird, the kernel should be new enough.

@the8472 the8472 force-pushed the fix-write-at-append branch from 8b87324 to bd44b22 Compare June 30, 2025 21:59
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from bd44b22 to 9e75dad Compare June 30, 2025 22:27
@rustbot rustbot added A-testsuite Area: The testsuite used to check the correctness of rustc T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. labels Jun 30, 2025
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from 9e75dad to 0d89239 Compare June 30, 2025 23:05
@rust-log-analyzer

This comment has been minimized.

@bors
Copy link
Collaborator

bors commented Jul 3, 2025

☔ The latest upstream changes (presumably #143294) made this pull request unmergeable. Please resolve the merge conflicts.

@the8472 the8472 force-pushed the fix-write-at-append branch from 0d89239 to 23ca6f2 Compare July 5, 2025 11:26
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from 23ca6f2 to 614bbb8 Compare July 5, 2025 11:35
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from 614bbb8 to f23f736 Compare July 5, 2025 12:02
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from f23f736 to e8c7701 Compare July 5, 2025 12:22
@rust-log-analyzer

This comment has been minimized.

@the8472 the8472 force-pushed the fix-write-at-append branch from e8c7701 to 9b85793 Compare July 5, 2025 12:30
@the8472 the8472 force-pushed the fix-write-at-append branch from 9b85793 to 705d195 Compare July 5, 2025 12:51
@rust-log-analyzer
Copy link
Collaborator

The job pr-check-2 failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
  CACHE_DOMAIN: ci-caches.rust-lang.org
  PR_CI_JOB: 1
  IMAGE: pr-check-2
##[endgroup]
Linux fv-az2251-742 6.11.0-1015-azure #15~24.04.1-Ubuntu SMP Thu May  1 02:52:08 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux
##[group]Run src/ci/scripts/collect-cpu-stats.sh
src/ci/scripts/collect-cpu-stats.sh
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
COPY scripts/sccache.sh /scripts/
RUN sh /scripts/sccache.sh

ENV SCRIPT \
        ldd --version && \
        python3 ../x.py test --stage 1 std -- "write_at" || \
        strace -ffe write,pwritev2,pwrite64,pwritev python3 ../x.py test --stage 1 std -- "write_at"
#!/bin/sh

# ignore-tidy-linelength

set -ex
---
DirectMap4k:      126912 kB
DirectMap2M:     6164480 kB
DirectMap1G:    12582912 kB
##[endgroup]
Executing ldd --version &&         python3 ../x.py test --stage 1 std -- write_at ||         strace -ffe write,pwritev2,pwrite64,pwritev python3 ../x.py test --stage 1 std -- write_at
+ ldd --version
ldd (Ubuntu GLIBC 2.35-0ubuntu3.10) 2.35
Copyright (C) 2022 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Roland McGrath and Ulrich Drepper.
+ python3 ../x.py test --stage 1 std -- write_at
##[group]Building bootstrap
    Finished `dev` profile [unoptimized] target(s) in 0.05s
##[endgroup]
downloading https://static.rust-lang.org/dist/2025-06-24/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/2025-06-24/rustfmt-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/rustfmt
---
failures:

---- fs::tests::file_test_append_write_at stdout ----

thread 'fs::tests::file_test_append_write_at' panicked at library/std/src/fs/tests.rs:510:5:
assertion `left == right` failed
  left: "it\'s not working!   "
 right: "it\'s     working!"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace


failures:
    fs::tests::file_test_append_write_at

test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 599 filtered out; finished in 657.35µs

error: test failed, to rerun pass `-p std --lib`
Build completed unsuccessfully in 0:08:06
+ strace -ffe write,pwritev2,pwrite64,pwritev python3 ../x.py test --stage 1 std -- write_at
strace: Process 14093 attached
[pid 14093] write(1, "Linux x86_64 x86_64\n", 20) = 20
[pid 14093] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14093, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14094 attached
[pid 14094] write(1, "GNU/Linux\n", 10) = 10
[pid 14094] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14094, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14095 attached
[pid 14095] write(1, "fd9ca711a3a0e2bd5bd33a345fa44393"..., 41) = 41
[pid 14095] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14095, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
##[group]Building bootstrap
write(1, "::group::Building bootstrap\n", 28) = 28
strace: Process 14096 attached
[pid 14096] pwrite64(9, "\0\0\0\0\0\0\0\0\0\0\0\0\211\337\207\305\0\0\0\31\0\0\2\0\0\0\20\0\0\0\0\0"..., 512, 0) = 512
[pid 14096] pwrite64(9, "\0\0\0\17", 4, 512) = 4
[pid 14096] pwrite64(9, "\r\0\0\0l\0\361\0\17\333\17\271\17\230\17z\17T\0174\17\26\16\370\16\332\16\270\16\226\16w"..., 4096, 516) = 4096
[pid 14096] pwrite64(9, "\211\337\214\316", 4, 4612) = 4
[pid 14096] pwrite64(9, "\0\0\0\24", 4, 4616) = 4
[pid 14096] pwrite64(9, "\r\0\0\0\202\1\35\0\17\336\17\272\17\230\17u\17\\\17@\17&\17\v\16\363\16\333\16\301\16\246"..., 4096, 4620) = 4096
[pid 14096] pwrite64(9, "\211\337\214N", 4, 8716) = 4
[pid 14096] pwrite64(9, "\0\0\0\1", 4, 8720) = 4
[pid 14096] pwrite64(9, "SQLite format 3\0\20\0\1\1\0@  \0\0\0\v\0\0\0\31"..., 4096, 8724) = 4096
[pid 14096] pwrite64(9, "\211\337\212(", 4, 12820) = 4
[pid 14096] pwrite64(9, "\331\325\5\371 \241c\327\0\0\0\3", 12, 0) = 12
[pid 14096] pwrite64(6, "SQLite format 3\0\20\0\1\1\0@  \0\0\0\f\0\0\0\31"..., 4096, 0) = 4096
[pid 14096] pwrite64(6, "\r\0\0\0l\0\361\0\17\333\17\271\17\230\17z\17T\0174\17\26\16\370\16\332\16\270\16\226\16w"..., 4096, 57344) = 4096
[pid 14096] pwrite64(6, "\r\0\0\0\202\1\35\0\17\336\17\272\17\230\17u\17\\\17@\17&\17\v\16\363\16\333\16\301\16\246"..., 4096, 77824) = 4096
[pid 14096] write(9, "||||", 4)         = 4
strace: Process 14097 attached
[pid 14096] write(2, "    Finished", 12    Finished) = 12
[pid 14096] write(2, " `dev` profile [unoptimized] tar"..., 48 `dev` profile [unoptimized] target(s) in 0.25s
) = 48
[pid 14096] write(9, "|", 1)            = 1
[pid 14096] write(9, "|", 1)            = 1
[pid 14096] write(9, "|", 1)            = 1
[pid 14097] --- SIGUSR1 {si_signo=SIGUSR1, si_code=SI_TKILL, si_pid=14096, si_uid=1001} ---
[pid 14097] write(9, "|", 1)            = 1
[pid 14097] write(9, "|", 1)            = 1
[pid 14097] write(9, "|", 1)            = 1
[pid 14097] +++ exited with 0 +++
[pid 14096] write(12, "/checkout/obj/build/bootstrap/de"..., 3580) = 3580
[pid 14096] write(12, "/checkout/obj/build/bootstrap/de"..., 3612) = 3612
[pid 14096] write(12, "/checkout/obj/build/bootstrap/de"..., 3662) = 3662
[pid 14096] write(12, "/checkout/obj/build/bootstrap/de"..., 3613) = 3613
[pid 14096] +++ exited with 0 +++
--- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14096, si_uid=1001, si_status=0, si_utime=3, si_stime=7} ---
write(1, "::endgroup::\n", 13)          = 13
##[endgroup]
strace: Process 14098 attached
strace: Process 14099 attached
[pid 14099] write(1, "../\n", 4)        = 4
[pid 14099] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14099, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14100 attached
[pid 14100] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14100, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14101 attached
strace: Process 14102 attached
strace: Process 14103 attached
[pid 14101] write(1, "2025-07-05", 10)  = 10
[pid 14101] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14101, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14102] write(1, "af116d1d46fbfa7e9b73c93c1bc8467d"..., 41) = 41
[pid 14102] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14102, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14103] write(1, "af116d1d4\n", 10) = 10
[pid 14103] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14103, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14104 attached
strace: Process 14105 attached
[pid 14104] write(6, "||||||||||||||||||||||||||||||||", 32) = 32
strace: Process 14106 attached
strace: Process 14107 attached
[pid 14106] write(1, "/checkout/obj/build/x86_64-unkno"..., 52) = 52
[pid 14106] +++ exited with 0 +++
[pid 14107] +++ exited with 0 +++
[pid 14105] +++ exited with 0 +++
[pid 14104] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14104, si_uid=1001, si_status=0, si_utime=0, si_stime=2} ---
strace: Process 14108 attached
[pid 14108] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14108, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14109 attached
strace: Process 14110 attached
strace: Process 14111 attached
[pid 14109] write(1, "2025-06-28", 10)  = 10
[pid 14109] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14109, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14110] write(1, "930b4f62cfcd1f0eabdb30a56d91bf68"..., 41) = 41
[pid 14110] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14110, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14111] write(1, "930b4f62c\n", 10) = 10
[pid 14111] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14111, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14112 attached
[pid 14112] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14112, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14113 attached
strace: Process 14114 attached
strace: Process 14115 attached
[pid 14113] write(1, "2025-06-23", 10)  = 10
[pid 14113] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14113, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14114] write(1, "b5098d515d5e1bd0f5470553bc0d18da"..., 41) = 41
[pid 14114] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14114, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14115] write(1, "b5098d515\n", 10) = 10
[pid 14115] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14115, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14116 attached
[pid 14116] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14116, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14117 attached
strace: Process 14118 attached
strace: Process 14119 attached
[pid 14117] write(1, "2025-06-13", 10)  = 10
[pid 14117] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14117, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14118] write(1, "ed6566573eb21b00a3f87815e14ff766"..., 41) = 41
[pid 14118] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14118, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14119] write(1, "ed6566573\n", 10) = 10
[pid 14119] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14119, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14120 attached
[pid 14120] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14120, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14121 attached
strace: Process 14122 attached
strace: Process 14123 attached
[pid 14121] write(1, "2025-04-30", 10)  = 10
[pid 14121] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14121, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14122] write(1, "04ce66d8c918de9273bd7101638ad872"..., 41) = 41
[pid 14122] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14122, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14123] write(1, "04ce66d8c\n", 10) = 10
[pid 14123] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14123, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14124 attached
[pid 14124] write(1, "fd9ca711a3a0e2bd5bd33a345fa44393"..., 41) = 41
[pid 14124] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14124, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14125 attached
strace: Process 14126 attached
strace: Process 14127 attached
[pid 14126] +++ exited with 0 +++
strace: Process 14128 attached
strace: Process 14129 attached
[pid 14128] +++ exited with 0 +++
[pid 14129] +++ exited with 0 +++
[pid 14127] +++ exited with 0 +++
strace: Process 14130 attached
strace: Process 14131 attached
[pid 14130] +++ exited with 0 +++
strace: Process 14132 attached
[pid 14131] +++ exited with 0 +++
[pid 14132] +++ exited with 0 +++
strace: Process 14133 attached
strace: Process 14134 attached
[pid 14133] +++ exited with 0 +++
strace: Process 14135 attached
[pid 14134] +++ exited with 0 +++
strace: Process 14136 attached
[pid 14135] +++ exited with 0 +++
strace: Process 14137 attached
[pid 14136] +++ exited with 0 +++
strace: Process 14138 attached
[pid 14137] +++ exited with 0 +++
[pid 14138] +++ exited with 0 +++
strace: Process 14139 attached
strace: Process 14140 attached
[pid 14139] +++ exited with 0 +++
strace: Process 14141 attached
[pid 14140] +++ exited with 0 +++
strace: Process 14142 attached
[pid 14141] +++ exited with 0 +++
strace: Process 14143 attached
[pid 14142] +++ exited with 0 +++
strace: Process 14144 attached
[pid 14143] +++ exited with 0 +++
strace: Process 14145 attached
[pid 14144] +++ exited with 0 +++
[pid 14145] +++ exited with 0 +++
strace: Process 14146 attached
strace: Process 14147 attached
strace: Process 14148 attached
strace: Process 14149 attached
strace: Process 14150 attached
strace: Process 14151 attached
strace: Process 14152 attached
strace: Process 14153 attached
strace: Process 14154 attached
strace: Process 14155 attached
strace: Process 14156 attached
strace: Process 14157 attached
strace: Process 14158 attached
strace: Process 14159 attached
strace: Process 14160 attached
strace: Process 14161 attached
strace: Process 14162 attached
strace: Process 14163 attached
strace: Process 14164 attached
strace: Process 14165 attached
strace: Process 14166 attached
[pid 14158] +++ exited with 0 +++
[pid 14160] +++ exited with 0 +++
[pid 14159] +++ exited with 0 +++
[pid 14161] +++ exited with 0 +++
[pid 14162] +++ exited with 0 +++
[pid 14163] +++ exited with 0 +++
[pid 14157] +++ exited with 0 +++
[pid 14152] +++ exited with 0 +++
[pid 14151] +++ exited with 0 +++
[pid 14148] +++ exited with 0 +++
[pid 14164] +++ exited with 0 +++
[pid 14150] +++ exited with 0 +++
[pid 14147] +++ exited with 0 +++
[pid 14155] +++ exited with 0 +++
[pid 14166] +++ exited with 0 +++
[pid 14153] +++ exited with 0 +++
[pid 14156] +++ exited with 0 +++
[pid 14154] +++ exited with 0 +++
[pid 14165] +++ exited with 0 +++
[pid 14149] +++ exited with 0 +++
[pid 14146] +++ exited with 0 +++
[pid 14125] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14146, si_uid=1001, si_status=0, si_utime=17, si_stime=215} ---
[pid 14125] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14125, si_uid=1001, si_status=0, si_utime=0, si_stime=1} ---
[pid 14098] write(3, "14098", 5)        = 5
strace: Process 14167 attached
strace: Process 14168 attached
[pid 14167] write(6, "||||||||||||||||||||||||||||||||", 32) = 32
strace: Process 14169 attached
strace: Process 14170 attached
[pid 14169] write(1, "/checkout/obj/build/x86_64-unkno"..., 93) = 93
[pid 14169] +++ exited with 0 +++
[pid 14170] +++ exited with 0 +++
[pid 14168] +++ exited with 0 +++
[pid 14167] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14167, si_uid=1001, si_status=0, si_utime=0, si_stime=1} ---
strace: Process 14171 attached
strace: Process 14172 attached
[pid 14171] write(1, "rustc 1.89.0-beta.1 (390a0ab5d 2"..., 43) = 43
[pid 14171] write(1, "binary: rustc\n", 14) = 14
[pid 14171] write(1, "commit-hash: 390a0ab5dc4a895235a"..., 54) = 54
[pid 14171] write(1, "commit-date: 2025-06-23\n", 24) = 24
[pid 14171] write(1, "host: x86_64-unknown-linux-gnu\n", 31) = 31
[pid 14171] write(1, "release: 1.89.0-beta.1\n", 23) = 23
[pid 14171] write(1, "LLVM version: 20.1.7\n", 21) = 21
[pid 14172] +++ exited with 0 +++
[pid 14171] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14171, si_uid=1001, si_status=0, si_utime=0, si_stime=1} ---
[pid 14098] write(4, "#ifdef __clang__\n#pragma message"..., 206) = 206
strace: Process 14173 attached
strace: Process 14174 attached
[pid 14174] write(1, "# 0 \"/tmp/15818296013513663150de"..., 304) = 304
[pid 14174] +++ exited with 0 +++
[pid 14173] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14174, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14173] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14173, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14175 attached
[pid 14175] write(2, "cc: error: unrecognized command-"..., 53) = 53
[pid 14175] write(2, "cc: fatal error: no input files\n", 32) = 32
[pid 14175] write(2, "compilation terminated.\n", 24) = 24
[pid 14175] +++ exited with 1 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14175, si_uid=1001, si_status=1, si_utime=0, si_stime=0} ---
[pid 14098] write(4, "#ifdef __clang__\n#pragma message"..., 206) = 206
strace: Process 14176 attached
strace: Process 14177 attached
[pid 14177] write(1, "# 0 \"/tmp/17034492984951169818de"..., 304) = 304
[pid 14177] +++ exited with 0 +++
[pid 14176] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14177, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14176] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14176, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
strace: Process 14178 attached
[pid 14178] write(2, "c++: error: unrecognized command"..., 54) = 54
[pid 14178] write(2, "c++: fatal error: no input files"..., 33) = 33
[pid 14178] write(2, "compilation terminated.\n", 24) = 24
[pid 14178] +++ exited with 1 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14178, si_uid=1001, si_status=1, si_utime=0, si_stime=0} ---
strace: Process 14179 attached
[pid 14179] write(1, "libstdc++ version: 11\n", 22) = 22
[pid 14179] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14179, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14098] write(1, "[TIMING] core::build_steps::tool"..., 98[TIMING] core::build_steps::tool::LibcxxVersionTool { target: x86_64-unknown-linux-gnu } -- 0.008
) = 98
strace: Process 14180 attached
strace: Process 14181 attached
[pid 14180] write(6, "||||||||||||||||||||||||||||||||", 32) = 32
strace: Process 14182 attached
strace: Process 14183 attached
[pid 14182] write(1, "aarch64-apple-darwin\naarch64-app"..., 7004) = 7004
[pid 14182] +++ exited with 0 +++
[pid 14183] +++ exited with 0 +++
[pid 14181] +++ exited with 0 +++
[pid 14180] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14180, si_uid=1001, si_status=0, si_utime=0, si_stime=2} ---
strace: Process 14184 attached
[pid 14184] write(1, "{\"packages\":[{\"name\":\"rustc-main"..., 389850) = 389850
[pid 14184] write(1, "\n", 1)           = 1
[pid 14184] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14184, si_uid=1001, si_status=0, si_utime=2, si_stime=3} ---
strace: Process 14185 attached
[pid 14185] write(1, "{\"packages\":[{\"name\":\"std\",\"vers"..., 33762) = 33762
[pid 14185] write(1, "\n", 1)           = 1
[pid 14185] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14185, si_uid=1001, si_status=0, si_utime=1, si_stime=0} ---
[pid 14098] write(1, "[TIMING] core::build_steps::comp"..., 170) = 170
[TIMING] core::build_steps::compile::Sysroot { compiler: Compiler { stage: 1, host: x86_64-unknown-linux-gnu, forced_compiler: false }, force_recompile: false } -- 0.005
[pid 14098] write(1, "[TIMING] core::builder::Libdir {"..., 166) = 166
[TIMING] core::builder::Libdir { compiler: Compiler { stage: 1, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu } -- 0.000
strace: Process 14186 attached
[pid 14186] write(1, "20.1.7-rust-1.90.0-nightly\n", 27) = 27
[pid 14186] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14186, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14098] write(1, "[TIMING] core::build_steps::llvm"..., 85[TIMING] core::build_steps::llvm::Llvm { target: x86_64-unknown-linux-gnu } -- 0.014
) = 85
strace: Process 14187 attached
[pid 14187] write(1, "/checkout/obj/build/x86_64-unkno"..., 57) = 57
[pid 14187] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14187, si_uid=1001, si_status=0, si_utime=0, si_stime=0} ---
[pid 14098] write(2, "/checkout/obj/build/x86_64-unkno"..., 67/checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm/bin/llvm-strip) = 67
[pid 14098] write(2, " does not exist; skipping copy\n", 31 does not exist; skipping copy
) = 31
[pid 14098] write(1, "[TIMING] core::build_steps::comp"..., 154) = 154
[TIMING] core::build_steps::compile::Assemble { target_compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false } } -- 0.000
strace: Process 14188 attached
[pid 14188] write(1, "/checkout/obj/build/x86_64-unkno"..., 91) = 91
[pid 14188] +++ exited with 0 +++
[pid 14098] --- SIGCHLD {si_signo=SIGCHLD, si_code=CLD_EXITED, si_pid=14188, si_uid=1001, si_status=0, si_utime=0, si_stime=1} ---
[pid 14098] write(4, "INPUT(", 6)       = 6
[pid 14098] write(4, "libLLVM.so.20.1-rust-1.90.0-nigh"..., 35) = 35
[pid 14098] write(4, ")\n", 2)          = 2
[TIMING] core::build_steps::compile::Sysroot { compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, force_recompile: false } -- 0.032
[pid 14098] write(1, "[TIMING] core::build_steps::comp"..., 170) = 170
[pid 14098] write(4, "INPUT(", 6)       = 6
[pid 14098] write(4, "libLLVM.so.20.1-rust-1.90.0-nigh"..., 35) = 35
[pid 14098] write(4, ")\n", 2)          = 2
[TIMING] core::builder::Libdir { compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu } -- 0.004
[pid 14098] write(1, "[TIMING] core::builder::Libdir {"..., 166) = 166
[pid 14098] write(1, "[TIMING] core::build_steps::comp"..., 312) = 312
[TIMING] core::build_steps::compile::StdLink { compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target_compiler: Compiler { stage: 0, host: x86_64-unknown-linux-gnu, forced_compiler: false }, target: x86_64-unknown-linux-gnu, crates: [], force_recompile: false } -- 0.013
[pid 14098] write(1, "::group::Building compiler artif"..., 82) = 82
##[group]Building compiler artifacts (stage0 -> stage1, x86_64-unknown-linux-gnu)
strace: Process 14189 attached
[pid 14189] pwrite64(9, "\0\0\0\0\0\0\0\0\0\0\0\0\v\356\311T\0\0\0\31\0\0\2\0\0\0\20\0\0\0\0\0"..., 512, 0) = 512
[pid 14189] pwrite64(9, "\0\0\0\20", 4, 512) = 4
[pid 14189] pwrite64(9, "\r\0\0\0i\1\10\0\17\341\17\272\17\224\17q\17P\17)\17\n\16\351\16\277\16\224\16p\16L"..., 4096, 516) = 4096
[pid 14189] pwrite64(9, "\v\356\317\301", 4, 4612) = 4
[pid 14189] pwrite64(9, "\0\0\0\17", 4, 4616) = 4
[pid 14189] pwrite64(9, "\r\0\0\0l\0\361\0\17\333\17\271\17\230\17z\17T\0174\17\26\16\370\16\332\16\270\16\226\16w"..., 4096, 4620) = 4096
[pid 14189] pwrite64(9, "\v\356\316]", 4, 8716) = 4
[pid 14189] pwrite64(9, "\0\0\0\23", 4, 8720) = 4
[pid 14189] pwrite64(9, "\r\0\0\0`\1s\0\17\317\17\255\17\212\17i\17B\17!\16\372\16\305\16\232\16z\16X\0164"..., 4096, 8724) = 4096
[pid 14189] pwrite64(9, "\v\356\317\204", 4, 12820) = 4
[pid 14189] pwrite64(9, "\0\0\0\24", 4, 12824) = 4
[pid 14189] pwrite64(9, "\r\0\0\0\202\1\35\0\17\336\17\272\17\230\17u\17\\\17@\17&\17\v\16\363\16\333\16\301\16\246"..., 4096, 12828) = 4096
[pid 14189] pwrite64(9, "\v\356\315\336", 4, 16924) = 4
[pid 14189] pwrite64(9, "\0\0\0\25", 4, 16928) = 4
[pid 14189] pwrite64(9, "\r\0\0\0v\1\3\0\17\336\17\271\17\231\17z\17W\0177\17\34\17\0\16\347\16\301\16\250\16\206"..., 4096, 16932) = 4096
[pid 14189] pwrite64(9, "\v\356\316\346", 4, 21028) = 4
[pid 14189] pwrite64(9, "\0\0\0\1", 4, 21032) = 4
[pid 14189] pwrite64(9, "SQLite format 3\0\20\0\1\1\0@  \0\0\0\f\0\0\0\31"..., 4096, 21036) = 4096
[pid 14189] pwrite64(9, "\v\356\313\267", 4, 25132) = 4
[pid 14189] pwrite64(9, "\331\325\5\371 \241c\327\0\0\0\6", 12, 0) = 12
[pid 14189] pwrite64(6, "SQLite format 3\0\20\0\1\1\0@  \0\0\0\r\0\0\0\31"..., 4096, 0) = 4096
[pid 14189] pwrite64(6, "\r\0\0\0l\0\361\0\17\333\17\271\17\230\17z\17T\0174\17\26\16\370\16\332\16\270\16\226\16w"..., 4096, 57344) = 4096
[pid 14189] pwrite64(6, "\r\0\0\0i\1\10\0\17\341\17\272\17\224\17q\17P\17)\17\n\16\351\16\277\16\224\16p\16L"..., 4096, 61440) = 4096
[pid 14189] pwrite64(6, "\r\0\0\0`\1s\0\17\317\17\255\17\212\17i\17B\17!\16\372\16\305\16\232\16z\16X\0164"..., 4096, 73728) = 4096
[pid 14189] pwrite64(6, "\r\0\0\0\202\1\35\0\17\336\17\272\17\230\17u\17\\\17@\17&\17\v\16\363\16\333\16\301\16\246"..., 4096, 77824) = 4096
[pid 14189] pwrite64(6, "\r\0\0\0v\1\3\0\17\336\17\271\17\231\17z\17W\0177\17\34\17\0\16\347\16\301\16\250\16\206"..., 4096, 81920) = 4096
[pid 14189] write(9, "||||", 4)         = 4
strace: Process 14190 attached
[pid 14189] write(2, "[RUSTC-TIMING] build_script_buil"..., 50[RUSTC-TIMING] build_script_build test:false 0.200) = 50
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 762) = 762
[pid 14189] write(1, "{\"reason\":\"build-script-executed"..., 311) = 311
[pid 14189] write(2, "[RUSTC-TIMING] unicode_ident tes"..., 45[RUSTC-TIMING] unicode_ident test:false 0.053) = 45
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 834) = 834
[pid 14189] write(2, "[RUSTC-TIMING] cfg_if test:false"..., 38[RUSTC-TIMING] cfg_if test:false 0.026) = 38
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 839) = 839
[pid 14189] write(2, "[RUSTC-TIMING] build_script_buil"..., 50[RUSTC-TIMING] build_script_build test:false 0.215) = 50
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 745) = 745
[pid 14189] write(2, "[RUSTC-TIMING] proc_macro2 test:"..., 43[RUSTC-TIMING] proc_macro2 test:false 0.561) = 43
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 844) = 844
[pid 14189] write(1, "{\"reason\":\"build-script-executed"..., 340) = 340
[pid 14189] write(2, "[RUSTC-TIMING] memchr test:false"..., 38[RUSTC-TIMING] memchr test:false 1.231) = 38
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 862) = 862
[pid 14189] write(2, "[RUSTC-TIMING] shlex test:false "..., 37[RUSTC-TIMING] shlex test:false 0.117) = 37
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 798) = 798
[pid 14189] write(2, "[RUSTC-TIMING] quote test:false "..., 37[RUSTC-TIMING] quote test:false 0.248) = 37
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 808) = 808
[pid 14189] write(2, "[RUSTC-TIMING] libc test:false 1"..., 36[RUSTC-TIMING] libc test:false 1.661) = 36
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 863) = 863
[pid 14189] write(2, "[RUSTC-TIMING] cc test:false 1.1"..., 34[RUSTC-TIMING] cc test:false 1.133) = 34
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 768) = 768
[pid 14189] write(2, "[RUSTC-TIMING] stable_deref_trai"..., 50[RUSTC-TIMING] stable_deref_trait test:false 0.031) = 50
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 934) = 934
[pid 14189] write(2, "[RUSTC-TIMING] syn test:false 3."..., 35[RUSTC-TIMING] syn test:false 3.819) = 35
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 892) = 892
[pid 14189] write(2, "[RUSTC-TIMING] smallvec test:fal"..., 40[RUSTC-TIMING] smallvec test:false 0.217) = 40
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 891) = 891
[pid 14189] write(2, "[RUSTC-TIMING] bitflags test:fal"..., 40[RUSTC-TIMING] bitflags test:false 0.337) = 40
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 856) = 856
[pid 14189] write(2, "[RUSTC-TIMING] foldhash test:fal"..., 40[RUSTC-TIMING] foldhash test:false 0.146) = 40
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 851) = 851
[pid 14189] write(2, "[RUSTC-TIMING] synstructure test"..., 44[RUSTC-TIMING] synstructure test:false 0.412) = 44
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 850) = 850
[pid 14189] write(2, "[RUSTC-TIMING] displaydoc test:f"..., 42[RUSTC-TIMING] displaydoc test:false 0.670) = 42
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 715) = 715
[pid 14189] write(2, "[RUSTC-TIMING] equivalent test:f"..., 42[RUSTC-TIMING] equivalent test:false 0.045) = 42
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 863) = 863
[pid 14189] write(2, "[RUSTC-TIMING] allocator_api2 te"..., 46[RUSTC-TIMING] allocator_api2 test:false 0.357) = 46
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 897) = 897
[pid 14189] write(2, "[RUSTC-TIMING] once_cell test:fa"..., 41[RUSTC-TIMING] once_cell test:false 0.165) = 41
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 890) = 890
[pid 14189] write(2, "[RUSTC-TIMING] hashbrown test:fa"..., 41[RUSTC-TIMING] hashbrown test:false 0.698) = 41
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 952) = 952
[pid 14189] write(2, "[RUSTC-TIMING] build_script_buil"..., 50[RUSTC-TIMING] build_script_build test:false 0.239) = 50
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 734) = 734
[pid 14189] write(2, "[RUSTC-TIMING] autocfg test:fals"..., 39[RUSTC-TIMING] autocfg test:false 0.231) = 39
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 795) = 795
[pid 14189] write(2, "[RUSTC-TIMING] indexmap test:fal"..., 40[RUSTC-TIMING] indexmap test:false 0.754) = 40
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 869) = 869
[pid 14189] write(2, "[RUSTC-TIMING] build_script_buil"..., 50[RUSTC-TIMING] build_script_build test:false 0.196) = 50
[pid 14189] write(2, "\n", 1
)           = 1
[pid 14189] write(1, "{\"reason\":\"compiler-artifact\",\"p"..., 752) = 752
[pid 14189] write(1, "{\"reason\":\"build-script-executed"..., 314) = 314
[pid 14189] write(2, "[RUSTC-TIMING] build_script_buil"..., 50[RUSTC-TIMING] build_script_build test:false 0.256) = 50
[pid 14189] write(2, "\n", 1

@the8472
Copy link
Member Author

the8472 commented Jul 5, 2025

At this point I'm fairly sure this is a kernel bug in the runner. Tests pass locally, the pwritev2 also happens in CI and doesn't return an error, meaning the flag should be supported.

Filed actions/runner-images#12530

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-testsuite Area: The testsuite used to check the correctness of rustc O-unix Operating system: Unix-like S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-infra Relevant to the infrastructure team, which will review and decide on the PR/issue. T-libs Relevant to the library team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Issue with write_all_at on GitHub Action
5 participants