Skip to content

Translation ices when ui test --bless fails #102381

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
mejrs opened this issue Sep 27, 2022 · 1 comment
Closed

Translation ices when ui test --bless fails #102381

mejrs opened this issue Sep 27, 2022 · 1 comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@mejrs
Copy link
Contributor

mejrs commented Sep 27, 2022

Code

See https://github.com/mejrs/rust/tree/translation_ice (most notably, the "oops" commit).

Meta

rustc 1.66.0-nightly (3f83906b3 2022-09-24)
binary: rustc
commit-hash: 3f83906b30798bf61513fa340524cebf6676f9db
commit-date: 2022-09-24
host: x86_64-pc-windows-msvc
release: 1.66.0-nightly
LLVM version: 15.0.0

Error output

PS C:\Users\bruno\Rust\rust> python x.py test src/test/ui/suggestions/inner_type.rs --bless
Building rustbuild
    Finished dev [unoptimized] target(s) in 0.08s
Building stage0 std artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
    Finished release [optimized] target(s) in 0.27s
Copying stage0 std from stage0 (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc / x86_64-pc-windows-msvc)
Building stage0 compiler artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
    Finished release [optimized] target(s) in 0.42s
Copying stage0 rustc from stage0 (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc / x86_64-pc-windows-msvc)
Assembling stage1 compiler (x86_64-pc-windows-msvc)
Building stage1 std artifacts (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)
    Finished release [optimized] target(s) in 0.30s
Copying stage1 std from stage1 (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc / x86_64-pc-windows-msvc)
Building stage0 tool compiletest (x86_64-pc-windows-msvc)
    Finished release [optimized] target(s) in 0.29s
Check compiletest suite=ui mode=ui (x86_64-pc-windows-msvc -> x86_64-pc-windows-msvc)

running 1 test
F
failures:

---- [ui] src/test\ui\suggestions\inner_type.rs stdout ----

error: Error: expected failure status (Some(1)) but received status Some(101).
status: exit code: 101
command: PATH="C:\Users\bruno\Rust\rust\build\x86_64-pc-windows-msvc\stage1\bin;C:\Program Files (x86)\Windows Kits\10\bin\x64;C:\Program Files (x86)\Windows Kits\10\bin\10.0.22621.0\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64;C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.33.31629\bin\HostX64\x64;C:\Users\bruno\Rust\rust\build\x86_64-pc-windows-msvc\stage0-bootstrap-tools\x86_64-pc-windows-msvc\release\deps;C:\Users\bruno\Rust\rust\build\x86_64-pc-windows-msvc\stage0\bin;C:\Program Files\WindowsApps\Microsoft.PowerShell_7.2.6.0_x64__8wekyb3d8bbwe;C:\Users\bruno\.cargo\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Program Files\NVIDIA Corporation\NVIDIA NvDLISR;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\Git\cmd;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\Amazon\AWSCLIV2\;C:\Program Files\dotnet\;c:\Program Files\Git\bin;C:\Users\bruno\AppData\Local\Programs\Python\Python310\Scripts\;C:\Users\bruno\AppData\Local\Programs\Python\Python310\;C:\Users\bruno\AppData\Local\Microsoft\WindowsApps;C:\Users\bruno\AppData\Local\Programs\Microsoft VS Code\bin;C:\Users\bruno\.dotnet\tools" "C:\\Users\\bruno\\Rust\\rust\\build\\x86_64-pc-windows-msvc\\stage1\\bin\\rustc.exe" "C:\\Users\\bruno\\Rust\\rust\\src/test\\ui\\suggestions\\inner_type.rs" "-Zthreads=1" "--target=x86_64-pc-windows-msvc" "--error-format" "json" "--json" "future-incompat" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Cstrip=debuginfo" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "C:\\Users\\bruno\\Rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\ui\\suggestions\\inner_type" "-A" "unused" "-Crpath" "-Cdebuginfo=0" "-Lnative=C:\\Users\\bruno\\Rust\\rust\\build\\x86_64-pc-windows-msvc\\native\\rust-test-helpers" "--edition=2021" "-L" "C:\\Users\\bruno\\Rust\\rust\\build\\x86_64-pc-windows-msvc\\test\\ui\\suggestions\\inner_type\\auxiliary"
stdout: none
--- stderr -------------------------------
error[E0599]: no method named `method` found for struct `RefCell` in the current scope
  --> C:\Users\bruno\Rust\rust\src/test\ui\suggestions\inner_type.rs:17:16
   |
LL |     other_item.method();
   |                ^^^^^^ method not found in `RefCell<Struct<u32>>`
   |
note: the method `method` exists on the type `Struct<u32>`
  --> C:\Users\bruno\Rust\rust\src/test\ui\suggestions\inner_type.rs:9:5
   |
LL |     pub fn method(&self) {}
   |     ^^^^^^^^^^^^^^^^^^^^
help: use `.borrow()` to borrow the `Struct<u32>`, panicking if any outstanding mutable borrows exist.
   |
LL |     other_item.borrow().method();
   |               +++++++++

error[E0599]: no method named `some_mutable_method` found for struct `RefCell` in the current scope
  --> C:\Users\bruno\Rust\rust\src/test\ui\suggestions\inner_type.rs:21:16
   |
LL |     other_item.some_mutable_method();
   |                ^^^^^^^^^^^^^^^^^^^ method not found in `RefCell<Struct<u32>>`
   |
note: the method `some_mutable_method` exists on the type `Struct<u32>`
  --> C:\Users\bruno\Rust\rust\src/test\ui\suggestions\inner_type.rs:11:5
   |
LL |     pub fn some_mutable_method(&mut self) {}
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
help: use `.borrow_mut()` to mutably borrow the `Struct<u32>`, panicking if any outstanding borrows exist.
   |
LL |     other_item.borrow_mut().some_mutable_method();
   |               +++++++++++++

thread 'rustc' panicked at 'identifier: "typeck_method_present_on_inner_type", attr: None, args: FluentArgs([("borrow_kind", String("mutably borrow")), ("borrow_method", String("lock().unwrap()")), ("inner_type_name", String("Struct<u32>"))]), errors: [ResolverError(Reference(Message { id: "borrow_method", attribute: None })), ResolverError(Reference(Message { id: "borrow_kind", attribute: None })), ResolverError(Reference(Message { id: "inner_type_name", attribute: None }))]', compiler\rustc_errors\src\translation.rs:91:17
stack backtrace:
   0:     0x7ffbe79fa585 - std::backtrace_rs::backtrace::trace_unsynchronized::he88606f6dc7550c6
   1:     0x7ffbe79d40a9 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::he076d275eafbc118
   2:     0x7ffbe7a2c30b - core::fmt::write::hba0b669278d9c5d4
   3:     0x7ffbe7a00c4a - std::io::Write::write_fmt::h8b983e7f0a346fbc
   4:     0x7ffbe79fe5d4 - std::panicking::default_hook::h246939068f78b9b9
   5:     0x7ffbe79fe174 - std::panicking::default_hook::h246939068f78b9b9
   6:     0x7ffba26d626d - rustc_driver[6b2af9691b3371e6]::handle_options
   7:     0x7ffbe79ff420 - std::panicking::rust_panic_with_hook::ha5ecf9138fb50366
   8:     0x7ffbe79d485d - std::sys_common::backtrace::output_filename::h6c89a58e876d7cef
   9:     0x7ffbe79d44ef - std::sys_common::backtrace::__rust_end_short_backtrace::h27316d87cc948b7f
  10:     0x7ffbe79fef60 - rust_begin_unwind
  11:     0x7ffbe7a603e5 - core::panicking::panic_fmt::h0cf1c422f3226b39
  12:     0x7ffba554a619 - <rustc_errors[5c3e74d99743e49c]::emitter::EmitterWriter as rustc_errors[5c3e74d99743e49c]::translation::Translate>::translate_message
  13:     0x7ffba553b8de - <rustc_errors[5c3e74d99743e49c]::emitter::EmitterWriter>::get_multispan_max_line_num
  14:     0x7ffba5540c53 - <rustc_errors[5c3e74d99743e49c]::emitter::EmitterWriter>::emit_messages_default
  15:     0x7ffba553970c - <rustc_errors[5c3e74d99743e49c]::emitter::EmitterWriter as rustc_errors[5c3e74d99743e49c]::emitter::Emitter>::emit_diagnostic
  16:     0x7ffba55319e6 - <rustc_errors[5c3e74d99743e49c]::json::Diagnostic>::from_errors_diagnostic
  17:     0x7ffba552fe3d - <rustc_errors[5c3e74d99743e49c]::json::JsonEmitter as rustc_errors[5c3e74d99743e49c]::emitter::Emitter>::emit_diagnostic
  18:     0x7ffba5527a05 - <rustc_errors[5c3e74d99743e49c]::HandlerInner>::emit_diagnostic
  19:     0x7ffba5521d8a - <rustc_errors[5c3e74d99743e49c]::ErrorGuaranteed as rustc_errors[5c3e74d99743e49c]::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
  20:     0x7ffba32c0e74 - <rustc_session[bad7b2cea57f67b3]::session::Session>::emit_err::<rustc_hir_analysis[6de03e271f472c37]::errors::MethodPresentOnInnerType>
  21:     0x7ffba31865cd - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::report_method_error
  22:     0x7ffba31b8140 - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_expr_kind
  23:     0x7ffba314f92c - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  24:     0x7ffba316b4ed - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_stmt
  25:     0x7ffba316bbfb - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_block_no_value
  26:     0x7ffba31b609a - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_expr_kind
  27:     0x7ffba314f92c - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
  28:     0x7ffba31508e7 - <rustc_hir_analysis[6de03e271f472c37]::check::fn_ctxt::FnCtxt>::check_return_expr
  29:     0x7ffba312443c - rustc_hir_analysis[6de03e271f472c37]::check::check::check_fn
  30:     0x7ffba3237a6f - <rustc_hir_analysis[6de03e271f472c37]::check::inherited::InheritedBuilder>::enter::<rustc_hir_analysis[6de03e271f472c37]::check::typeck_with_fallback<rustc_hir_analysis[6de03e271f472c37]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[f39f220e5d25ccac]::ty::context::TypeckResults>
  31:     0x7ffba326357d - rustc_hir_analysis[6de03e271f472c37]::check::typeck
  32:     0x7ffba442a27d - RINvNtNtCs4PWNCSeCmjD_18rustc_query_system5query8plumbing17try_execute_queryNtNtCsccXh3wGVe3b_16rustc_query_impl8plumbing9QueryCtxtINtNtB4_6caches12DefaultCacheNtNtCsgLXSqfT5oQe_10rustc_span6def_id10LocalDefIdRNtNtNtCskUN6X8gc694_12rustc_middle2ty7context
  33:     0x7ffba4576906 - rustc_query_system[3859892e38f9270b]::query::plumbing::get_query::<rustc_query_impl[8e34959f298e7617]::queries::typeck, rustc_query_impl[8e34959f298e7617]::plumbing::QueryCtxt>
  34:     0x7ffba3260b55 - RNvXsl_NtNtCsckzBuFJ6fEy_4core5panic11unwind_safeINtB5_16AssertUnwindSafeNCNCINvNtCsaGlIXQSCW4V_21rustc_data_structures4sync15par_for_each_inRSNtNtCsgLXSqfT5oQe_10rustc_span6def_id10LocalDefIdNCINvMs0_NtNtCskUN6X8gc694_12rustc_middle3hir3mapNtB3d_3Map15pa
  35:     0x7ffba328346c - RINvNtCsaGlIXQSCW4V_21rustc_data_structures4sync15par_for_each_inRSNtNtCsgLXSqfT5oQe_10rustc_span6def_id10LocalDefIdNCINvMs0_NtNtCskUN6X8gc694_12rustc_middle3hir3mapNtB1Z_3Map15par_body_ownersNCNvNtCs9qRL70CdlzL_18rustc_hir_analysis5check18typeck_item_bod
  36:     0x7ffba3269365 - rustc_hir_analysis[6de03e271f472c37]::check::typeck_item_bodies
  37:     0x7ffba45061ac - rustc_query_system[3859892e38f9270b]::query::plumbing::try_execute_query::<rustc_query_impl[8e34959f298e7617]::plumbing::QueryCtxt, rustc_query_system[3859892e38f9270b]::query::caches::DefaultCache<(), ()>>
  38:     0x7ffba456a6ff - rustc_query_system[3859892e38f9270b]::query::plumbing::get_query::<rustc_query_impl[8e34959f298e7617]::queries::typeck_item_bodies, rustc_query_impl[8e34959f298e7617]::plumbing::QueryCtxt>
  39:     0x7ffba32bddd6 - <rustc_session[bad7b2cea57f67b3]::session::Session>::time::<(), rustc_hir_analysis[6de03e271f472c37]::check_crate::{closure#7}>
  40:     0x7ffba308d119 - rustc_hir_analysis[6de03e271f472c37]::check_crate
  41:     0x7ffba28639f2 - rustc_interface[1333b70366473588]::passes::analysis
  42:     0x7ffba44f0f3c - rustc_query_system[3859892e38f9270b]::query::plumbing::try_execute_query::<rustc_query_impl[8e34959f298e7617]::plumbing::QueryCtxt, rustc_query_system[3859892e38f9270b]::query::caches::DefaultCache<(), core[8fa2f8732167b690]::result::Result<(), rustc_errors[5c3e74d99743e49c]::ErrorGuaranteed>>>.
  43:     0x7ffba4576d0f - rustc_query_system[3859892e38f9270b]::query::plumbing::get_query::<rustc_query_impl[8e34959f298e7617]::queries::analysis, rustc_query_impl[8e34959f298e7617]::plumbing::QueryCtxt>
  44:     0x7ffba271a9ac - <rustc_interface[1333b70366473588]::passes::QueryContext>::enter::<rustc_driver[6b2af9691b3371e6]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[8fa2f8732167b690]::result::Result<(), rustc_errors[5c3e74d99743e49c]::ErrorGuaranteed>>
  45:     0x7ffba26dcc36 - RINvMs2_NtCs1Ed8n81gOTs_15rustc_interface7queriesNtNtB8_9interface8Compiler5enterNCNCNvCs9cs1FDsEeX2_12rustc_driver12run_compilers_0s0_0INtNtCsckzBuFJ6fEy_4core6result6ResultINtNtB2f_6option6OptionNtB6_6LinkerENtCs7V0M0OscWiS_12rustc_errors15ErrorGuarante
  46:     0x7ffba2778535 - RINvCsgLXSqfT5oQe_10rustc_span15with_source_mapINtNtCsckzBuFJ6fEy_4core6result6ResultuNtCs7V0M0OscWiS_12rustc_errors15ErrorGuaranteedENCINvNtCs1Ed8n81gOTs_15rustc_interface9interface23create_compiler_and_runBJ_NCNvCs9cs1FDsEeX2_12rustc_driver12run_compile
  47:     0x7ffba26de563 - rustc_interface[1333b70366473588]::interface::create_compiler_and_run::<core[8fa2f8732167b690]::result::Result<(), rustc_errors[5c3e74d99743e49c]::ErrorGuaranteed>, rustc_driver[6b2af9691b3371e6]::run_compiler::{closure#1}>
  48:     0x7ffba2763ef7 - RINvMs_Cs4XKhvDowuxM_10scoped_tlsINtB5_9ScopedKeyNtCsgLXSqfT5oQe_10rustc_span14SessionGlobalsE3setNCINvNtCs1Ed8n81gOTs_15rustc_interface9interface12run_compilerINtNtCsckzBuFJ6fEy_4core6result6ResultuNtCs7V0M0OscWiS_12rustc_errors15ErrorGuaranteedENCNvCs9c
  49:     0x7ffba271e2c6 - RINvNtNtCs8TzYDGvlNYf_3std10sys_common9backtrace28___rust_begin_short_backtraceNCINvNtCs1Ed8n81gOTs_15rustc_interface4util31run_in_thread_pool_with_globalsNCINvNtB1m_9interface12run_compilerINtNtCsckzBuFJ6fEy_4core6result6ResultuNtCs7V0M0OscWiS_12rustc_er
  50:     0x7ffba2723823 - RNCINvNvXsh_NtNtNtCsckzBuFJ6fEy_4core4iter8adapters7flattenINtBa_13FlattenCompatppENtNtNtBe_6traits8iterator8Iterator8try_fold7flattenINtNtNtBg_5slice4iter4IterNtNtCsgLXSqfT5oQe_10rustc_span13span_encoding4SpanEuINtNtNtBg_3ops12control_flow11ControlFlowTN
  51:     0x7ffbe79e3c3c - std::sys::windows::thread::Thread::new::thread_start::hbe27a24c4d0b544b
  52:     0x7ffc8bd954e0 - BaseThreadInitThunk
  53:     0x7ffc8cfe485b - RtlUserThreadStart

error: internal compiler error: unexpected panic

note: the compiler unexpectedly panicked. this is a bug.

note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md

note: rustc 1.66.0-dev running on x86_64-pc-windows-msvc

note: compiler flags: -Z threads=1 -C codegen-units=1 -Z ui-testing -Z deduplicate-diagnostics=no -C strip=debuginfo -C prefer-dynamic -C rpath -C debuginfo=0

query stack during panic:
#0 [typeck] type-checking `main`
#1 [typeck_item_bodies] type-checking all item bodies
#2 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 2 previous errors

For more information about this error, try `rustc --explain E0599`.

@rustbot label +A-diagnostics +A-translation

@mejrs mejrs added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Sep 27, 2022
@rustbot rustbot added A-diagnostics Area: Messages for errors, warnings, and lints A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic labels Sep 27, 2022
@davidtwco
Copy link
Member

I think this is a duplicate of #103539. In your branch, the Fluent message is incorrect (using {foo} rather than {$foo} which tries to interpolate another message which doesn't exist, rather than a variable/argument). All that's happening here is that it causes the translation to ICE, which in this specific case is hard for us to catch (see #103539 (comment)), but also due to the nature of what caused this - shouldn't affect users. This will happen regardless of whether you are running with --bless, it's just that because the compiler invocation failed with an ICE, --bless didn't save the output.

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints A-translation Area: Translation infrastructure, and migrating existing diagnostics to SessionDiagnostic C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

No branches or pull requests

3 participants