Closed
Description
Code
use std::{io::{Read, self, Write}, fs::File};
use skia_safe::{Surface, Bitmap, IRect, IPoint};
fn main() -> io::Result<()> {
let mut surface = Surface::new_raster_n32_premul((1,1)).unwrap();
let canvas = surface.canvas();
let bitmap = Bitmap::new();
// this makes compiler panic
surface.read_pixels_to_bitmap(&bitmap, surface.image_info().into());
let data = surface.image_snapshot().encode_to_data(skia_safe::EncodedImageFormat::PNG).unwrap();
let b = data.as_bytes();
let mut f = File::create("output.png")?;
f.write_all(b)?;
Ok(())
}
Meta
rustc --version --verbose
:
rustc 1.63.0-nightly (fee3a459d 2022-06-05)
binary: rustc
commit-hash: fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401
commit-date: 2022-06-05
host: x86_64-unknown-linux-gnu
release: 1.63.0-nightly
LLVM version: 14.0.5
cat /proc/version
Linux version 5.15.0-35-generic (buildd@lcy02-amd64-029) (gcc (Ubuntu 11.2.0-19ubuntu1) 11.2.0, GNU ld (GNU Binutils for Ubuntu) 2.38) #36-Ubuntu SMP Sat May 21 02:24:07 UTC 2022
Error output
error: internal compiler error: compiler/rustc_infer/src/infer/error_reporting/need_type_info.rs:856:33: unexpected path: def=skia_safe::RCHandle substs=[skia_bindings::bindings::SkSurface] path=Path { span: src/main.rs:6:23: 6:30 (#0), res: Def(TyAlias, DefId(20:5421 ~ skia_safe[b049]::core::surface::Surface)), segments: [PathSegment { ident: Surface#0, hir_id: Some(HirId { owner: DefId(0:30 ~ skia[a9b6]::main), local_id: 3 }), res: Some(Err), args: None, infer_args: true }] }
/** backtrace */
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.63.0-nightly (fee3a459d 2022-06-05) running on x86_64-unknown-linux-gnu
note: compiler flags: --crate-type bin -C opt-level=3 -C lto=thin -C codegen-units=1 -C strip=symbols
note: some of the compiler flags provided by cargo are hidden
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
Backtrace
thread 'rustc' panicked at 'Box<dyn Any>', /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/compiler/rustc_errors/src/lib.rs:1335:9
stack backtrace:
0: 0x7f4ef889e06d - std::backtrace_rs::backtrace::libunwind::trace::h8c7b7f7486890cf2
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
1: 0x7f4ef889e06d - std::backtrace_rs::backtrace::trace_unsynchronized::h912b0ae2b2cb4980
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f4ef889e06d - std::sys_common::backtrace::_print_fmt::h1488392e9a1a8abb
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/sys_common/backtrace.rs:66:5
3: 0x7f4ef889e06d - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h73aa6aeec3b2c391
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/sys_common/backtrace.rs:45:22
4: 0x7f4ef88f9dfc - core::fmt::write::hdb7aec85a9eb67f0
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/core/src/fmt/mod.rs:1196:17
5: 0x7f4ef888f761 - std::io::Write::write_fmt::h3b9ea19290d1fa9f
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/io/mod.rs:1654:15
6: 0x7f4ef88a0d45 - std::sys_common::backtrace::_print::hdc7b1208514711b5
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/sys_common/backtrace.rs:48:5
7: 0x7f4ef88a0d45 - std::sys_common::backtrace::print::h1a86855974f0d5da
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/sys_common/backtrace.rs:35:9
8: 0x7f4ef88a0d45 - std::panicking::default_hook::{{closure}}::hef07b2c0620cde5c
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/panicking.rs:295:22
9: 0x7f4ef88a0a66 - std::panicking::default_hook::h45641f1653b5abcc
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/panicking.rs:314:9
10: 0x7f4ef90f9b41 - rustc_driver[c1e99685c2db73b5]::DEFAULT_HOOK::{closure#0}::{closure#0}
11: 0x7f4ef88a141a - std::panicking::rust_panic_with_hook::h8217f754805ee47a
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/panicking.rs:702:17
12: 0x7f4efa1969a1 - std[d1db955791848c1d]::panicking::begin_panic::<rustc_errors[59cc4a995e9ce9c3]::ExplicitBug>::{closure#0}
13: 0x7f4efa1963b6 - std[d1db955791848c1d]::sys_common::backtrace::__rust_end_short_backtrace::<std[d1db955791848c1d]::panicking::begin_panic<rustc_errors[59cc4a995e9ce9c3]::ExplicitBug>::{closure#0}, !>
14: 0x7f4efa112db6 - std[d1db955791848c1d]::panicking::begin_panic::<rustc_errors[59cc4a995e9ce9c3]::ExplicitBug>
15: 0x7f4efa13f9e6 - std[d1db955791848c1d]::panic::panic_any::<rustc_errors[59cc4a995e9ce9c3]::ExplicitBug>
16: 0x7f4efa1385a5 - <rustc_errors[59cc4a995e9ce9c3]::HandlerInner>::bug::<&alloc[be390ceb573214bc]::string::String>
17: 0x7f4efa136900 - <rustc_errors[59cc4a995e9ce9c3]::Handler>::bug::<&alloc[be390ceb573214bc]::string::String>
18: 0x7f4efa19395d - rustc_middle[a2306e76caef41e6]::ty::context::tls::with_opt::<rustc_middle[a2306e76caef41e6]::util::bug::opt_span_bug_fmt<rustc_span[854224d9214a59e0]::span_encoding::Span>::{closure#0}, ()>
19: 0x7f4efa193a56 - rustc_middle[a2306e76caef41e6]::util::bug::opt_span_bug_fmt::<rustc_span[854224d9214a59e0]::span_encoding::Span>
20: 0x7f4efa1939d3 - rustc_middle[a2306e76caef41e6]::util::bug::bug_fmt
21: 0x7f4efa067f3b - <rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor>::path_inferred_subst_iter
22: 0x7f4efa0684c3 - <rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[738cb5ccbd463b52]::intravisit::Visitor>::visit_expr
23: 0x7f4efa06834c - <rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[738cb5ccbd463b52]::intravisit::Visitor>::visit_expr
24: 0x7f4efa081d72 - rustc_hir[738cb5ccbd463b52]::intravisit::walk_expr::<rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor>
25: 0x7f4efa06835e - <rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[738cb5ccbd463b52]::intravisit::Visitor>::visit_expr
26: 0x7f4efa07e9ec - rustc_hir[738cb5ccbd463b52]::intravisit::walk_local::<rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor>
27: 0x7f4efa067fc8 - <rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[738cb5ccbd463b52]::intravisit::Visitor>::visit_local
28: 0x7f4efa07e837 - rustc_hir[738cb5ccbd463b52]::intravisit::walk_block::<rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor>
29: 0x7f4efa06835e - <rustc_infer[3a0c873f3e819148]::infer::error_reporting::need_type_info::FindInferSourceVisitor as rustc_hir[738cb5ccbd463b52]::intravisit::Visitor>::visit_expr
30: 0x7f4efa027104 - <rustc_infer[3a0c873f3e819148]::infer::InferCtxt>::emit_inference_failure_err
31: 0x7f4ef9f79882 - <rustc_infer[3a0c873f3e819148]::infer::InferCtxt as rustc_trait_selection[3a09bc3df28e5ea6]::traits::error_reporting::InferCtxtPrivExt>::maybe_report_ambiguity
32: 0x7f4ef9f6d427 - <rustc_infer[3a0c873f3e819148]::infer::InferCtxt as rustc_trait_selection[3a09bc3df28e5ea6]::traits::error_reporting::InferCtxtExt>::report_fulfillment_errors
33: 0x7f4efa6bc874 - <rustc_infer[3a0c873f3e819148]::infer::InferCtxtBuilder>::enter::<&rustc_middle[a2306e76caef41e6]::ty::context::TypeckResults, <rustc_typeck[ccfc992085d383a]::check::inherited::InheritedBuilder>::enter<rustc_typeck[ccfc992085d383a]::check::typeck_with_fallback<rustc_typeck[ccfc992085d383a]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[a2306e76caef41e6]::ty::context::TypeckResults>::{closure#0}>
34: 0x7f4efa64eb0a - rustc_typeck[ccfc992085d383a]::check::typeck
35: 0x7f4efb748620 - <rustc_query_system[e14b08b5f6d11aca]::dep_graph::graph::DepGraph<rustc_middle[a2306e76caef41e6]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[a2306e76caef41e6]::ty::context::TyCtxt, rustc_span[854224d9214a59e0]::def_id::LocalDefId, &rustc_middle[a2306e76caef41e6]::ty::context::TypeckResults>
36: 0x7f4efac708b0 - rustc_query_system[e14b08b5f6d11aca]::query::plumbing::try_execute_query::<rustc_query_impl[43f62f427a47b107]::plumbing::QueryCtxt, rustc_query_system[e14b08b5f6d11aca]::query::caches::DefaultCache<rustc_span[854224d9214a59e0]::def_id::LocalDefId, &rustc_middle[a2306e76caef41e6]::ty::context::TypeckResults>>
37: 0x7f4efab9fabe - <rustc_query_impl[43f62f427a47b107]::Queries as rustc_middle[a2306e76caef41e6]::ty::query::QueryEngine>::typeck
38: 0x7f4efa70e3d8 - <rustc_middle[a2306e76caef41e6]::hir::map::Map>::par_body_owners::<rustc_typeck[ccfc992085d383a]::check::typeck_item_bodies::{closure#0}>
39: 0x7f4efb50616c - rustc_typeck[ccfc992085d383a]::check::typeck_item_bodies
40: 0x7f4efb767cf3 - <rustc_query_system[e14b08b5f6d11aca]::dep_graph::graph::DepGraph<rustc_middle[a2306e76caef41e6]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[a2306e76caef41e6]::ty::context::TyCtxt, (), ()>
41: 0x7f4efb8137a5 - rustc_query_system[e14b08b5f6d11aca]::query::plumbing::try_execute_query::<rustc_query_impl[43f62f427a47b107]::plumbing::QueryCtxt, rustc_query_system[e14b08b5f6d11aca]::query::caches::DefaultCache<(), ()>>
42: 0x7f4efb83dcf1 - rustc_query_system[e14b08b5f6d11aca]::query::plumbing::get_query::<rustc_query_impl[43f62f427a47b107]::queries::typeck_item_bodies, rustc_query_impl[43f62f427a47b107]::plumbing::QueryCtxt>
43: 0x7f4efb53cb13 - <rustc_session[76012b897df2a22f]::session::Session>::time::<(), rustc_typeck[ccfc992085d383a]::check_crate::{closure#7}>
44: 0x7f4efb52973b - rustc_typeck[ccfc992085d383a]::check_crate
45: 0x7f4efb2e4df7 - rustc_interface[559070acee21b240]::passes::analysis
46: 0x7f4efb7630c5 - <rustc_query_system[e14b08b5f6d11aca]::dep_graph::graph::DepGraph<rustc_middle[a2306e76caef41e6]::dep_graph::dep_node::DepKind>>::with_task::<rustc_middle[a2306e76caef41e6]::ty::context::TyCtxt, (), core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>
47: 0x7f4efb808c0d - rustc_query_system[e14b08b5f6d11aca]::query::plumbing::try_execute_query::<rustc_query_impl[43f62f427a47b107]::plumbing::QueryCtxt, rustc_query_system[e14b08b5f6d11aca]::query::caches::DefaultCache<(), core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>>
48: 0x7f4efb8502ae - rustc_query_system[e14b08b5f6d11aca]::query::plumbing::get_query::<rustc_query_impl[43f62f427a47b107]::queries::analysis, rustc_query_impl[43f62f427a47b107]::plumbing::QueryCtxt>
49: 0x7f4efb2a1ff7 - <rustc_interface[559070acee21b240]::passes::QueryContext>::enter::<rustc_driver[c1e99685c2db73b5]::run_compiler::{closure#1}::{closure#2}::{closure#3}, core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>
50: 0x7f4efb28c03f - <rustc_interface[559070acee21b240]::interface::Compiler>::enter::<rustc_driver[c1e99685c2db73b5]::run_compiler::{closure#1}::{closure#2}, core[209b93b5c8d61a70]::result::Result<core[209b93b5c8d61a70]::option::Option<rustc_interface[559070acee21b240]::queries::Linker>, rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>
51: 0x7f4efb2b5a0f - rustc_span[854224d9214a59e0]::with_source_map::<core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>, rustc_interface[559070acee21b240]::interface::create_compiler_and_run<core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>, rustc_driver[c1e99685c2db73b5]::run_compiler::{closure#1}>::{closure#1}>
52: 0x7f4efb28ced2 - <scoped_tls[74c521fe137ff8f6]::ScopedKey<rustc_span[854224d9214a59e0]::SessionGlobals>>::set::<rustc_interface[559070acee21b240]::interface::run_compiler<core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>, rustc_driver[c1e99685c2db73b5]::run_compiler::{closure#1}>::{closure#0}, core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>
53: 0x7f4efb2a268f - std[d1db955791848c1d]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[559070acee21b240]::util::run_in_thread_pool_with_globals<rustc_interface[559070acee21b240]::interface::run_compiler<core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>, rustc_driver[c1e99685c2db73b5]::run_compiler::{closure#1}>::{closure#0}, core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>::{closure#0}, core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>
54: 0x7f4efb2a27e9 - <<std[d1db955791848c1d]::thread::Builder>::spawn_unchecked_<rustc_interface[559070acee21b240]::util::run_in_thread_pool_with_globals<rustc_interface[559070acee21b240]::interface::run_compiler<core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>, rustc_driver[c1e99685c2db73b5]::run_compiler::{closure#1}>::{closure#0}, core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>::{closure#0}, core[209b93b5c8d61a70]::result::Result<(), rustc_errors[59cc4a995e9ce9c3]::ErrorGuaranteed>>::{closure#1} as core[209b93b5c8d61a70]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
55: 0x7f4ef88ab343 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6a4b26a3769f70a6
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/alloc/src/boxed.rs:1951:9
56: 0x7f4ef88ab343 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hf1c29d8811e283d3
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/alloc/src/boxed.rs:1951:9
57: 0x7f4ef88ab343 - std::sys::unix::thread::Thread::new::thread_start::h93bb7626b9b4de9a
at /rustc/fee3a459dd6aba8e34a5b99f0fbcb4218a1e2401/library/std/src/sys/unix/thread.rs:108:17
58: 0x7f4ef866cb43 - start_thread
at ./nptl/./nptl/pthread_create.c:442:8
59: 0x7f4ef86fea00 - clone3
at ./misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
60: 0x0 - <unknown>