nachoparker / dutree

a tool to analyze file system usage written in Rust

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Core Dump when using "dutree | less"

cohomology opened this issue · comments

When using "dutree | less" on Linux on a directory with more than a screen size of directories and then pressing "q" to quit the paging, gives a rust dump:
thread 'main' panicked at 'already borrowed: BorrowMutError', library/std/src/io

/stdio.rs:564:23
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
thread 'main' panicked at 'Once instance has previously been poisoned', library/std/src/sync/once.rs:392:21
fatal runtime error: failed to initiate panic, error 5

Stack trace:

thread 'main' panicked at 'already borrowed: BorrowMutError', library/std/src/io/stdio.rs:564:23
stack backtrace:
   0:     0x55b343b59c70 - std::backtrace_rs::backtrace::libunwind::trace::h5e9d00f0cdf4f57e
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x55b343b59c70 - std::backtrace_rs::backtrace::trace_unsynchronized::hd5302bd66215dab9
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55b343b59c70 - std::sys_common::backtrace::_print_fmt::ha0237cd11a34e2bf
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55b343b59c70 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h171d4c10df1a98ee
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x55b343b7674c - core::fmt::write::h89e4288724daa3fa
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/fmt/mod.rs:1096:17
   5:     0x55b343b57162 - std::io::Write::write_fmt::h6d40f996e84584d9
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/mod.rs:1568:15
   6:     0x55b343b5bb75 - std::sys_common::backtrace::_print::h0c0b93221682afc8
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x55b343b5bb75 - std::sys_common::backtrace::print::h57a9f95204c2fdd6
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x55b343b5bb75 - std::panicking::default_hook::{{closure}}::h4245258b50e37e69
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:208:50
   9:     0x55b343b5b6d3 - std::panicking::default_hook::h7b00dcc1d0944747
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:225:9
  10:     0x55b343b5c311 - std::panicking::rust_panic_with_hook::h71e6a073d87de1f5
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:591:17
  11:     0x55b343b5be57 - std::panicking::begin_panic_handler::{{closure}}::hd549436f6bb6dbb8
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:497:13
  12:     0x55b343b5a10c - std::sys_common::backtrace::__rust_end_short_backtrace::h4e5f4b72b04174c3
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x55b343b5bdb9 - rust_begin_unwind
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:493:5
  14:     0x55b343b75151 - core::panicking::panic_fmt::hcd56f7f635f62c74
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/panicking.rs:92:14
  15:     0x55b343b74f73 - core::option::expect_none_failed::hf37eebedadde29e6
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/option.rs:1300:5
  16:     0x55b343b41082 - core::result::Result<T,E>::expect::haea4de697cc1b2a6
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/result.rs:997:23
  17:     0x55b343b41082 - core::cell::RefCell<T>::borrow_mut::h41246c870ea45ae7
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/cell.rs:872:9
  18:     0x55b343b41082 - std::io::stdio::stdout::cleanup::h5fe2149c581ad9ed
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:564:18
  19:     0x55b343b41082 - core::ops::function::FnOnce::call_once::h97188099de37fa9a
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/ops/function.rs:227:5
  20:     0x55b343b41082 - core::ops::function::FnOnce::call_once{{vtable.shim}}::ha0500ef8640e8c08
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/ops/function.rs:227:5
  21:     0x55b343b591ef - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h61144a2be4ee36d8
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/alloc/src/boxed.rs:1521:9
  22:     0x55b343b591ef - std::sys_common::at_exit_imp::cleanup::h593b116fd49dd0a9
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/at_exit_imp.rs:55:21
  23:     0x55b343b591ef - std::sys_common::cleanup::{{closure}}::h0d9d62949cd90a56
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/mod.rs:131:9
  24:     0x55b343b591ef - std::sync::once::Once::call_once::{{closure}}::h0cfcece65d026d5b
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sync/once.rs:261:41
  25:     0x55b343b598f2 - std::sync::once::Once::call_inner::he4820d88e5388bd4
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sync/once.rs:418:21
  26:     0x55b343b5b150 - std::sync::once::Once::call_once::hbe12a4610ab92c7e
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sync/once.rs:261:9
  27:     0x55b343b5b150 - std::sys_common::cleanup::h912bf26f5936ecd8
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/mod.rs:128:5
  28:     0x55b343b59008 - std::process::exit::h82c2004e414b4974
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/process.rs:1722:5
  29:     0x55b343aaf379 - dutree::main::{{closure}}::h9d0e399ec041d6a3
  30:     0x55b343aaf1b6 - signal_hook_registry::register::{{closure}}::haa33727df13187a3
  31:     0x55b343ab0497 - signal_hook_registry::handler::h8f515f388ec2ea1a
  32:     0x7f70560202d0 - <unknown>
  33:     0x7f705601edb4 - __write
  34:     0x55b343b54a0f - std::sys::unix::fd::FileDesc::write::h7684fcb3a9eb0e1c
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys/unix/fd.rs:146:13
  35:     0x55b343b54a0f - <std::sys::unix::stdio::Stdout as std::io::Write>::write::hf8566822631c3802
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys/unix/stdio.rs:38:9
  36:     0x55b343b54a0f - <std::io::stdio::StdoutRaw as std::io::Write>::write::he0094c1abece03d5
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:128:22
  37:     0x55b343b54a0f - std::io::buffered::bufwriter::BufWriter<W>::flush_buf::h7a9ea302f83154f0
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/buffered/bufwriter.rs:162:21
  38:     0x55b343b55bbe - <std::io::buffered::linewritershim::LineWriterShim<W> as std::io::Write>::write_all::hed70a16be165666b
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/buffered/linewritershim.rs:269:21
  39:     0x55b343b55bbe - <std::io::buffered::linewriter::LineWriter<W> as std::io::Write>::write_all::h24df81442e65111d
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/buffered/linewriter.rs:206:9
  40:     0x55b343b55bbe - <std::io::stdio::StdoutLock as std::io::Write>::write_all::h1823251172a52664
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:682:9
  41:     0x55b343b57547 - <std::io::Write::write_fmt::Adaptor<T> as core::fmt::Write>::write_str::he2bea8ca4e6d810c
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/mod.rs:1557:23
  42:     0x55b343b767b2 - core::fmt::write::h89e4288724daa3fa
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/fmt/mod.rs:1115:9
  43:     0x55b343b5598b - std::io::Write::write_fmt::heebd259fdaae56c7
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/mod.rs:1568:15
  44:     0x55b343b5598b - <&std::io::stdio::Stdout as std::io::Write>::write_fmt::h46cdbb05ad893dab
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:662:9
  45:     0x55b343b55ff8 - <std::io::stdio::Stdout as std::io::Write>::write_fmt::ha489d02e32ee4859
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:636:9
  46:     0x55b343b55ff8 - std::io::stdio::print_to::he3eeefb914061c9b
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:939:21
  47:     0x55b343b55ff8 - std::io::stdio::_print::hfdac4ecf8a146755
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/stdio.rs:952:5
  48:     0x55b343ab6c5e - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  49:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  50:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  51:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  52:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  53:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  54:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  55:     0x55b343ab6d14 - dutree::Entry::print_entries::h8277e18bd4eb5d3d
  56:     0x55b343ab921e - dutree::run::h969af363ab0e0312
  57:     0x55b343aaf76a - dutree::main::h3a0d03cdd0f3c9c9
  58:     0x55b343aaf413 - std::sys_common::backtrace::__rust_begin_short_backtrace::hb98a86915936f1fa
  59:     0x55b343aad389 - std::rt::lang_start::{{closure}}::h81109c7e71b23bab
  60:     0x55b343b5c737 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h527fb2333ede305e
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/ops/function.rs:259:13
  61:     0x55b343b5c737 - std::panicking::try::do_call::h309d8aee8149866c
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:379:40
  62:     0x55b343b5c737 - std::panicking::try::h75a60c31fd16bfc6
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:343:19
  63:     0x55b343b5c737 - std::panic::catch_unwind::h1f9892423e99bc00
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panic.rs:431:14
  64:     0x55b343b5c737 - std::rt::lang_start_internal::hd5b67df56ca01dae
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/rt.rs:51:25
  65:     0x55b343aaf8c2 - main
  66:     0x7f7055a7234a - __libc_start_main
  67:     0x55b343aab42a - <unknown>
                               at /home/abuild/rpmbuild/BUILD/glibc-2.26/csu/../sysdeps/x86_64/start.S:120
  68:                0x0 - <unknown>
thread 'main' panicked at 'Once instance has previously been poisoned', library/std/src/sync/once.rs:392:21
stack backtrace:
   0:     0x55b343b59c70 - std::backtrace_rs::backtrace::libunwind::trace::h5e9d00f0cdf4f57e
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/../../backtrace/src/backtrace/libunwind.rs:90:5
   1:     0x55b343b59c70 - std::backtrace_rs::backtrace::trace_unsynchronized::hd5302bd66215dab9
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x55b343b59c70 - std::sys_common::backtrace::_print_fmt::ha0237cd11a34e2bf
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x55b343b59c70 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h171d4c10df1a98ee
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x55b343b7674c - core::fmt::write::h89e4288724daa3fa
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/core/src/fmt/mod.rs:1096:17
   5:     0x55b343b57162 - std::io::Write::write_fmt::h6d40f996e84584d9
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/io/mod.rs:1568:15
   6:     0x55b343b5bb75 - std::sys_common::backtrace::_print::h0c0b93221682afc8
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x55b343b5bb75 - std::sys_common::backtrace::print::h57a9f95204c2fdd6
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x55b343b5bb75 - std::panicking::default_hook::{{closure}}::h4245258b50e37e69
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:208:50
   9:     0x55b343b5b6d3 - std::panicking::default_hook::h7b00dcc1d0944747
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:225:9
  10:     0x55b343b5c311 - std::panicking::rust_panic_with_hook::h71e6a073d87de1f5
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:591:17
  11:     0x55b343b5c124 - std::panicking::begin_panic::{{closure}}::h226205cfbc146caa
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:520:9
  12:     0x55b343b5a12c - std::sys_common::backtrace::__rust_end_short_backtrace::h9599e90d24cd3cd7
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/backtrace.rs:141:18
  13:     0x55b343b5c0fc - std::panicking::begin_panic::heb23b64fde311f4f
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/panicking.rs:519:12
  14:     0x55b343b5997e - std::sync::once::Once::call_inner::he4820d88e5388bd4
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sync/once.rs:392:21
  15:     0x55b343b5c780 - std::sync::once::Once::call_once::hbe12a4610ab92c7e
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sync/once.rs:261:9
  16:     0x55b343b5c780 - std::sys_common::cleanup::h912bf26f5936ecd8
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/sys_common/mod.rs:128:5
  17:     0x55b343b5c780 - std::rt::lang_start_internal::hd5b67df56ca01dae
                               at /rustc/2fd73fabe469357a12c2c974c140f67e7cdd76d0/library/std/src/rt.rs:53:9
  18:     0x55b343aaf8c2 - main
  19:     0x7f7055a7234a - __libc_start_main
  20:     0x55b343aab42a - <unknown>
                               at /home/abuild/rpmbuild/BUILD/glibc-2.26/csu/../sysdeps/x86_64/start.S:120
  21:                0x0 - <unknown>
fatal runtime error: failed to initiate panic, error 5

I couldn't reproduce it with HEAD (14ecb1c) on my machine:
Probably already fixed with 6352bc6
Maybe crates.io needs an update.

good catch. Updated the crates.io published version