Closed
Description
Code
//- card.rs
/// A simple wrapper for a device node.
#[derive(Debug)]
pub struct Card(std::fs::File);
/// Implementing `AsRawFd` is a prerequisite to implementing the traits found
/// in this crate. Here, we are just calling `as_raw_fd()` on the inner File.
impl std::os::unix::io::AsRawFd for Card {
fn as_raw_fd(&self) -> std::os::unix::io::RawFd {
self.0.as_raw_fd()
}
}
/// Simple helper methods for opening a `Card`.
impl Card {
pub fn open(path: &str) -> Self {
let mut options = std::fs::OpenOptions::new();
options.read(true);
options.write(true);
Card(options.open(path).unwrap())
}
}
impl drm::Device for Card {}
impl drm::control::Device for Card {}
//- main.rs
pub use drm::Device;
pub use drm::control::Device as ControlDevice;
pub use drm::control::ResourceHandle;
pub use drm::control::property::*;
pub use drm::buffer::Buffer;
//mod buffer;
mod card;
fn main() {
let gpu = card::Card::open("/dev/dri/card0");
println!("{:#?}", gpu.get_driver().unwrap());
println!("{:#?}", gpu.get_bus_id());
println!("{:#?}", gpu.authenticated());
println!("{:#?}", gpu.create_dumb_buffer((100, 100), drm::buffer::format::PixelFormat::RGB332).unwrap());
println!("{:#?}", gpu.get_bus_id());
println!("{:#?}", gpu.plane_handles());
println!("{:#?}", gpu.resource_handles());
}
//- Cargo.toml
[package]
name = "simple_login_screen"
version = "0.1.0"
authors = ["bjorn3 <bjorn3@users.noreply.github.com>"]
edition = "2018"
[dependencies]
drm = { git = "https://github.com/Smithay/drm-rs.git", branch = "develop" }
[patch."https://github.com/Smithay/drm-rs.git"]
drm = { path = "./drm-rs" }
./drm-rs
is a checkout of Smithay/drm-rs@8a3c6cf.
Meta
cargo clean
fixed the issue.
rustc --version --verbose
:
rustc 1.45.0-nightly (647016923 2020-04-28)
binary: rustc
commit-hash: 6470169237833d02c399568a375d9b47cbfaeccc
commit-date: 2020-04-28
host: x86_64-unknown-linux-gnu
release: 1.45.0-nightly
LLVM version: 9.0
Error output
thread 'rustc' panicked at 'failed to lookup `SourceFile` in new context', src/librustc_middle/ty/query/on_disk_cache.rs:456:17
Backtrace
stack backtrace:
0: backtrace::backtrace::libunwind::trace
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
1: backtrace::backtrace::trace_unsynchronized
at /cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
2: std::sys_common::backtrace::_print_fmt
at src/libstd/sys_common/backtrace.rs:78
3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
at src/libstd/sys_common/backtrace.rs:59
4: core::fmt::write
at src/libcore/fmt/mod.rs:1069
5: std::io::Write::write_fmt
at src/libstd/io/mod.rs:1531
6: std::sys_common::backtrace::_print
at src/libstd/sys_common/backtrace.rs:62
7: std::sys_common::backtrace::print
at src/libstd/sys_common/backtrace.rs:49
8: std::panicking::default_hook::{{closure}}
at src/libstd/panicking.rs:198
9: std::panicking::default_hook
at src/libstd/panicking.rs:218
10: rustc_driver::report_ice
11: std::panicking::rust_panic_with_hook
at src/libstd/panicking.rs:481
12: rust_begin_unwind
at src/libstd/panicking.rs:385
13: core::panicking::panic_fmt
at src/libcore/panicking.rs:89
14: core::option::expect_failed
at src/libcore/option.rs:1264
15: <rustc_middle::ty::query::on_disk_cache::CacheDecoder as serialize::serialize::SpecializedDecoder<rustc_span::span_encoding::Span>>::specialized_decode
16: <(T10,T11) as serialize::serialize::Decodable>::decode
17: <rustc_middle::ty::query::on_disk_cache::CacheDecoder as serialize::serialize::SpecializedDecoder<rustc_span::span_encoding::Span>>::specialized_decode
18: serialize::serialize::Decoder::read_option
19: <rustc_middle::ty::Generics as serialize::serialize::Decodable>::decode
20: rustc_middle::ty::query::on_disk_cache::OnDiskCache::try_load_query_result
21: rustc_query_system::query::plumbing::get_query
22: rustc_typeck::variance::terms::TermsContext::add_inferreds_for_item
23: rustc_typeck::variance::terms::determine_parameters_to_be_inferred
24: rustc_typeck::variance::crate_variances
25: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
26: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
27: rustc_query_system::query::plumbing::force_query
28: rustc_middle::ty::query::force_from_dep_node
29: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
30: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_previous_green
31: rustc_query_system::dep_graph::graph::DepGraph<K>::try_mark_green_and_read
32: rustc_query_system::query::plumbing::ensure_query
33: rustc_data_structures::sync::par_for_each_in
34: rustc_hir::hir::Crate::par_visit_all_item_likes
35: rustc_typeck::check_crate
36: rustc_interface::passes::analysis
37: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute
38: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
39: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
40: rustc_query_system::query::plumbing::get_query
41: rustc_middle::ty::context::tls::enter_global
42: rustc_interface::interface::run_compiler_in_existing_thread_pool
43: scoped_tls::ScopedKey<T>::set
44: rustc_ast::attr::with_globals
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
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/blob/master/CONTRIBUTING.md#bug-reports
note: rustc 1.45.0-nightly (647016923 2020-04-28) running on x86_64-unknown-linux-gnu
note: compiler flags: -C bitcode-in-rlib=no -C debuginfo=2 -C incremental --crate-type bin
note: some of the compiler flags provided by cargo are hidden
query stack during panic:
#0 [generics_of] processing `<card::Card as std::fmt::Debug>::fmt`
#1 [crate_variances] computing the variances for items in this crate
#2 [analysis] running analysis passes on this crate
end of query stack
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
ehuss commentedon Jun 17, 2020
2020-04-28
is quite old for a nightly. This looks like a duplicate of #70924.bjorn3 commentedon Jun 17, 2020
I didn't realize I was using an old nightly.