Open imsnif opened 3 years ago
Hi @imsnif , I'd like to take some easy task for start. Can I start with this issue?
We'd be happy if you started on this issue. Please feel free to reach out, if you have any questions.
@a-kenji is it possible to run it on windows?
@captain-yossarian Currently not natively, just under WSL atm. There is an open issue and definitley interest there #316.
@a-kenji no problem, I will use virtual box.
@a-kenji @imsnif could you please provide more context about the issue ? I don't know what means - pty. In order to reproduce the bug, should I open second Tab? if - Yes, how to do it? Could You please point me where I should start? Thanks a lot
@captain-yossarian
Sure, no problem! https://en.wikipedia.org/wiki/Pseudo_terminal https://github.com/zellij-org/zellij/blob/main/src/common/pty_bus.rs https://github.com/zellij-org/zellij/blob/main/src/common/screen.rs
If you have more questions, please feel free asking them!
@a-kenji how I can create new Tab ?
@captain-yossarian
You create it with Ctrl-t
and then n
,
in the code that Action is called NewTab
,
so an ag NewTab
should give you a good starting point.
@a-kenji could you please take a look on this error:
Compiling zellij v0.6.0 (/home/yossarian/Documents/rust/zellij)
thread 'rustc' panicked at 'assertion failed: `(left == right)`
left: `Some(Fingerprint(4303387229712160276, 2320185052139668143))`,
right: `Some(Fingerprint(3938687373395906223, 7235903109474142037))`: found unstable fingerprints for predicates_of(core[ec89]::marker::Sync): GenericPredicates { parent: None, predicates: [(Binder(TraitPredicate(<Self as std::marker::Sync>), []), /home/yossarian/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/marker.rs:469:1: 469:27 (#0))] }', /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/compiler/rustc_query_system/src/query/plumbing.rs:593:5
stack backtrace:
0: 0x7ff834ceb7e0 - std::backtrace_rs::backtrace::libunwind::trace::hdcf4f90f85129e83
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
1: 0x7ff834ceb7e0 - std::backtrace_rs::backtrace::trace_unsynchronized::h2669e30cb82f6732
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7ff834ceb7e0 - std::sys_common::backtrace::_print_fmt::hfbda19e17f6db318
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:67:5
3: 0x7ff834ceb7e0 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1a8751bf59281272
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:46:22
4: 0x7ff834d5cbbf - core::fmt::write::h7aa6cd0067dca82a
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/core/src/fmt/mod.rs:1094:17
5: 0x7ff834cdff75 - std::io::Write::write_fmt::hd7dd3a1df9b6befb
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/io/mod.rs:1580:15
6: 0x7ff834cef53b - std::sys_common::backtrace::_print::h551e9ec8a9fa8106
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:49:5
7: 0x7ff834cef53b - std::sys_common::backtrace::print::ha4b1c5e95fa040b3
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:36:9
8: 0x7ff834cef53b - std::panicking::default_hook::{{closure}}::h0b34c9ab7fb9f857
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:208:50
9: 0x7ff834cef01d - std::panicking::default_hook::h3067e8318decd17a
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:225:9
10: 0x7ff8354b10ad - rustc_driver::report_ice::h8bc35a5e54cf0d4e
11: 0x7ff821e481c3 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hcd5dcf2ec9abdd36
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/alloc/src/boxed.rs:1560:9
12: 0x7ff821e438b6 - proc_macro::bridge::client::<impl proc_macro::bridge::Bridge>::enter::{{closure}}::{{closure}}::he6098042e1b09c6e
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/proc_macro/src/bridge/client.rs:320:21
13: 0x7ff834cefc50 - std::panicking::rust_panic_with_hook::h81b8facc50f34daa
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:595:17
14: 0x7ff834cef827 - std::panicking::begin_panic_handler::{{closure}}::ha376ab85d95a000e
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:497:13
15: 0x7ff834cebc9c - std::sys_common::backtrace::__rust_end_short_backtrace::h6795c8afdd1a77e6
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys_common/backtrace.rs:141:18
16: 0x7ff834cef789 - rust_begin_unwind
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/panicking.rs:493:5
17: 0x7ff834cbd321 - core::panicking::panic_fmt::hbe99dddd3092ba3c
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/core/src/panicking.rs:92:14
18: 0x7ff834d596ae - core::panicking::assert_failed_inner::h4fdb1013d187f202
19: 0x7ff835b6292c - core::panicking::assert_failed::h19965e301f985c41
20: 0x7ff8373ae778 - rustc_query_system::query::plumbing::incremental_verify_ich::h5f9a122113df9ca7
21: 0x7ff8373b7197 - rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::h005dd8c8c697eec8
22: 0x7ff83685b2a0 - rustc_query_system::query::plumbing::get_query_impl::h6db941aa40a33502
23: 0x7ff8368ea489 - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::predicates_of::h0e0b25befa5c420e
24: 0x7ff8377d0abe - rustc_trait_selection::traits::object_safety::generics_require_sized_self::hc9ff40b3917107d4
25: 0x7ff8377ce466 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &mut F>::call_once::h44578d15ba388dee
26: 0x7ff8377ddc92 - <core::iter::adapters::flatten::FlatMap<I,U,F> as core::iter::traits::iterator::Iterator>::next::h45dd38cfdbef0c8b
27: 0x7ff8377e01ad - <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend::h3c8f6eda12bc5a46
28: 0x7ff8377e93d1 - rustc_middle::arena::Arena::alloc_from_iter::hb30f9d8e4f047415
29: 0x7ff8377cfbe3 - rustc_trait_selection::traits::object_safety::object_safety_violations::haec9cb7ee9dd8320
30: 0x7ff835b86aa7 - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::h3ee80f9ea5471c3b
31: 0x7ff8359c8beb - rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory::h6fedfc6d725a25f6
32: 0x7ff8373dea5f - rustc_data_structures::stack::ensure_sufficient_stack::h593384ab3f5e90b7
33: 0x7ff83733dbfc - rustc_query_system::query::plumbing::get_query_impl::h4dd4f35b13187211
34: 0x7ff83748483a - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::object_safety_violations::h59903eb6de6499f6
35: 0x7ff837877f60 - rustc_middle::ty::<impl rustc_middle::ty::context::TyCtxt>::is_object_safe::h918ec71e681ba269
36: 0x7ff836dc8322 - rustc_trait_selection::traits::fulfill::FulfillProcessor::progress_changed_obligations::h49b2fd724ac87f00
37: 0x7ff836de4c42 - rustc_data_structures::obligation_forest::ObligationForest<O>::process_obligations::hb6a299a027ee1ef3
38: 0x7ff836dc79ab - <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_where_possible::h9a8565afc02fd26c
39: 0x7ff836dc77c0 - <rustc_trait_selection::traits::fulfill::FulfillmentContext as rustc_infer::traits::engine::TraitEngine>::select_all_or_error::h99db70751d1f457a
40: 0x7ff8366889ca - rustc_typeck::check::fn_ctxt::_impl::<impl rustc_typeck::check::fn_ctxt::FnCtxt>::select_all_obligations_or_error::h090eec5fdbb06f7a
41: 0x7ff8372248b8 - rustc_infer::infer::InferCtxtBuilder::enter::h0a279c2de5d3a413
42: 0x7ff83676bc40 - rustc_typeck::check::wfcheck::check_item_well_formed::h050c06be72496ecf
43: 0x7ff837490a7c - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::h211b6d3b7f5bae76
44: 0x7ff8368e2e3e - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::hc4b2fd7b87bf8ded
45: 0x7ff8368819ee - rustc_query_system::query::plumbing::force_query_with_job::h6a46056dcab7224b
46: 0x7ff836851874 - rustc_query_system::query::plumbing::get_query_impl::h372a567531ca4c6f
47: 0x7ff8368eca5d - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::check_item_well_formed::hfb2c232624afeefb
48: 0x7ff836770d8c - <rustc_typeck::check::wfcheck::CheckTypeWellFormedVisitor as rustc_hir::intravisit::Visitor>::visit_item::h0b8817437244938d
49: 0x7ff8367630fe - rustc_data_structures::sync::par_for_each_in::hc5ca15a054d22e20
50: 0x7ff837236129 - rustc_hir::hir::Crate::par_visit_all_item_likes::hf6e92d857a2b1ed6
51: 0x7ff837205ef6 - rustc_session::session::Session::track_errors::h408406eec0de43c6
52: 0x7ff83723bf47 - rustc_typeck::check_crate::h94f0ca08944dc8ff
53: 0x7ff836fd237d - rustc_interface::passes::analysis::hd5ac31040f53a69b
54: 0x7ff835b9ce6a - rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps::hf60de661605b5623
55: 0x7ff8374656b8 - rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl::h2df1aabf2d2671a7
56: 0x7ff8373dc897 - rustc_data_structures::stack::ensure_sufficient_stack::h219e3f3ae77528e1
57: 0x7ff83737e521 - rustc_query_system::query::plumbing::force_query_with_job::h091c05ae70f452e6
58: 0x7ff8373482a3 - rustc_query_system::query::plumbing::get_query_impl::h6dda0d4814804c64
59: 0x7ff837481bdf - <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis::h1f41c15d7c7a398d
60: 0x7ff836fb29aa - rustc_interface::passes::QueryContext::enter::h45323040f32afcbe
61: 0x7ff836f97905 - rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter::h724400ac5ffcdd64
62: 0x7ff836f96894 - rustc_span::with_source_map::h07c07459e999f3c9
63: 0x7ff836f988d1 - rustc_interface::interface::create_compiler_and_run::h83442de2b4cadf7a
64: 0x7ff836fb1ef8 - scoped_tls::ScopedKey<T>::set::hb23c9cb7764fa643
65: 0x7ff836fb2413 - std::sys_common::backtrace::__rust_begin_short_backtrace::h81398fdbb964f101
66: 0x7ff836fb5d05 - core::ops::function::FnOnce::call_once{{vtable.shim}}::hc030ad45e4e8f0df
67: 0x7ff834cfe6f7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h3aa31cb6360b59d9
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/alloc/src/boxed.rs:1546:9
68: 0x7ff834cfe6f7 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h7719d3c7c5841461
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/alloc/src/boxed.rs:1546:9
69: 0x7ff834cfe6f7 - std::sys::unix::thread::Thread::new::thread_start::hfbe13ead469fd0bc
at /rustc/42816d61ead7e46d462df997958ccfd514f8c21c/library/std/src/sys/unix/thread.rs:71:17
70: 0x7ff834c2e609 - start_thread
71: 0x7ff834b42293 - clone
72: 0x0 - <unknown>
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.53.0-nightly (42816d61e 2021-04-24) running on x86_64-unknown-linux-gnu
note: compiler flags: -C embed-bitcode=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 [predicates_of] computing predicates of `std::marker::Sync`
#1 [object_safety_violations] determine object safety of trait `common::os_input_output::OsApi`
#2 [check_item_well_formed] checking that `common::start` is well-formed
#3 [analysis] running analysis passes on this crate
end of query stack
error: could not compile `zellij`
This error occured after I installed rust extension on vscode
@captain-yossarian
What happens if you try using our pinned toolchain?
eg. If you consume the toolchain
file to setup rust?
@a-kenji could you please specify how I can consume it?
Should I use your toolchain in VS Code extension or I should to install somehow your toolchain rustup toolchain install ....
?
P.S. thanks for your patience and time
@captain-yossarian Sure! I'll try, since it differs a little from the way you do it, depending on your setup.
You can show your active toolchain with: rustup show
You should be able to activate the toolchain from rustup-toolchain
, if none is active by being in the zellij root directory then running rustup update
.
When we open a tab, zellij waits until a new pty starts and only then opens the tab. This feels slow to the user. It can be cool to first render an empty tab and "connect" it to a pty when it finishes opening. That should be a more pleasant user experience.