Skip to content

Latest nightly build fails on Mac/x86_64-apple-darwin #92343

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

Closed
timwalls opened this issue Dec 28, 2021 · 4 comments
Closed

Latest nightly build fails on Mac/x86_64-apple-darwin #92343

timwalls opened this issue Dec 28, 2021 · 4 comments
Labels
I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. O-macos Operating system: macOS

Comments

@timwalls
Copy link

With latest nightly (f8abed9) build fails as per below, on a Mac host. Same build seems OK on Linux.

My last known-good build on this machine was d47a6cc (2021-12-03) - I just checked that out and the build completes OK, so it seems something changed in nightly rather than on my environment.

Any suggestions on how I can try and divine what's going on? "rustc exited with signal: 6" is a little enigmatic; any way of maybe turning up the logging to try and identify what's up in more detail?

[Sasha:calea-victoriei:build/rust] timwa% ./x.py build --stage 2 library/core library/proc_macro
Updating only changed submodules
Submodules updated in 0.07 seconds
    Finished dev [unoptimized] target(s) in 2.56s
Building stage0 std artifacts (x86_64-apple-darwin -> x86_64-apple-darwin)
    Finished release [optimized] target(s) in 0.97s
Copying stage0 std from stage0 (x86_64-apple-darwin -> x86_64-apple-darwin / x86_64-apple-darwin)
Building stage0 compiler artifacts (x86_64-apple-darwin -> x86_64-apple-darwin)
    Finished release [optimized] target(s) in 4.83s
Copying stage0 rustc from stage0 (x86_64-apple-darwin -> x86_64-apple-darwin / x86_64-apple-darwin)
Assembling stage1 compiler (x86_64-apple-darwin)
Building stage1 std artifacts (x86_64-apple-darwin -> x86_64-apple-darwin)
   Compiling core v0.0.0 (/Volumes/Development/Arduino/rust-avr-nightly-builder/build/rust/library/core)
   Compiling compiler_builtins v0.1.66
rustc exited with signal: 6
error: could not compile `core`

Caused by:
  process didn't exit successfully: `/Volumes/Development/Arduino/rust-avr-nightly-builder/build/rust/build/bootstrap/debug/rustc --crate-name core --edition=2018 library/core/src/lib.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts --crate-type lib --emit=dep-info,metadata,link -C opt-level=3 -C embed-bitcode=no -C debuginfo=0 -C metadata=0a304c5531a00d90 -C extra-filename=-0a304c5531a00d90 --out-dir /Volumes/Development/Arduino/rust-avr-nightly-builder/build/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps --target x86_64-apple-darwin -L dependency=/Volumes/Development/Arduino/rust-avr-nightly-builder/build/rust/build/x86_64-apple-darwin/stage1-std/x86_64-apple-darwin/release/deps -L dependency=/Volumes/Development/Arduino/rust-avr-nightly-builder/build/rust/build/x86_64-apple-darwin/stage1-std/release/deps -Zsymbol-mangling-version=legacy -Zmacro-backtrace -Zosx-rpath-install-name '-Clink-args=-Wl,-rpath,@loader_path/../lib' -Csplit-debuginfo=unpacked -Cprefer-dynamic -Cembed-bitcode=yes '-Zcrate-attr=doc(html_root_url="https://doc.rust-lang.org/nightly/")' -Z binary-dep-depinfo` (exit status: 254)
warning: build failed, waiting for other jobs to finish...
error: build failed
Build completed unsuccessfully in 0:00:17
@hkratz
Copy link
Contributor

hkratz commented Dec 28, 2021

The Macos x86_64 CI build is run for every merged PR, so something must be different in your environment. Can you post the contents of your config.toml file?

It is unusual that rustc exits with SIGABRT (6) without an error message. Can you check if a crash report is generated in ~/Library/Logs/DiagnosticReports/ and post its contents if there is one?

Does the problem persist after ./x.py clean?

@rustbot label O-macos I-crash

@rustbot rustbot added I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. O-macos Operating system: macOS labels Dec 28, 2021
@timwalls
Copy link
Author

Hi, sure. config.toml below. For context, the reason I'm building it at all is for an AVR toolchain specifically (hence the short list of enabled targets.) Normally I patch LLVM, but I tried the build 'clean' without my patches to confirm that it's not related to them at all.

Confirmed this config.toml builds fine on Mac with the 2021-12-03 nightly, and also it builds the latest nightly fine on Linux, but not Mac:

# Sample TOML configuration file for building Rust.
#
# To configure rustbuild, copy this file to the directory from which you will be
# running the build, and name it config.toml.
#
# All options are commented out by default in this file, and they're commented
# out with their default values. The build system by default looks for
# `config.toml` in the current directory of a build for build configuration, but
# a custom configuration file can also be specified with `--config` to the build
# system.

# Keeps track of the last version of `x.py` used.
# If it does not match the version that is currently running,
# `x.py` will prompt you to update it and read the changelog.
# See `src/bootstrap/CHANGELOG.md` for more information.
changelog-seen = 2

# =============================================================================
# Global Settings
# =============================================================================

# Use different pre-set defaults than the global defaults.
#
# See `src/bootstrap/defaults` for more information.
# Note that this has no default value (x.py uses the defaults in `config.toml.example`).
#profile = <none>

# =============================================================================
# Tweaking how LLVM is compiled
# =============================================================================
[llvm]

# Whether to use Rust CI built LLVM instead of locally building it.
#
# Unless you're developing for a target where Rust CI doesn't build a compiler
# toolchain or changing LLVM locally, you probably want to set this to true.
#
# This is false by default so that distributions don't unexpectedly download
# LLVM from the internet.
#
# All tier 1 targets are currently supported; set this to `"if-available"` if
# you are not sure whether you're on a tier 1 target.
#
# We also currently only support this when building LLVM for the build triple.
#
# Note that many of the LLVM options are not currently supported for
# downloading. Currently only the "assertions" option can be toggled.
#download-ci-llvm = false

# Indicates whether LLVM rebuild should be skipped when running bootstrap. If
# this is `false` then the compiler's LLVM will be rebuilt whenever the built
# version doesn't have the correct hash. If it is `true` then LLVM will never
# be rebuilt. The default value is `false`.
#skip-rebuild = false

# Indicates whether the LLVM build is a Release or Debug build
#optimize = true

# Indicates whether LLVM should be built with ThinLTO. Note that this will
# only succeed if you use clang, lld, llvm-ar, and llvm-ranlib in your C/C++
# toolchain (see the `cc`, `cxx`, `linker`, `ar`, and `ranlib` options below).
# More info at: https://clang.llvm.org/docs/ThinLTO.html#clang-bootstrap
#thin-lto = false

# Indicates whether an LLVM Release build should include debug info
#release-debuginfo = false

# Indicates whether the LLVM assertions are enabled or not
#assertions = false

# Indicates whether the LLVM testsuite is enabled in the build or not. Does
# not execute the tests as part of the build as part of x.py build et al,
# just makes it possible to do `ninja check-llvm` in the staged LLVM build
# directory when doing LLVM development as part of Rust development.
#tests = false

# Indicates whether the LLVM plugin is enabled or not
#plugins = false

# Indicates whether ccache is used when building LLVM
#ccache = false
# or alternatively ...
#ccache = "/path/to/ccache"

# If an external LLVM root is specified, we automatically check the version by
# default to make sure it's within the range that we're expecting, but setting
# this flag will indicate that this version check should not be done.
#version-check = true

# Link libstdc++ statically into the rustc_llvm instead of relying on a
# dynamic version to be available.
#static-libstdcpp = false

# Whether to use Ninja to build LLVM. This runs much faster than make.
#ninja = true

# LLVM targets to build support for.
# Note: this is NOT related to Rust compilation targets. However, as Rust is
# dependent on LLVM for code generation, turning targets off here WILL lead to
# the resulting rustc being unable to compile for the disabled architectures.
# Also worth pointing out is that, in case support for new targets are added to
# LLVM, enabling them here doesn't mean Rust is automatically gaining said
# support. You'll need to write a target specification at least, and most
# likely, teach rustc about the C ABI of the target. Get in touch with the
# Rust team and file an issue if you need assistance in porting!
#targets = "AArch64;ARM;BPF;Hexagon;MSP430;Mips;NVPTX;PowerPC;RISCV;Sparc;SystemZ;WebAssembly;X86"
targets = "AArch64;ARM;X86"

# LLVM experimental targets to build support for. These targets are specified in
# the same format as above, but since these targets are experimental, they are
# not built by default and the experimental Rust compilation targets that depend
# on them will not work unless the user opts in to building them.
#experimental-targets = "AVR;M68k"
experimental-targets = "AVR"

# Cap the number of parallel linker invocations when compiling LLVM.
# This can be useful when building LLVM with debug info, which significantly
# increases the size of binaries and consequently the memory required by
# each linker process.
# If absent or 0, linker invocations are treated like any other job and
# controlled by rustbuild's -j parameter.
#link-jobs = 0

# When invoking `llvm-config` this configures whether the `--shared` argument is
# passed to prefer linking to shared libraries.
# NOTE: `thin-lto = true` requires this to be `true` and will give an error otherwise.
#link-shared = false

# When building llvm, this configures what is being appended to the version.
# The default is "-rust-$version-$channel", except for dev channel where rustc
# version number is omitted. To use LLVM version as is, provide an empty string.
#version-suffix = "-rust-dev"

# On MSVC you can compile LLVM with clang-cl, but the test suite doesn't pass
# with clang-cl, so this is special in that it only compiles LLVM with clang-cl.
# Note that this takes a /path/to/clang-cl, not a boolean.
#clang-cl = cc

# Pass extra compiler and linker flags to the LLVM CMake build.
#cflags = ""
#cxxflags = ""
#ldflags = ""

# Use libc++ when building LLVM instead of libstdc++. This is the default on
# platforms already use libc++ as the default C++ library, but this option
# allows you to use libc++ even on platforms when it's not. You need to ensure
# that your host compiler ships with libc++.
#use-libcxx = false

# The value specified here will be passed as `-DLLVM_USE_LINKER` to CMake.
#use-linker = <none> (path)

# Whether or not to specify `-DLLVM_TEMPORARILY_ALLOW_OLD_TOOLCHAIN=YES`
#allow-old-toolchain = false

# Whether to include the Polly optimizer.
#polly = false

# Whether to build the clang compiler.
#clang = false

# =============================================================================
# General build configuration options
# =============================================================================
[build]
# The default stage to use for the `check` subcommand
#check-stage = 0

# The default stage to use for the `doc` subcommand
#doc-stage = 0

# The default stage to use for the `build` subcommand
#build-stage = 1

# The default stage to use for the `test` subcommand
#test-stage = 1

# The default stage to use for the `dist` subcommand
#dist-stage = 2

# The default stage to use for the `install` subcommand
#install-stage = 2

# The default stage to use for the `bench` subcommand
#bench-stage = 2

# Build triple for the original snapshot compiler. This must be a compiler that
# nightlies are already produced for. The current platform must be able to run
# binaries of this build triple and the nightly will be used to bootstrap the
# first compiler.
#
# Defaults to platform where `x.py` is run.
#build = "x86_64-unknown-linux-gnu" (as an example)

# Which triples to produce a compiler toolchain for. Each of these triples will
# be bootstrapped from the build triple themselves.
#
# Defaults to just the build triple.
#host = ["x86_64-unknown-linux-gnu"] (as an example)

# Which triples to build libraries (core/alloc/std/test/proc_macro) for. Each of
# these triples will be bootstrapped from the build triple themselves.
#
# Defaults to `host`. If you set this explicitly, you likely want to add all
# host triples to this list as well in order for those host toolchains to be
# able to compile programs for their native target.
#target = ["x86_64-unknown-linux-gnu"] (as an example)

# Use this directory to store build artifacts.
# You can use "$ROOT" to indicate the root of the git repository.
#build-dir = "build"

# Instead of downloading the src/stage0.json version of Cargo specified, use
# this Cargo binary instead to build all Rust code
#cargo = "/path/to/cargo"

# Instead of downloading the src/stage0.json version of the compiler
# specified, use this rustc binary instead as the stage0 snapshot compiler.
#rustc = "/path/to/rustc"

# Instead of download the src/stage0.json version of rustfmt specified,
# use this rustfmt binary instead as the stage0 snapshot rustfmt.
#rustfmt = "/path/to/rustfmt"

# Flag to specify whether any documentation is built. If false, rustdoc and
# friends will still be compiled but they will not be used to generate any
# documentation.
#docs = true

# Flag to specify whether CSS, JavaScript, and HTML are minified when
# docs are generated. JSON is always minified, because it's enormous,
# and generated in already-minified form from the beginning.
#docs-minification = true

# Indicate whether the compiler should be documented in addition to the standard
# library and facade crates.
#compiler-docs = false

# Indicate whether git submodules are managed and updated automatically.
#submodules = true

# Update git submodules only when the checked out commit in the submodules differs
# from what is committed in the main rustc repo.
#fast-submodules = true

# The path to (or name of) the GDB executable to use. This is only used for
# executing the debuginfo test suite.
#gdb = "gdb"

# The node.js executable to use. Note that this is only used for the emscripten
# target when running tests, otherwise this can be omitted.
#nodejs = "node"

# Python interpreter to use for various tasks throughout the build, notably
# rustdoc tests, the lldb python interpreter, and some dist bits and pieces.
#
# Defaults to the Python interpreter used to execute x.py
#python = "python"

# Force Cargo to check that Cargo.lock describes the precise dependency
# set that all the Cargo.toml files create, instead of updating it.
#locked-deps = false

# Indicate whether the vendored sources are used for Rust dependencies or not
#vendor = false

# Typically the build system will build the Rust compiler twice. The second
# compiler, however, will simply use its own libraries to link against. If you
# would rather to perform a full bootstrap, compiling the compiler three times,
# then you can set this option to true. You shouldn't ever need to set this
# option to true.
#full-bootstrap = false

# Enable a build of the extended Rust tool set which is not only the compiler
# but also tools such as Cargo. This will also produce "combined installers"
# which are used to install Rust and Cargo together. This is disabled by
# default. The `tools` option (immediately below) specifies which tools should
# be built if `extended = true`.
#extended = false

# Installs chosen set of extended tools if `extended = true`. By default builds
# all extended tools except `rust-demangler`, unless the target is also being
# built with `profiler = true`. If chosen tool failed to build the installation
# fails. If `extended = false`, this option is ignored.
#tools = ["cargo", "rls", "clippy", "rustfmt", "analysis", "src"] # + "rust-demangler" if `profiler`

# Verbosity level: 0 == not verbose, 1 == verbose, 2 == very verbose
#verbose = 0

# Build the sanitizer runtimes
#sanitizers = false

# Build the profiler runtime (required when compiling with options that depend
# on this runtime, such as `-C profile-generate` or `-Z instrument-coverage`).
#profiler = false

# Indicates whether the native libraries linked into Cargo will be statically
# linked or not.
#cargo-native-static = false

# Run the build with low priority, by setting the process group's "nice" value
# to +10 on Unix platforms, and by using a "low priority" job object on Windows.
#low-priority = false

# Arguments passed to the `./configure` script, used during distcheck. You
# probably won't fill this in but rather it's filled in by the `./configure`
# script.
#configure-args = []

# Indicates that a local rebuild is occurring instead of a full bootstrap,
# essentially skipping stage0 as the local compiler is recompiling itself again.
#local-rebuild = false

# Print out how long each rustbuild step took (mostly intended for CI and
# tracking over time)
#print-step-timings = false

# Print out resource usage data for each rustbuild step, as defined by the Unix
# struct rusage. (Note that this setting is completely unstable: the data it
# captures, what platforms it supports, the format of its associated output, and
# this setting's very existence, are all subject to change.)
#print-step-rusage = false

# Always patch binaries for usage with Nix toolchains. If `true` then binaries
# will be patched unconditionally. If `false` or unset, binaries will be patched
# only if the current distribution is NixOS. This option is useful when using
# a Nix toolchain on non-NixOS distributions.
#patch-binaries-for-nix = false

# =============================================================================
# General install configuration options
# =============================================================================
[install]

# Instead of installing to /usr/local, install to this path instead.
#prefix = "/usr/local"

# Where to install system configuration files
# If this is a relative path, it will get installed in `prefix` above
#sysconfdir = "/etc"

# Where to install documentation in `prefix` above
#docdir = "share/doc/rust"

# Where to install binaries in `prefix` above
#bindir = "bin"

# Where to install libraries in `prefix` above
#libdir = "lib"

# Where to install man pages in `prefix` above
#mandir = "share/man"

# Where to install data in `prefix` above
#datadir = "share"

# =============================================================================
# Options for compiling Rust code itself
# =============================================================================
[rust]

# Whether or not to optimize the compiler and standard library.
# WARNING: Building with optimize = false is NOT SUPPORTED. Due to bootstrapping,
# building without optimizations takes much longer than optimizing. Further, some platforms
# fail to build without this optimization (c.f. #65352).
#optimize = true

# Indicates that the build should be configured for debugging Rust. A
# `debug`-enabled compiler and standard library will be somewhat
# slower (due to e.g. checking of debug assertions) but should remain
# usable.
#
# Note: If this value is set to `true`, it will affect a number of
#       configuration options below as well, if they have been left
#       unconfigured in this file.
#
# Note: changes to the `debug` setting do *not* affect `optimize`
#       above. In theory, a "maximally debuggable" environment would
#       set `optimize` to `false` above to assist the introspection
#       facilities of debuggers like lldb and gdb. To recreate such an
#       environment, explicitly set `optimize` to `false` and `debug`
#       to `true`. In practice, everyone leaves `optimize` set to
#       `true`, because an unoptimized rustc with debugging
#       enabled becomes *unusably slow* (e.g. rust-lang/rust#24840
#       reported a 25x slowdown) and bootstrapping the supposed
#       "maximally debuggable" environment (notably libstd) takes
#       hours to build.
#
#debug = false

# Whether to download the stage 1 and 2 compilers from CI.
# This is mostly useful for tools; if you have changes to `compiler/` they will be ignored.
#
# You can set this to "if-unchanged" to only download if `compiler/` has not been modified.
#download-rustc = false

# Number of codegen units to use for each compiler invocation. A value of 0
# means "the number of cores on this machine", and 1+ is passed through to the
# compiler.
#
# Uses the rustc defaults: https://doc.rust-lang.org/rustc/codegen-options/index.html#codegen-units
#codegen-units = if incremental { 256 } else { 16 }

# Sets the number of codegen units to build the standard library with,
# regardless of what the codegen-unit setting for the rest of the compiler is.
# NOTE: building with anything other than 1 is known to occasionally have bugs.
# See https://github.com/rust-lang/rust/issues/83600.
#codegen-units-std = codegen-units

# Whether or not debug assertions are enabled for the compiler and standard
# library. Debug assertions control the maximum log level used by rustc. When
# enabled calls to `trace!` and `debug!` macros are preserved in the compiled
# binary, otherwise they are omitted.
#
# Defaults to rust.debug value
#debug-assertions = rust.debug (boolean)

# Whether or not debug assertions are enabled for the standard library.
# Overrides the `debug-assertions` option, if defined.
#
# Defaults to rust.debug-assertions value
#debug-assertions-std = rust.debug-assertions (boolean)

# Whether or not to leave debug! and trace! calls in the rust binary.
# Overrides the `debug-assertions` option, if defined.
#
# Defaults to rust.debug-assertions value
#
# If you see a message from `tracing` saying
# `max_level_info` is enabled and means logging won't be shown,
# set this value to `true`.
#debug-logging = rust.debug-assertions (boolean)

# Whether or not overflow checks are enabled for the compiler and standard
# library.
#
# Defaults to rust.debug value
#overflow-checks = rust.debug (boolean)

# Whether or not overflow checks are enabled for the standard library.
# Overrides the `overflow-checks` option, if defined.
#
# Defaults to rust.overflow-checks value
#overflow-checks-std = rust.overflow-checks (boolean)

# Debuginfo level for most of Rust code, corresponds to the `-C debuginfo=N` option of `rustc`.
# `0` - no debug info
# `1` - line tables only - sufficient to generate backtraces that include line
#       information and inlined functions, set breakpoints at source code
#       locations, and step through execution in a debugger.
# `2` - full debug info with variable and type information
# Can be overridden for specific subsets of Rust code (rustc, std or tools).
# Debuginfo for tests run with compiletest is not controlled by this option
# and needs to be enabled separately with `debuginfo-level-tests`.
#
# Note that debuginfo-level = 2 generates several gigabytes of debuginfo
# and will slow down the linking process significantly.
#
# Defaults to 1 if debug is true
#debuginfo-level = 0

# Debuginfo level for the compiler.
#debuginfo-level-rustc = debuginfo-level

# Debuginfo level for the standard library.
#debuginfo-level-std = debuginfo-level

# Debuginfo level for the tools.
#debuginfo-level-tools = debuginfo-level

# Debuginfo level for the test suites run with compiletest.
# FIXME(#61117): Some tests fail when this option is enabled.
#debuginfo-level-tests = 0

# Whether to run `dsymutil` on Apple platforms to gather debug info into .dSYM
# bundles. `dsymutil` adds time to builds for no clear benefit, and also makes
# it more difficult for debuggers to find debug info. The compiler currently
# defaults to running `dsymutil` to preserve its historical default, but when
# compiling the compiler itself, we skip it by default since we know it's safe
# to do so in that case.
#run-dsymutil = false

# Whether or not `panic!`s generate backtraces (RUST_BACKTRACE)
#backtrace = true

# Whether to always use incremental compilation when building rustc
#incremental = false

# Build a multi-threaded rustc
# FIXME(#75760): Some UI tests fail when this option is enabled.
#parallel-compiler = false

# The default linker that will be hard-coded into the generated compiler for
# targets that don't specify linker explicitly in their target specifications.
# Note that this is not the linker used to link said compiler.
#
# See https://doc.rust-lang.org/rustc/codegen-options/index.html#linker for more information.
#default-linker = <none> (path)

# The "channel" for the Rust build to produce. The stable/beta channels only
# allow using stable features, whereas the nightly and dev channels allow using
# nightly features
#channel = "dev"
channel = "nightly"

# A descriptive string to be appended to `rustc --version` output, which is
# also used in places like debuginfo `DW_AT_producer`. This may be useful for
# supplementary build information, like distro-specific package versions.
#description = <none> (string)

# The root location of the musl installation directory. The library directory
# will also need to contain libunwind.a for an unwinding implementation. Note
# that this option only makes sense for musl targets that produce statically
# linked binaries.
#
# Defaults to /usr on musl hosts. Has no default otherwise.
#musl-root = <platform specific> (path)

# By default the `rustc` executable is built with `-Wl,-rpath` flags on Unix
# platforms to ensure that the compiler is usable by default from the build
# directory (as it links to a number of dynamic libraries). This may not be
# desired in distributions, for example.
#rpath = true

# Prints each test name as it is executed, to help debug issues in the test harness itself.
#verbose-tests = false

# Flag indicating whether tests are compiled with optimizations (the -O flag).
#optimize-tests = true

# Flag indicating whether codegen tests will be run or not. If you get an error
# saying that the FileCheck executable is missing, you may want to disable this.
# Also see the target's llvm-filecheck option.
#codegen-tests = true

# Flag indicating whether git info will be retrieved from .git automatically.
# Having the git information can cause a lot of rebuilds during development.
# Note: If this attribute is not explicitly set (e.g. if left commented out) it
# will default to true if channel = "dev", but will default to false otherwise.
#ignore-git = if channel == "dev" { true } else { false }

# When creating source tarballs whether or not to create a source tarball.
#dist-src = true

# After building or testing extended tools (e.g. clippy and rustfmt), append the
# result (broken, compiling, testing) into this JSON file.
#save-toolstates = <none> (path)

# This is an array of the codegen backends that will be compiled for the rustc
# that's being compiled. The default is to only build the LLVM codegen backend,
# and currently the only standard options supported are `"llvm"` and `"cranelift"`.
#codegen-backends = ["llvm"]

# Indicates whether LLD will be compiled and made available in the sysroot for
# rustc to execute.
#lld = false

# Indicates whether LLD will be used to link Rust crates during bootstrap on
# supported platforms. The LLD from the bootstrap distribution will be used
# and not the LLD compiled during the bootstrap.
#
# LLD will not be used if we're cross linking.
#
# Explicitly setting the linker for a target will override this option when targeting MSVC.
#use-lld = false

# Indicates whether some LLVM tools, like llvm-objdump, will be made available in the
# sysroot.
#llvm-tools = false

# Whether to deny warnings in crates
#deny-warnings = true

# Print backtrace on internal compiler errors during bootstrap
#backtrace-on-ice = false

# Whether to verify generated LLVM IR
#verify-llvm-ir = false

# Compile the compiler with a non-default ThinLTO import limit. This import
# limit controls the maximum size of functions imported by ThinLTO. Decreasing
# will make code compile faster at the expense of lower runtime performance.
#thin-lto-import-instr-limit = if incremental { 10 } else { LLVM default (currently 100) }

# Map debuginfo paths to `/rust/$sha/...`, generally only set for releases
#remap-debuginfo = false

# Link the compiler against `jemalloc`, where on Linux and OSX it should
# override the default allocator for rustc and LLVM.
#jemalloc = false

# Run tests in various test suites with the "nll compare mode" in addition to
# running the tests in normal mode. Largely only used on CI and during local
# development of NLL
#test-compare-mode = false

# Use LLVM libunwind as the implementation for Rust's unwinder.
# Accepted values are 'in-tree' (formerly true), 'system' or 'no' (formerly false).
# This option only applies for Linux and Fuchsia targets.
# On Linux target, if crt-static is not enabled, 'no' means dynamic link to
# `libgcc_s.so`, 'in-tree' means static link to the in-tree build of llvm libunwind
# and 'system' means dynamic link to `libunwind.so`. If crt-static is enabled,
# the behavior is depend on the libc. On musl target, 'no' and 'in-tree' both
# means static link to the in-tree build of llvm libunwind, and 'system' means
# static link to `libunwind.a` provided by system. Due to the limitation of glibc,
# it must link to `libgcc_eh.a` to get a working output, and this option have no effect.
#llvm-libunwind = 'no'

# Enable Windows Control Flow Guard checks in the standard library.
# This only applies from stage 1 onwards, and only for Windows targets.
#control-flow-guard = false

# Enable symbol-mangling-version v0. This can be helpful when profiling rustc,
# as generics will be preserved in symbols (rather than erased into opaque T).
# When no setting is given, the new scheme will be used when compiling the
# compiler and its tools and the legacy scheme will be used when compiling the
# standard library.
# If an explicit setting is given, it will be used for all parts of the codebase.
#new-symbol-mangling = true|false (see comment)

# =============================================================================
# Options for specific targets
#
# Each of the following options is scoped to the specific target triple in
# question and is used for determining how to compile each target.
# =============================================================================
[target.x86_64-unknown-linux-gnu]

# C compiler to be used to compile C code. Note that the
# default value is platform specific, and if not specified it may also depend on
# what platform is crossing to what platform.
# See `src/bootstrap/cc_detect.rs` for details.
#cc = "cc" (path)

# C++ compiler to be used to compile C++ code (e.g. LLVM and our LLVM shims).
# This is only used for host targets.
# See `src/bootstrap/cc_detect.rs` for details.
#cxx = "c++" (path)

# Archiver to be used to assemble static libraries compiled from C/C++ code.
# Note: an absolute path should be used, otherwise LLVM build will break.
#ar = "ar" (path)

# Ranlib to be used to assemble static libraries compiled from C/C++ code.
# Note: an absolute path should be used, otherwise LLVM build will break.
#ranlib = "ranlib" (path)

# Linker to be used to bootstrap Rust code. Note that the
# default value is platform specific, and if not specified it may also depend on
# what platform is crossing to what platform.
# Setting this will override the `use-lld` option for Rust code when targeting MSVC.
#linker = "cc" (path)

# Path to the `llvm-config` binary of the installation of a custom LLVM to link
# against. Note that if this is specified we don't compile LLVM at all for this
# target.
#llvm-config = <none> (path)

# Normally the build system can find LLVM's FileCheck utility, but if
# not, you can specify an explicit file name for it.
#llvm-filecheck = "/path/to/llvm-version/bin/FileCheck"

# If this target is for Android, this option will be required to specify where
# the NDK for the target lives. This is used to find the C compiler to link and
# build native code.
# See `src/bootstrap/cc_detect.rs` for details.
#android-ndk = <none> (path)

# Build the sanitizer runtimes for this target.
# This option will override the same option under [build] section.
#sanitizers = build.sanitizers (bool)

# Build the profiler runtime for this target(required when compiling with options that depend
# on this runtime, such as `-C profile-generate` or `-Z instrument-coverage`).
# This option will override the same option under [build] section.
#profiler = build.profiler (bool)

# Force static or dynamic linkage of the standard library for this target. If
# this target is a host for rustc, this will also affect the linkage of the
# compiler itself. This is useful for building rustc on targets that normally
# only use static libraries. If unset, the target's default linkage is used.
#crt-static = <platform-specific> (bool)

# The root location of the musl installation directory. The library directory
# will also need to contain libunwind.a for an unwinding implementation. Note
# that this option only makes sense for musl targets that produce statically
# linked binaries.
#musl-root = build.musl-root (path)

# The full path to the musl libdir.
#musl-libdir = musl-root/lib

# The root location of the `wasm32-wasi` sysroot. Only used for the
# `wasm32-wasi` target. If you are building wasm32-wasi target, make sure to
# create a `[target.wasm32-wasi]` section and move this field there.
#wasi-root = <none> (path)

# Used in testing for configuring where the QEMU images are located, you
# probably don't want to use this.
#qemu-rootfs = <none> (path)

# =============================================================================
# Distribution options
#
# These options are related to distribution, mostly for the Rust project itself.
# You probably won't need to concern yourself with any of these options
# =============================================================================
[dist]

# This is the folder of artifacts that the build system will sign. All files in
# this directory will be signed with the default gpg key using the system `gpg`
# binary. The `asc` and `sha256` files will all be output into the standard dist
# output folder (currently `build/dist`)
#
# This folder should be populated ahead of time before the build system is
# invoked.
#sign-folder = <none> (path)

# The remote address that all artifacts will eventually be uploaded to. The
# build system generates manifests which will point to these urls, and for the
# manifests to be correct they'll have to have the right URLs encoded.
#
# Note that this address should not contain a trailing slash as file names will
# be appended to it.
#upload-addr = <none> (URL)

# Whether to build a plain source tarball to upload
# We disable that on Windows not to override the one already uploaded on S3
# as the one built on Windows will contain backslashes in paths causing problems
# on linux
#src-tarball = true

# Whether to allow failures when building tools
#missing-tools = false

# List of compression formats to use when generating dist tarballs. The list of
# formats is provided to rust-installer, which must support all of them.
#
# This list must be non-empty.
#compression-formats = ["gz", "xz"]

And yes indeed, I have a raft of crash reports in DiagnosticReports - thank you! There's a few, so I'll just pick the latest one:

{"app_name":"rustc","timestamp":"2021-12-28 00:25:54.00 +0200","app_version":"","slice_uuid":"5b5b970c-fb3b-32ee-9f3a-ff56e63570ea","build_version":"","platform":1,"share_with_app_devs":0,"is_first_party":1,"bug_type":"309","os_version":"macOS 12.1 (21C52)","incident_id":"8AA09F10-C7D2-482E-9154-2B94B2E872EC","name":"rustc"}
{
  "uptime" : 270000,
  "procLaunch" : "2021-12-28 00:25:52.2870 +0200",
  "procRole" : "Unspecified",
  "version" : 2,
  "userID" : 501,
  "deployVersion" : 210,
  "modelCode" : "Macmini8,1",
  "procStartAbsTime" : 271376805640792,
  "coalitionID" : 1428,
  "osVersion" : {
    "train" : "macOS 12.1",
    "build" : "21C52",
    "releaseType" : "User"
  },
  "captureTime" : "2021-12-28 00:25:54.3468 +0200",
  "incident" : "8AA09F10-C7D2-482E-9154-2B94B2E872EC",
  "bug_type" : "309",
  "pid" : 14668,
  "procExitAbsTime" : 271378864029788,
  "cpuType" : "X86-64",
  "procName" : "rustc",
  "procPath" : "\/Volumes\/VOLUME\/*\/rustc",
  "parentProc" : "Exited process",
  "parentPid" : 14664,
  "coalitionName" : "com.googlecode.iterm2",
  "crashReporterKey" : "C628BF39-24D9-BCC4-4BE5-1FE4CA9E81E1",
  "responsiblePid" : 40005,
  "responsibleProc" : "iTerm2",
  "bridgeVersion" : {"build":"19P647","train":"6.1"},
  "sip" : "enabled",
  "isCorpse" : 1,
  "exception" : {"codes":"0x0000000000000000, 0x0000000000000000","rawCodes":[0,0],"type":"EXC_CRASH","signal":"SIGABRT"},
  "asi" : {"libsystem_c.dylib":["abort() called"],"libsystem_malloc.dylib":["rustc(14668,0x70000730e000) malloc: *** error for object 0x600007360e00: pointer being realloc'd was not allocated"],"dyld":["dyld4 config: DYLD_LIBRARY_PATH=\/Volumes\/Development\/Arduino\/rust-avr-nightly-builder\/build\/rust\/build\/x86_64-apple-darwin\/stage1\/lib"]},
  "extMods" : {"caller":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"system":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"targeted":{"thread_create":0,"thread_set_state":0,"task_for_pid":0},"warnings":0},
  "faultingThread" : 1,
  "threads" : [{"id":2287682,"queue":"com.apple.main-thread","frames":[{"imageOffset":8714,"symbol":"__ulock_wait","symbolLocation":10,"imageIndex":0},{"imageOffset":31853,"symbol":"_pthread_join","symbolLocation":362,"imageIndex":1},{"imageOffset":226448,"symbol":"std::sys::unix::thread::Thread::join::hfafbd51722f7d476","symbolLocation":16,"imageIndex":2},{"imageOffset":1209690,"symbol":"_RNvMs7_NtCsh2iSufJsRi7_3std6threadINtB5_10JoinHandleINtNtCsasXF9FuNFFy_4core6result6ResultuNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedEE4joinCskBROs5LPUyG_12rustc_driver","symbolLocation":42,"imageIndex":3},{"imageOffset":781401,"symbol":"_RINvNtCslf2ReciObD5_15rustc_interface4util51setup_callbacks_and_run_in_thread_pool_with_globalsNCINvNtB4_9interface12run_compilerINtNtCsasXF9FuNFFy_4core6result6ResultuNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedENCNvCskBROs5LPUyG_12rustc_driver12run_compilers_0E0B23_EB3u_","symbolLocation":409,"imageIndex":3},{"imageOffset":720859,"symbol":"_RNvMs_CskBROs5LPUyG_12rustc_driverNtB4_11RunCompiler3run","symbolLocation":7211,"imageIndex":3},{"imageOffset":846062,"symbol":"_RNvXsn_NtNtCsasXF9FuNFFy_4core5panic11unwind_safeINtB5_16AssertUnwindSafeNCNvCskBROs5LPUyG_12rustc_driver4main0EINtNtNtB9_3ops8function6FnOnceuE9call_onceB1d_","symbolLocation":174,"imageIndex":3},{"imageOffset":752043,"symbol":"_RNvCskBROs5LPUyG_12rustc_driver4main","symbolLocation":203,"imageIndex":3},{"imageOffset":15790,"symbol":"_RNvCshzTDRxvkZ7X_10rustc_main4main","symbolLocation":14,"imageIndex":4},{"imageOffset":15846,"symbol":"_RINvNtNtCsh2iSufJsRi7_3std10sys_common9backtrace28___rust_begin_short_backtraceFEuuECshzTDRxvkZ7X_10rustc_main","symbolLocation":6,"imageIndex":4},{"imageOffset":15884,"symbol":"_RNCINvNtCsh2iSufJsRi7_3std2rt10lang_startuE0CshzTDRxvkZ7X_10rustc_main","symbolLocation":12,"imageIndex":4},{"imageOffset":91189,"symbol":"std::rt::lang_start_internal::h5d782eef0744dacf","symbolLocation":37,"imageIndex":2},{"imageOffset":15833,"symbol":"main","symbolLocation":41,"imageIndex":4},{"imageOffset":15764,"symbol":"start","symbolLocation":52,"imageIndex":4}]},{"triggered":true,"id":2287686,"name":"rustc","threadState":{"r13":{"value":80},"rax":{"value":0},"rflags":{"value":582},"cpu":{"value":0},"r14":{"value":6},"rsi":{"value":6},"r8":{"value":0},"cr2":{"value":1407047392
37896},"rdx":{"value":0},"r10":{"value":0},"r9":{"value":0},"r15":{"value":22},"rbx":{"value":123145422954496},"trap":{"value":133},"err":{"value":33554760},"r11":{"value":582},"rip":{"value":140703639822610,"matchesCrashFrame":1},"rbp":{"value":123145422893856},"rsp":{"value":123145422893816},"r12":{"value":4355},"rcx":{"value":123145422893816},"flavor":"x86_THREAD_STATE","rdi":{"value":4355}},"frames":[{"imageOffset":28946,"symbol":"__pthread_kill","symbolLocation":10,"imageIndex":0},{"imageOffset":25108,"symbol":"pthread_kill","symbolLocation":263,"imageIndex":1},{"imageOffset":531728,"symbol":"abort","symbolLocation":123,"imageIndex":5},{"imageOffset":62434,"symbol":"malloc_vreport","symbolLocation":548,"imageIndex":6},{"imageOffset":75245,"symbol":"malloc_report","symbolLocation":151,"imageIndex":6},{"imageOffset":13634,"symbol":"realloc","symbolLocation":328,"imageIndex":6},{"imageOffset":59467364,"symbol":"_RINvNtCs9mNDKRZk0IV_5alloc7raw_vec11finish_growNtNtB4_5alloc6GlobalECsetNeWcxqv12_12rustc_expand","symbolLocation":52,"imageIndex":3},{"imageOffset":59468829,"symbol":"_RNvMs_NtCs9mNDKRZk0IV_5alloc7raw_vecINtB4_6RawVecNtNtCsetNeWcxqv12_12rustc_expand3mbe9TokenTreeE16reserve_for_pushBP_","symbolLocation":125,"imageIndex":3},{"imageOffset":58907730,"symbol":"_RNvNtNtCsetNeWcxqv12_12rustc_expand3mbe6quoted5parse","symbolLocation":4002,"imageIndex":3},{"imageOffset":58904110,"symbol":"_RNvNtNtCsetNeWcxqv12_12rustc_expand3mbe6quoted5parse","symbolLocation":382,"imageIndex":3},{"imageOffset":59089488,"symbol":"_RINvXs0_NtNtNtCsasXF9FuNFFy_4core4iter8adapters3mapINtB6_3MapINtNtNtBc_5slice4iter4IterNtNtNtCsetNeWcxqv12_12rustc_expand3mbe12macro_parser10NamedMatchENCNvNtB1r_11macro_rules25compile_declarative_macros_0ENtNtNtBa_6traits8iterator8Iterator4folduNCINvNvB3i_8for_each4callNtB1r_9TokenTreeNCNvXs_NtNtCs9mNDKRZk0IV_5alloc3vec11spec_extendINtB4K_3VecB4l_EINtB4I_10SpecExtendB4l_BN_E11spec_extend0E0EB1t_","symbolLocation":336,"imageIndex":3},{"imageOffset":59314247,"symbol":"_RNvXNtNtCs9mNDKRZk0IV_5alloc3vec14spec_from_iterINtB4_3VecNtNtCsetNeWcxqv12_12rustc_expand3mbe9TokenTreeEINtB2_12SpecFromIterBU_INtNtNtNtCsasXF9FuNFFy_4core4iter8adapters3map3MapINtNtNtB2b_5slice4iter4IterNtNtBW_12macro_parser10NamedMatchENCNvNtBW_11macro_rules25compile_declarative_macros_0EE9from_iterBY_","symbolLocation":247,"imageIndex":3},{"imageOffset":59702867,"symbol":"_RNvNtNtCsetNeWcxqv12_12rustc_expand3mbe11macro_rules25compile_declarative_macro","symbolLocation":2451,"imageIndex":3},{"imageOffset":41452116,"symbol":"_RNvMs_NtCsfI4xnekMpqO_13rustc_resolve6macrosNtB6_8Resolver13compile_macro","symbolLocation":68,"imageIndex":3},{"imageOffset":41170919,"symbol":"_RNvMs3_NtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graphNtB5_24BuildReducedGraphVisitor12define_macro","symbolLocation":295,"imageIndex":3},{"imageOffset":41175176,"symbol":"_RNvXs4_NtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graphNtB5_24BuildReducedGraphVisitorNtNtCs9cCHMvxMcfg_9rustc_ast5visit7Visitor10visit_item","symbolLocation":56,"imageIndex":3},{"imageOffset":41654172,"symbol":"_RINvNtCs9cCHMvxMcfg_9rustc_ast5visit9walk_itemNtNtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graph24BuildReducedGraphVisitorEBM_","symbolLocation":572,"imageIndex":3},{"imageOffset":41183932,"symbol":"_RNvXs4_NtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graphNtB5_24BuildReducedGraphVisitorNtNtCs9cCHMvxMcfg_9rustc_ast5visit7Visitor10visit_item","symbolLocation":8812,"imageIndex":3},{"imageOffset":41654172,"symbol":"_RINvNtCs9cCHMvxMcfg_9rustc_ast5visit9walk_itemNtNtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graph24BuildReducedGraphVisitorEBM_","symbolLocation":572,"imageIndex":3},{"imageOffset":41183932,"symbol
":"_RNvXs4_NtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graphNtB5_24BuildReducedGraphVisitorNtNtCs9cCHMvxMcfg_9rustc_ast5visit7Visitor10visit_item","symbolLocation":8812,"imageIndex":3},{"imageOffset":41982701,"symbol":"_RINvMs6_NtCsetNeWcxqv12_12rustc_expand6expandNtB6_11AstFragment10visit_withNtNtCsfI4xnekMpqO_13rustc_resolve19build_reduced_graph24BuildReducedGraphVisitorEB1f_","symbolLocation":685,"imageIndex":3},{"imageOffset":41407943,"symbol":"_RNvXNtCsfI4xnekMpqO_13rustc_resolve6macrosNtB4_8ResolverNtNtCsetNeWcxqv12_12rustc_expand4base14ResolverExpand36visit_ast_fragment_with_placeholders","symbolLocation":487,"imageIndex":3},{"imageOffset":58815683,"symbol":"_RNvMs1_NtCsetNeWcxqv12_12rustc_expand6expandNtB5_13MacroExpander19collect_invocations","symbolLocation":707,"imageIndex":3},{"imageOffset":58795456,"symbol":"_RNvMs1_NtCsetNeWcxqv12_12rustc_expand6expandNtB5_13MacroExpander21fully_expand_fragment","symbolLocation":256,"imageIndex":3},{"imageOffset":58794722,"symbol":"_RNvMs1_NtCsetNeWcxqv12_12rustc_expand6expandNtB5_13MacroExpander12expand_crate","symbolLocation":1186,"imageIndex":3},{"imageOffset":2611788,"symbol":"_RINvMNtCs3NuVQBhYW7C_13rustc_session5utilsNtNtB5_7session7Session4timeINtNtCsasXF9FuNFFy_4core6result6ResultNtNtCs9cCHMvxMcfg_9rustc_ast3ast5CrateNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedENCNvNtCslf2ReciObD5_15rustc_interface6passes20configure_and_expands_0EB3a_","symbolLocation":1116,"imageIndex":3},{"imageOffset":2037712,"symbol":"_RNvNtCslf2ReciObD5_15rustc_interface6passes20configure_and_expand","symbolLocation":528,"imageIndex":3},{"imageOffset":2061780,"symbol":"_RNvMs0_NtCslf2ReciObD5_15rustc_interface7queriesNtB5_7Queries9expansion","symbolLocation":836,"imageIndex":3},{"imageOffset":849599,"symbol":"_RINvMs2_NtCslf2ReciObD5_15rustc_interface7queriesNtNtB8_9interface8Compiler5enterNCNCNvCskBROs5LPUyG_12rustc_driver12run_compilers_0s0_0INtNtCsasXF9FuNFFy_4core6result6ResultINtNtB2f_6option6OptionNtB6_6LinkerENtCsdjh14Z7klAl_12rustc_errors13ErrorReportedEEB1n_","symbolLocation":1327,"imageIndex":3},{"imageOffset":805000,"symbol":"_RINvCskTEkA9M7v6o_10rustc_span15with_source_mapINtNtCsasXF9FuNFFy_4core6result6ResultuNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedENCINvNtCslf2ReciObD5_15rustc_interface9interface23create_compiler_and_runBJ_NCNvCskBROs5LPUyG_12rustc_driver12run_compilers_0Es_0EB3o_","symbolLocation":376,"imageIndex":3},{"imageOffset":854095,"symbol":"_RINvMs_Cs7KVLOe8Wn3E_10scoped_tlsINtB5_9ScopedKeyNtCskTEkA9M7v6o_10rustc_span14SessionGlobalsE3setNCNCINvNtCslf2ReciObD5_15rustc_interface4util51setup_callbacks_and_run_in_thread_pool_with_globalsNCINvNtB1H_9interface12run_compilerINtNtCsasXF9FuNFFy_4core6result6ResultuNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedENCNvCskBROs5LPUyG_12rustc_driver12run_compilers_0E0B3H_E00B3H_EB58_","symbolLocation":1311,"imageIndex":3},{"imageOffset":840658,"symbol":"_RINvNtNtCsh2iSufJsRi7_3std10sys_common9backtrace28___rust_begin_short_backtraceNCINvNtCslf2ReciObD5_15rustc_interface4util51setup_callbacks_and_run_in_thread_pool_with_globalsNCINvNtB1m_9interface12run_compilerINtNtCsasXF9FuNFFy_4core6result6ResultuNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedENCNvCskBROs5LPUyG_12rustc_driver12run_compilers_0E0B3m_E0B3m_EB4N_","symbolLocation":146,"imageIndex":3},{"imageOffset":1208533,"symbol":"_RNSNvYNCINvMNtCsh2iSufJsRi7_3std6threadNtBa_7Builder15spawn_uncheckedNCINvNtCslf2ReciObD5_15rustc_interface4util51setup_callbacks_and_run_in_thread_pool_with_globalsNCINvNtB1c_9interface12run_compilerINtNtCsasXF9FuNFFy_4core6result6ResultuNtCsdjh14Z7klAl_12rustc_errors13ErrorReportedENCNvCskBROs5LPUyG_12rustc_driver12run_compilers_0E0B3c_E0B3c_Es_0INtNtNtB3h_3ops8function6FnOn
ceuE9call_once6vtableB4D_","symbolLocation":165,"imageIndex":3},{"imageOffset":226247,"symbol":"std::sys::unix::thread::Thread::new::thread_start::h78d8518f6f52ffd3","symbolLocation":39,"imageIndex":2},{"imageOffset":25844,"symbol":"_pthread_start","symbolLocation":125,"imageIndex":1},{"imageOffset":8207,"symbol":"thread_start","symbolLocation":15,"imageIndex":1}]}],
  "usedImages" : [
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703639793664,
    "size" : 225280,
    "uuid" : "5aa1e5be-b5b8-3a02-9885-a8c99e0ca378",
    "path" : "\/usr\/lib\/system\/libsystem_kernel.dylib",
    "name" : "libsystem_kernel.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703640018944,
    "size" : 49152,
    "uuid" : "6c7561b4-4b92-3f45-921e-abe669299844",
    "path" : "\/usr\/lib\/system\/libsystem_pthread.dylib",
    "name" : "libsystem_pthread.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4346793984,
    "size" : 1114112,
    "uuid" : "a2488d1b-6b9b-3b55-9a2e-67d19d2b04ff",
    "path" : "\/Volumes\/VOLUME\/*\/libstd-de515994d461a049.dylib",
    "name" : "libstd-de515994d461a049.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4525465600,
    "size" : 91684864,
    "uuid" : "80271f80-5ed6-3a63-b128-9ea2934c17d9",
    "path" : "\/Volumes\/VOLUME\/*\/librustc_driver-9d1dd63cf081cf4c.dylib",
    "name" : "librustc_driver-9d1dd63cf081cf4c.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 4340334592,
    "size" : 16384,
    "uuid" : "5b5b970c-fb3b-32ee-9f3a-ff56e63570ea",
    "path" : "\/Volumes\/VOLUME\/*\/rustc",
    "name" : "rustc"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703638777856,
    "size" : 561152,
    "uuid" : "e58814cc-dcb7-35a5-badc-e367ed3ac207",
    "path" : "\/usr\/lib\/system\/libsystem_c.dylib",
    "name" : "libsystem_c.dylib"
  },
  {
    "source" : "P",
    "arch" : "x86_64",
    "base" : 140703638056960,
    "size" : 180224,
    "uuid" : "ca14841a-43f1-3f98-ad36-4a7c5c2447da",
    "path" : "\/usr\/lib\/system\/libsystem_malloc.dylib",
    "name" : "libsystem_malloc.dylib"
  }
],
  "sharedCache" : {
  "base" : 140703636791296,
  "size" : 15216738304,
  "uuid" : "40432a03-88d3-305f-9c0c-e7549e71d927"
},
  "vmSummary" : "ReadOnly portion of Libraries: Total=257.8M resident=0K(0%) swapped_out_or_unallocated=257.8M(100%)\nWritable regions: Total=1.1G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=1.1G(100%)\n\n                                VIRTUAL   REGION \nREGION TYPE                        SIZE    COUNT (non-coalesced) \n===========                     =======  ======= \nKernel Alloc Once                    8K        1 \nMALLOC                           753.6M      189 \nMALLOC guard page                   16K        4 \nMALLOC_NANO (reserved)           384.0M        1         reserved VM address space (unallocated)\nSTACK GUARD                          4K        1 \nStack                             16.0M        3 \nStack Guard                       56.0M        1 \nVM_ALLOCATE                         24K        6 \nVM_ALLOCATE (reserved)             256K        2         reserved VM address space (unallocated)\n__DATA                            7865K       45 \n__DATA_CONST                       296K       37 \n__DATA_DIRTY                        58K       22 \n__LINKEDIT                       163.5M        7 \n__OBJC_RO                         81.8M        1 \n__OBJC_RW                         3136K        2 \n__TEXT                            94.3M       49 \ndyld private memory               1024K        1 \nshared memory                        8K        1 \n===========                     =======  ======= \nTOTAL                              1.5G      373 \nTOTAL, minus reserved VM space     1.1G      373 \n",
  "legacyInfo" : {
  "threadTriggered" : {
    "name" : "rustc"
  }
},
  "trialInfo" : {
  "rollouts" : [
    {
      "rolloutId" : "60da5e84ab0ca017dace9abf",
      "factorPackIds" : {

      },
      "deploymentId" : 240000008
    },
    {
      "rolloutId" : "607844aa04477260f58a8077",
      "factorPackIds" : {
        "SIRI_MORPHUN_ASSETS" : "6103050cbfe6dc472e1c982a"
      },
      "deploymentId" : 240000066
    },
    {
      "rolloutId" : "602ad4dac86151000cf27e46",
      "factorPackIds" : {
        "SIRI_DICTATION_ASSETS" : "6193d03f2171a2330e561dfc"
      },
      "deploymentId" : 240000290
    },
    {
      "rolloutId" : "5ffde50ce2aacd000d47a95f",
      "factorPackIds" : {

      },
      "deploymentId" : 240000090
    },
    {
      "rolloutId" : "601d9415f79519000ccd4b69",
      "factorPackIds" : {
        "SIRI_TEXT_TO_SPEECH" : "61c11dcd2cb6041dc630dc63"
      },
      "deploymentId" : 240000356
    },
    {
      "rolloutId" : "5fc94383418129005b4e9ae0",
      "factorPackIds" : {

      },
      "deploymentId" : 240000196
    }
  ],
  "experiments" : [

  ]
}
}

Thanks!

@hkratz
Copy link
Contributor

hkratz commented Dec 28, 2021

This is another instance of #92173. Uncomment and set jemalloc = true in your config.toml to work around this issue. It makes rustc a lot faster anyway. ;-)

@timwalls
Copy link
Author

Ahh, that's both awesome and at the same time please accept my apologies for wasting your time - I swear I did look for related issues first but my search-fu was obvviously seriously lacking. Thanks for the help!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I-crash Issue: The compiler crashes (SIGSEGV, SIGABRT, etc). Use I-ICE instead when the compiler panics. O-macos Operating system: macOS
Projects
None yet
Development

No branches or pull requests

3 participants