Skip to content

panic computing autodiff attributes of <&T as core::fmt::Debug>::fmt #183

@jedbrown

Description

@jedbrown

Code

This occurs while building rustc at 012062a. I used the config.toml below and did a clean rebuild x build --stage 1 library after deleting my build directory.

Details
# 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.example.toml`).
profile = 'dist'
change-id = 129176

[llvm]

# Indicates whether the LLVM assertions are enabled or not
# NOTE: When assertions are disabled, bugs in the integration between rustc and LLVM can lead to
# unsoundness (segfaults, etc.) in the rustc process itself, not just in the generated code.
assertions = true

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

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

# Whether to build LLVM as a dynamically linked library (as opposed to statically linked).
# Under the hood, this passes `--shared` to llvm-config.
# NOTE: To avoid performing LTO multiple times, we suggest setting this to `true` when `thin-lto` is enabled.
link-shared = true

# Whether to build the clang compiler.
clang = true

# Whether to build Enzyme as AutoDiff backend.
enzyme = true

[build]

# Whether to build documentation by default. If false, rustdoc and
# friends will still be compiled but they will not be used to generate any
# documentation.
#
# You can still build documentation when this is disabled by explicitly passing paths,
# e.g. `x doc library`.
docs = 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. Useful for debugging.
configure-args = ['--enable-llvm-link-shared', '--enable-llvm-plugins', '--enable-llvm-enzyme', '--release-channel=nightly', '--enable-llvm-assertions', '--enable-clang', '
--enable-lld', '--enable-option-checking', '--enable-ninja', '--disable-docs']

[install]

[rust]
debug = true
#debuginfo-level = 2

# 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 = 'nightly'

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

# Indicates whether the `self-contained` llvm-bitcode-linker, will be made available
# in the sysroot. It is required for running nvptx tests.
llvm-bitcode-linker = true

[target.x86_64-unknown-linux-gnu]

[dist]

Error output

thread 'rustc' panicked at /home/jed/src/rust-enzyme/compiler/rustc_middle/src/ty/mod.rs:1782:13:
assertion failed: rustc_feature::encode_cross_crate(attr)
[...]

rustc version: 1.84.0-nightly (012062a3d 2024-10-27)
platform: x86_64-unknown-linux-gnu

query stack during panic:
#0 [autodiff_attrs] computing autodiff attributes of `<&T as core::fmt::Debug>::fmt`
#1 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack

Full trace: rustc-ice-2024-10-28T18_58_06-3594632.txt

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions