rust
rust copied to clipboard
Print a backtrace in const eval if interrupted
Demo:
#![feature(const_eval_limit)]
#![const_eval_limit = "0"]
const OW: u64 = {
let mut res: u64 = 0;
let mut i = 0;
while i < u64::MAX {
res = res.wrapping_add(i);
i += 1;
}
res
};
fn main() {
println!("{}", OW);
}
╭ ➜ ben@archlinux:~/rust
╰ ➤ rustc +stage1 spin.rs
^Cerror[E0080]: evaluation of constant value failed
--> spin.rs:8:33
|
8 | res = res.wrapping_add(i);
| ^ Compilation was interrupted
note: erroneous constant used
--> spin.rs:15:20
|
15 | println!("{}", OW);
| ^^
note: erroneous constant used
--> spin.rs:15:20
|
15 | println!("{}", OW);
| ^^
|
= note: this note originates in the macro `$crate::format_args_nl` which comes from the expansion of the macro `println` (in Nightly builds, run with -Z macro-backtrace for more info)
error: aborting due to previous error
For more information about this error, try `rustc --explain E0080`.
r? @Mark-Simulacrum
(rustbot has picked a reviewer for you, use r? to override)
The job mingw-check-tidy
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v3' (SHA:8e5e7e5ab8b370d6c329ec480221332ada57f0ab)
Download action repository 'rust-lang/simpleinfra@master' (SHA:af9a3f1b7e12a54c737d8aa371acc8d05cb83a8f)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
CI_JOB_NAME: mingw-check-tidy
---
Building wheels for collected packages: reuse
Building wheel for reuse (pyproject.toml): started
Building wheel for reuse (pyproject.toml): finished with status 'done'
Created wheel for reuse: filename=reuse-1.1.0-cp310-cp310-manylinux_2_35_x86_64.whl size=180115 sha256=c3e1cf75e5aea7348ad201d16633573bc9f3aa58c8e29a6ca459f306300d6c9d
Stored in directory: /tmp/pip-ephem-wheel-cache-fo0eo9hg/wheels/c2/3c/b9/1120c2ab4bd82694f7e6f0537dc5b9a085c13e2c69a8d0c76d
Installing collected packages: boolean-py, binaryornot, setuptools, reuse, python-debian, markupsafe, license-expression, jinja2, chardet
Attempting uninstall: setuptools
Found existing installation: setuptools 59.6.0
Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
---
Successfully tagged rust-ci:latest
Built container sha256:ebaa728800b470c128c7a15ccd8a3f954b750afcffaa989e804b3f57970aed67
Uploading finished image to https://ci-caches.rust-lang.org/docker/e51156f19850ce886cec818e46dc2a021e0aa7c270d15673e8fe74cd8522fc8ac3995109aebb688ee49ed586735ed4cf5f8c06d44c48298fa09c35ae4b082281
<botocore.awsrequest.AWSRequest object at 0x7fd433cab910>
gzip: stdout: Broken pipe
xargs: docker: terminated by signal 13
[CI_JOB_NAME=mingw-check-tidy]
[CI_JOB_NAME=mingw-check-tidy]
---
##[endgroup]
fmt check
tidy check
tidy: Skipping binary file check, read-only filesystem
tidy error: Dependency for rustc not explicitly permitted: nix 0.26.2 (registry+https://github.com/rust-lang/crates.io-index)
tidy error: Dependency for rustc not explicitly permitted: ctrlc 3.2.5 (registry+https://github.com/rust-lang/crates.io-index)
tidy error: Dependency for rustc not explicitly permitted: windows-sys 0.45.0 (registry+https://github.com/rust-lang/crates.io-index)
some tidy checks failed
Yea, this is exactly what I wanted. Do any of the new deps have problematic licenses? Otherwise seems fine to just add them to the list of allowed crates.
ctrlc
is MIT or Apache-2.0, nix
is MIT. I'll try to spruce up the implementation then get this reviewed.
Jynn said Mark has previously been uncomfortable with signal handlers or atexit code, so I'd prefer Mark approve this before it goes in (got lucky with the random selection I suppose).
Some changes occurred to the CTFE / Miri engine
cc @rust-lang/miri
These commits modify the Cargo.lock
file. Unintentional changes to Cargo.lock
can be introduced when switching branches and rebasing PRs.
If this was unintentional then you should revert the changes before this PR is merged. Otherwise, you can ignore this comment.
Just so everyone follows along, we recently added a mechanism like this to Miri: https://github.com/rust-lang/miri/pull/2899
Since we ctrlc::set_hook
inside rustc_driver::main
, Miri should probably keep installing its own hook, but it might be nice to use the static inside rustc_*
. cc @RalfJung (ah duh the bot has pinged you already, well now you know I really care about you knowing :p )
Miri should probably keep installing its own hook, but it might be nice to use the static inside
rustc_*
.
You could do this change in this PR, subtrees ftw
You could do this change in this PR, subtrees ftw
We should first push Miri changes to rustc though or else we'll get conflicts.
:umbrella: The latest upstream changes (presumably #111867) made this pull request unmergeable. Please resolve the merge conflicts.
The Miri subtree was changed
cc @rust-lang/miri
r=me on the interpreter changes. Do we still need to get some approval for the new rustc dependencies?
:umbrella: The latest upstream changes (presumably #111933) made this pull request unmergeable. Please resolve the merge conflicts.
I'm happy to wait for @Mark-Simulacrum to swing by again and offer an opinion :)
@bors r=RalfJung
:pushpin: Commit 38a5fee3a0e31f9f9c072d8d9af1321e0bf6752a has been approved by RalfJung
It is now in the queue for this repository.
:hourglass: Testing commit 38a5fee3a0e31f9f9c072d8d9af1321e0bf6752a with merge 77596bfc2809cb9f84342f640a62526acfa0c5d6...
The job dist-x86_64-linux
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
[RUSTC-TIMING] rustc_mir_transform test:false 42.224
[RUSTC-TIMING] rustc_borrowck test:false 51.505
Compiling rustc_driver v0.0.0 (/checkout/compiler/rustc_driver)
[RUSTC-TIMING] rustc_driver test:false 0.872
error: linking with `clang` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/bin:/rustroot/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" VSLANG="1033" "clang" "-m64" "/tmp/rustciHaupB/symbols.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_main-d5f87974ca3cd937.rustc_main.c3a635eba3fdf826-cgu.0.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_main-d5f87974ca3cd937.rustc_main.c3a635eba3fdf826-cgu.1.rcgu.o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_main-d5f87974ca3cd937.rustc_main.c3a635eba3fdf826-cgu.2.rcgu.o" "-Wl,--as-needed" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/jemalloc-sys-64d0215787acb5c1/out/build/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/psm-2ed13b543d94c004/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/build/rustc_llvm-64b9b382d5308946/out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/lib" "-L" "/rustroot/bin/../lib/gcc/x86_64-pc-linux-gnu/8.5.0/../../../../lib64" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps" "-Wl,-Bdynamic" "-lrustc_driver-f83b9c887762aae7" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/libjemalloc_sys-79feb285234815a5.rlib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bdynamic" "-lstd-106733ad81280011" "-Wl,-Bstatic" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-2e806d9f1e9cb529.rlib" "-Wl,-Bdynamic" "-lLLVM-16-rust-1.72.0-nightly" "-ldl" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-sysroot/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/rustc_main-d5f87974ca3cd937" "-Wl,--gc-sections" "-pie" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-z,origin" "-Wl,-rpath,$ORIGIN/../lib" "-fuse-ld=lld" "-Wl,--icf=all"
= note: ld.lld: error: undefined reference due to --no-allow-shlib-undefined: memfd_create
>>> referenced by /checkout/obj/build/x86_64-unknown-linux-gnu/stage0-rustc/x86_64-unknown-linux-gnu/release/deps/librustc_driver-f83b9c887762aae7.so
clang-16: error: linker command failed with exit code 1 (use -v to see invocation)
[RUSTC-TIMING] rustc_main test:false 0.113
error: could not compile `rustc-main` (bin "rustc-main") due to previous error
Build completed unsuccessfully in 0:09:36
---
Total duration: 9m 36s
------------------------------------------------
root INFO: Free disk space: 511.18 GiB out of total 581.32 GiB (12.06% used)
Traceback (most recent call last):
File "../src/ci/stage-build.py", line 870, in <module>
run(runner)
File "../src/ci/stage-build.py", line 861, in run
raise e
File "../src/ci/stage-build.py", line 858, in run
execute_build_pipeline(timer, pipeline, runner, build_args)
File "../src/ci/stage-build.py", line 781, in execute_build_pipeline
LLVM_PROFILE_DIR=str(pipeline.llvm_profile_dir_root() / "prof-%p")
File "../src/ci/stage-build.py", line 608, in build_rustc
cmd(arguments, env=env)
File "../src/ci/stage-build.py", line 451, in cmd
return subprocess.run(args, env=environment, check=True)
File "/usr/lib64/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['/usr/bin/python3', '/checkout/x.py', 'build', '--target', 'x86_64-unknown-linux-gnu', '--host', 'x86_64-unknown-linux-gnu', '--stage', '2', 'library/std', '--llvm-profile-generate']' returned non-zero exit status 1.
:broken_heart: Test failed - checks-actions
I think I found the problem. There is a function in nix
which calls memfd_create
, which is a glibc function that was introduced after the glibc version that we use in dist builds.
Now, this PR doesn't actually use that function, but since we now depend on nix
in rustc_driver
which is a shared objects, we compile the function that contains a call to memfd_create
, add it to the shared object, don't realize it is dead, do the final link which forbids unresolved symbols, and the link fails.
Why the function in question is not proven to be dead and removed I have no idea, but I'm going to try merging patches upstream that add #[inline]
to it.
The job mingw-check-tidy
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v3' (SHA:8e5e7e5ab8b370d6c329ec480221332ada57f0ab)
Download action repository 'rust-lang/simpleinfra@master' (SHA:cdb59432ef9e018dd6db5879e720eccc3289da68)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
env:
CI_JOB_NAME: mingw-check-tidy
---
Building wheels for collected packages: reuse
Building wheel for reuse (pyproject.toml): started
Building wheel for reuse (pyproject.toml): finished with status 'done'
Created wheel for reuse: filename=reuse-1.1.0-cp310-cp310-manylinux_2_35_x86_64.whl size=180116 sha256=351235b2326fb4db7a18e257e13ce7896c5f77339521e2c2612e71e154800a19
Stored in directory: /tmp/pip-ephem-wheel-cache-6civ29m_/wheels/c2/3c/b9/1120c2ab4bd82694f7e6f0537dc5b9a085c13e2c69a8d0c76d
Installing collected packages: boolean-py, binaryornot, setuptools, reuse, python-debian, markupsafe, license-expression, jinja2, chardet
Attempting uninstall: setuptools
Found existing installation: setuptools 59.6.0
Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
---
Successfully tagged rust-ci:latest
Built container sha256:c1abd02791bc61a950ea262e7543fe0620d9550ea6d6b2f2fe024aa5b714e80a
Uploading finished image to https://ci-caches.rust-lang.org/docker/e51156f19850ce886cec818e46dc2a021e0aa7c270d15673e8fe74cd8522fc8ac3995109aebb688ee49ed586735ed4cf5f8c06d44c48298fa09c35ae4b082281
<botocore.awsrequest.AWSRequest object at 0x7fe55ddffe90>
gzip: stdout: Broken pipe
xargs: docker: terminated by signal 13
[CI_JOB_NAME=mingw-check-tidy]
[CI_JOB_NAME=mingw-check-tidy]
---
extracting /checkout/obj/build/cache/llvm-794249d768a4f112519f22502ade032dc03b9fde-true/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm
##[group]Building stage0 tool tidy (x86_64-unknown-linux-gnu)
Building stage0 tool tidy (x86_64-unknown-linux-gnu)
Updating crates.io index
Updating git repository `https://github.com/saethlin/rust-ctrlc`
Updating git repository `https://github.com/saethlin/nix`
---
Finished release [optimized] target(s) in 15.11s
##[endgroup]
fmt check
tidy check
tidy error: invalid source: "git+https://github.com/saethlin/rust-ctrlc#b633d52737c9123b664c3b4a27956637096e2948"
tidy error: invalid source: "git+https://github.com/saethlin/nix?branch=memfd_create#49958ee28a80aad33a9c41d54a6cdb87fda8b87d"
some tidy checks failed
Build completed unsuccessfully in 0:00:32
It seems rather fragile to rely on optimizations to have this symbol removed from the crate. The better approach seems to be a feature flag for nix
that makes it compatible with older distros.
It looks like there is a fallback case using a raw syscall for targets where libc doesn't export memfd_create
.
It seems rather fragile to rely on optimizations to have this symbol removed from the crate.
I do agree that relying on an optimization is generally not good. But...
It is a linker optimization that makes this crate work at all when building binaries for old glibc versions. I strongly suspect that such optimizations are very widely relied upon. I'm not particularly worried about relying on linkers to remove unused symbols.
I'm also not trying to rely on an inlining optimization here, but a change to how codegen is done. The Rust function memfd_create
in nix
isn't generic or #[inline]
so it's put into the shared object for rustc_driver
and is externally visible. Whether fixing this with #[inline]
is better or worse than an optimization (because I'm trying to rely on the rustc implementation of that attribute) is better or worse I don't know.
The better approach seems to be a feature flag for
nix
that makes it compatible with older distros.
I don't know how to architect this feature well. This code is already under the feature fs
so the only change I can think of that isn't breaking is to migrate most of fs
into a sub-feature that is required by fs
, so that the existing feature is not changed but users on an old distro can use a different feature instead.
I also have no idea how to test that this maneuver actually works. The nix
wrapper for renameat2
technically doesn't work on old glibc either, but I think compiling it doesn't result in a linker error because the nix
wrapper is generic.
It looks like there is a fallback case using a raw syscall for targets where libc doesn't export
memfd_create
.
Yeah, but I don't know how to do make that also understand various glibc versions. Are you suggesting we memfd_create
should be implemented with a raw syscall on glibc targets?
Are you suggesting we memfd_create should be implemented with a raw syscall on glibc targets?
Yeah. I don't know of any disadvantages other than it being harder (but not by a whole lote) to replace with LD_PRELOAD
.
:umbrella: The latest upstream changes (presumably #113046) made this pull request unmergeable. Please resolve the merge conflicts.
There was some confusion with regards to why --no-allow-shlib-undefined
is passed at all. From a bit of experimentation it looks like both binutils ld
and ld.lld
do this by default. If you have a dylib
crate with an undefined symbol in unused public code and then a binary crate that depends on that dylib, it fails to link the binary crate because of the symbol in the dylib. --allow-shlib-undefined
is needed to allow it to compile (which we probably don't want to pass).
quick repro
crate hmm
extern "C" {
fn meooow();
}
pub fn instance() {
unsafe { meooow() }
}
pub fn callme() {}
crate hmm
, Cargo.toml
, snip
[lib]
crate-type = ["dylib"]
binary crate, depending on the hmm
crate
fn main() {
hmm::callme();
}
The job mingw-check-tidy
failed! Check out the build log: (web) (plain)
Click to see the possible cause of the failure (guessed by this bot)
Prepare all required actions
Getting action download info
Download action repository 'actions/checkout@v3' (SHA:c85c95e3d7251135ab7dc9ce3241c5835cc595a9)
Download action repository 'actions/upload-artifact@v3' (SHA:0b7f8abb1508181956e8e162db84b466c27e18ce)
Complete job name: PR - mingw-check-tidy
git config --global core.autocrlf false
shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
---
GITHUB_ACTION=__run_7
GITHUB_ACTIONS=true
GITHUB_ACTION_REF=
GITHUB_ACTION_REPOSITORY=
GITHUB_ACTOR=saethlin
GITHUB_API_URL=https://api.github.com
GITHUB_BASE_REF=master
GITHUB_ENV=/home/runner/work/_temp/_runner_file_commands/set_env_d9045680-4d46-4911-8db6-426ade7245dc
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_NAME=pull_request
GITHUB_EVENT_PATH=/home/runner/work/_temp/_github_workflow/event.json
GITHUB_GRAPHQL_URL=https://api.github.com/graphql
GITHUB_HEAD_REF=ctfe-backtrace-ctrlc
GITHUB_JOB=pr
GITHUB_PATH=/home/runner/work/_temp/_runner_file_commands/add_path_d9045680-4d46-4911-8db6-426ade7245dc
GITHUB_REF=refs/pull/111769/merge
GITHUB_REF_NAME=111769/merge
GITHUB_REF_PROTECTED=false
---
GITHUB_SERVER_URL=https://github.com
GITHUB_SHA=ccd88463d65e0801a17dcde653dea52a112957ef
GITHUB_STATE=/home/runner/work/_temp/_runner_file_commands/save_state_d9045680-4d46-4911-8db6-426ade7245dc
GITHUB_STEP_SUMMARY=/home/runner/work/_temp/_runner_file_commands/step_summary_d9045680-4d46-4911-8db6-426ade7245dc
GITHUB_TRIGGERING_ACTOR=saethlin
GITHUB_WORKFLOW_REF=rust-lang/rust/.github/workflows/ci.yml@refs/pull/111769/merge
GITHUB_WORKFLOW_SHA=ccd88463d65e0801a17dcde653dea52a112957ef
GITHUB_WORKSPACE=/home/runner/work/rust/rust
GOROOT_1_18_X64=/opt/hostedtoolcache/go/1.18.10/x64
---
#10 [5/8] COPY host-x86_64/mingw-check/reuse-requirements.txt /tmp/
#10 DONE 0.0s
#11 [6/8] RUN pip3 install --no-deps --no-cache-dir --require-hashes -r /tmp/reuse-requirements.txt && pip3 install virtualenv
#11 0.713 Downloading binaryornot-0.4.4-py2.py3-none-any.whl (9.0 kB)
#11 0.729 Collecting boolean-py==4.0
#11 0.737 Downloading boolean.py-4.0-py3-none-any.whl (25 kB)
#11 0.756 Collecting chardet==5.1.0
---
#11 3.961 Building wheels for collected packages: reuse
#11 3.962 Building wheel for reuse (pyproject.toml): started
#11 4.274 Building wheel for reuse (pyproject.toml): finished with status 'done'
#11 4.275 Created wheel for reuse: filename=reuse-1.1.0-cp310-cp310-manylinux_2_35_x86_64.whl size=180116 sha256=351235b2326fb4db7a18e257e13ce7896c5f77339521e2c2612e71e154800a19
#11 4.275 Stored in directory: /tmp/pip-ephem-wheel-cache-ceuw8vlf/wheels/c2/3c/b9/1120c2ab4bd82694f7e6f0537dc5b9a085c13e2c69a8d0c76d
#11 4.277 Installing collected packages: boolean-py, binaryornot, setuptools, reuse, python-debian, markupsafe, license-expression, jinja2, chardet
#11 4.298 Attempting uninstall: setuptools
#11 4.298 Found existing installation: setuptools 59.6.0
#11 4.299 Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
#11 4.299 Not uninstalling setuptools at /usr/lib/python3/dist-packages, outside environment /usr
#11 4.299 Can't uninstall 'setuptools'. No files were found to uninstall.
#11 4.962 Successfully installed binaryornot-0.4.4 boolean-py-4.0 chardet-5.1.0 jinja2-3.1.2 license-expression-30.0.0 markupsafe-2.1.1 python-debian-0.1.49 reuse-1.1.0 setuptools-66.0.0
#11 4.963 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv
#11 5.475 Collecting virtualenv
#11 5.654 Downloading virtualenv-20.24.2-py3-none-any.whl (3.0 MB)
#11 5.818 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 3.0/3.0 MB 18.5 MB/s eta 0:00:00
#11 5.866 Collecting platformdirs<4,>=3.9.1
#11 5.872 Downloading platformdirs-3.10.0-py3-none-any.whl (17 kB)
#11 5.892 Collecting distlib<1,>=0.3.7
#11 5.898 Downloading distlib-0.3.7-py2.py3-none-any.whl (468 kB)
#11 5.942 Collecting filelock<4,>=3.12.2
#11 5.949 Downloading filelock-3.12.2-py3-none-any.whl (10 kB)
#11 5.949 Downloading filelock-3.12.2-py3-none-any.whl (10 kB)
#11 6.032 Installing collected packages: distlib, platformdirs, filelock, virtualenv
#11 6.187 Successfully installed distlib-0.3.7 filelock-3.12.2 platformdirs-3.10.0 virtualenv-20.24.2
#11 DONE 6.3s
#12 [7/8] COPY host-x86_64/mingw-check/validate-toolstate.sh /scripts/
#12 DONE 0.0s
---
##[endgroup]
Built container sha256:d42bf3a6ee8ceb1b18526174388ea4e92d76590e93d7ec6dea3f5ffb30b3c51e
Uploading finished image to https://ci-caches.rust-lang.org/docker/47cc674a88b6927a33a18f169cab0b31beb9e034541bf354ddcd678bb64875557e80c5b2494faa2d9e4c326942ca463c8d35824badb270e67a873d23dfb5f897
<botocore.awsrequest.AWSRequest object at 0x7fe27c799bd0>
gzip: stdout: Broken pipe
xargs: docker: terminated by signal 13
[CI_JOB_NAME=mingw-check-tidy]
[CI_JOB_NAME=mingw-check-tidy]
---
DirectMap4k: 229312 kB
DirectMap2M: 9207808 kB
DirectMap1G: 59768832 kB
##[endgroup]
Executing TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint
+ TIDY_PRINT_DIFF=1 python2.7 ../x.py test --stage 0 src/tools/tidy tidyselftest --extra-checks=py:lint
Finished dev [unoptimized] target(s) in 0.03s
##[endgroup]
downloading https://ci-artifacts.rust-lang.org/rustc-builds-alt/08691f0c9269f246deb242bba0f848587fa5622e/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz
extracting /checkout/obj/build/cache/llvm-08691f0c9269f246deb242bba0f848587fa5622e-true/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm
extracting /checkout/obj/build/cache/llvm-08691f0c9269f246deb242bba0f848587fa5622e-true/rust-dev-nightly-x86_64-unknown-linux-gnu.tar.xz to /checkout/obj/build/x86_64-unknown-linux-gnu/ci-llvm
##[group]Building stage0 tool tidy (x86_64-unknown-linux-gnu)
Updating crates.io index
Updating git repository `https://github.com/saethlin/rust-ctrlc`
Updating git repository `https://github.com/saethlin/nix`
---
##[endgroup]
fmt check
tidy check
tidy: Skipping binary file check, read-only filesystem
tidy error: invalid source: "git+https://github.com/saethlin/rust-ctrlc#d45d0f8337b454fce93bcd456737c13f43de3bb5"
tidy error: invalid source: "git+https://github.com/saethlin/nix?branch=memfd_create2#ca49cd83b44ed30fb4aa1b68a628cdf3ccc702c8"
removing old virtual environment
creating virtual environment at '/checkout/obj/build/venv' using 'python3.10'
Requirement already satisfied: pip in ./build/venv/lib/python3.10/site-packages (23.2.1)
Collecting black==23.3.0 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 7))
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 14.8 MB/s eta 0:00:00
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.7/1.7 MB 14.8 MB/s eta 0:00:00
Collecting click==8.1.3 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 34))
Downloading click-8.1.3-py3-none-any.whl (96 kB)
Collecting importlib-metadata==6.7.0 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 38))
Downloading importlib_metadata-6.7.0-py3-none-any.whl (22 kB)
Downloading importlib_metadata-6.7.0-py3-none-any.whl (22 kB)
Collecting mypy-extensions==1.0.0 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 42))
Downloading mypy_extensions-1.0.0-py3-none-any.whl (4.7 kB)
Collecting packaging==23.1 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 46))
Downloading packaging-23.1-py3-none-any.whl (48 kB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 48.9/48.9 kB 1.5 MB/s eta 0:00:00
Collecting pathspec==0.11.1 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 50))
Downloading pathspec-0.11.1-py3-none-any.whl (29 kB)
Collecting platformdirs==3.6.0 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 54))
Downloading platformdirs-3.6.0-py3-none-any.whl (16 kB)
Collecting ruff==0.0.272 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 58))
Downloading ruff-0.0.272-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 5.9/5.9 MB 43.8 MB/s eta 0:00:00
Collecting tomli==2.0.1 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 77))
Downloading tomli-2.0.1-py3-none-any.whl (12 kB)
Collecting typed-ast==1.5.4 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 81))
Downloading typed_ast-1.5.4-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (877 kB)
Collecting typing-extensions==4.6.3 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 107))
Downloading typing_extensions-4.6.3-py3-none-any.whl (31 kB)
Downloading typing_extensions-4.6.3-py3-none-any.whl (31 kB)
Collecting zipp==3.15.0 (from -r /checkout/src/tools/tidy/config/requirements.txt (line 114))
Downloading zipp-3.15.0-py3-none-any.whl (6.8 kB)
Installing collected packages: zipp, typing-extensions, typed-ast, tomli, ruff, platformdirs, pathspec, packaging, mypy-extensions, click, importlib-metadata, black
Successfully installed black-23.3.0 click-8.1.3 importlib-metadata-6.7.0 mypy-extensions-1.0.0 packaging-23.1 pathspec-0.11.1 platformdirs-3.6.0 ruff-0.0.272 tomli-2.0.1 typed-ast-1.5.4 typing-extensions-4.6.3 zipp-3.15.0
some tidy checks failed
Build completed unsuccessfully in 0:00:31
local time: Fri Aug 11 14:58:07 UTC 2023
network time: Fri, 11 Aug 2023 14:58:07 GMT
Just double-checking that the approach nix
prefers actually works
@bors try
:hourglass: Trying commit cc1df4ec5e905d4fd5c3e13c3081435109914125 with merge 04b534494ecd6912739e285404bee5bf4d015731...
:sunny: Try build successful - checks-actions
Build commit: 04b534494ecd6912739e285404bee5bf4d015731 (04b534494ecd6912739e285404bee5bf4d015731
)