Open la10736 opened 2 months ago
Ok, I have some bad and some good news.
The bad one is that this bug is landed in stable 1.79.0 :cry:
The good one is that I can give you a repo to reproduce it:
Clone https://github.com/HorizenLabs/zkVerify , here the follow command reproduce the issue:
cargo llvm-cov --all-features --workspace --lcov --output-path lcov.info
That's a regression on stable from 1.78 to 1.79
I'm sorry, I know that's a huge but I don't know how to narrow it.
@jieyouxu Now that this bug is landed on stable shall not be better to take another look on it? If there's something that I can do let me know.
Code
Unfortunately I cannot provide a minimal example. I meet this issue while I'm trying to run coverage on nightly to experiment on
coverage_attribute
feature on an substrate based project.I've experimented this issue with both
nightly-2024-05-20
andnightly-2024-04-
0`. I cannot bisect on it because the compilation time is too hugeThe good news is that botn
cargo +nightly build
cargo +nightly test
work fine and the issue seams just related to the coverage stuff.Meta
rustc --version --verbose
:Error output
rustc-ice-2024-05-21T08_17_56-165861.txt
Backtrace
``` stack backtrace: 0: std::panicking::begin_panic::
1: ::emit_producing_guarantee
2: rustc_middle::util::bug::opt_span_bug_fmt::::{closure#0}
3: rustc_middle::ty::context::tls::with_opt::::{closure#0}, !>::{closure#0}
4: rustc_middle::ty::context::tls::with_context_opt::::{closure#0}, !>::{closure#0}, !>
5: rustc_middle::util::bug::bug_fmt
6: >::fold_ty
7: <&rustc_middle::ty::list::RawList<(), rustc_middle::ty::generic_args::GenericArg> as rustc_type_ir::fold::TypeFoldable>::try_fold_with::
8: ::print_impl_path
9: ::print_def_path
10: ::print_def_path
11: rustc_symbol_mangling::v0::mangle
12: rustc_symbol_mangling::symbol_name_provider
[... omitted 1 frame ...]
13: rustc_monomorphize::partitioning::assert_symbols_are_distinct::>
14: rustc_monomorphize::partitioning::collect_and_partition_mono_items
[... omitted 2 frames ...]
15: rustc_codegen_ssa::base::codegen_crate::
16: ::codegen_crate
17: rustc_interface::passes::start_codegen
18: ::codegen_and_build_linker
19: rustc_interface::interface::run_compiler::, rustc_driver_impl::run_compiler::{closure#0}>::{closure#1}
```
```text
note: compiler flags: --crate-type bin -C embed-bitcode=no -C debuginfo=2 -C incremental=[REDACTED] -C instrument-coverage
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [symbol_name] computing the symbol for `, sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic, nh_runtime::RuntimeCall, sp_runtime::MultiSignature, (frame_system::extensions::check_non_zero_sender::CheckNonZeroSender, frame_system::extensions::check_spec_version::CheckSpecVersion, frame_system::extensions::check_tx_version::CheckTxVersion, frame_system::extensions::check_genesis::CheckGenesis, frame_system::extensions::check_mortality::CheckMortality, frame_system::extensions::check_nonce::CheckNonce, frame_system::extensions::check_weight::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment)>>> as core::convert::From<&, sp_runtime::generic::unchecked_extrinsic::UncheckedExtrinsic, nh_runtime::RuntimeCall, sp_runtime::MultiSignature, (frame_system::extensions::check_non_zero_sender::CheckNonZeroSender, frame_system::extensions::check_spec_version::CheckSpecVersion, frame_system::extensions::check_tx_version::CheckTxVersion, frame_system::extensions::check_genesis::CheckGenesis, frame_system::extensions::check_mortality::CheckMortality, frame_system::extensions::check_nonce::CheckNonce, frame_system::extensions::check_weight::CheckWeight, pallet_transaction_payment::ChargeTransactionPayment)>> as sp_runtime::traits::Block>::Header>>::from`
#1 [collect_and_partition_mono_items] collect_and_partition_mono_items
end of query stack
```