Skip to content

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

Closed
@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.

# 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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions