leetup icon indicating copy to clipboard operation
leetup copied to clipboard

Panic when piping to head

Open aalvarado opened this issue 2 years ago • 4 comments

rustc --version
rustc 1.68.0-nightly (ad8ae0504 2022-12-29)

leetup --version
leetup 1.0.2

Installed from cargo

Executing the following command results in a panic.

RUST_BACKTRACE=full leetup list | head
       [ 1  ] Two Sum                                                                     Easy
       [ 2  ] Add Two Numbers                                                             Medium
       [ 3  ] Longest Substring Without Repeating Characters                              Medium
       [ 4  ] Median of Two Sorted Arrays                                                 Hard
       [ 5  ] Longest Palindromic Substring                                               Medium
       [ 6  ] Zigzag Conversion                                                           Medium
       [ 7  ] Reverse Integer                                                             Medium
       [ 8  ] String to Integer (atoi)                                                    Medium
       [ 9  ] Palindrome Number                                                           Easy
       [ 10 ] Regular Expression Matching                                                 Hard
thread 'main' panicked at 'failed printing to stdout: Broken pipe (os error 32)', library/std/src/io/stdio.rs:1008:9
stack backtrace:
   0:     0x5591a656204a - std::backtrace_rs::backtrace::libunwind::trace::h2c91251742244ab1
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x5591a656204a - std::backtrace_rs::backtrace::trace_unsynchronized::h6d44d12bbe0e7aa5
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x5591a656204a - std::sys_common::backtrace::_print_fmt::ha87b8dc49e99d364
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/sys_common/backtrace.rs:65:5
   3:     0x5591a656204a - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h7f18c6c63225ad77
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x5591a6587d1e - core::fmt::write::h123cb6ce9edafa10
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/core/src/fmt/mod.rs:1208:17
   5:     0x5591a655c725 - std::io::Write::write_fmt::h3baf40d36b1d4cae
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/io/mod.rs:1682:15
   6:     0x5591a6561e15 - std::sys_common::backtrace::_print::h742af007f102c03d
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/sys_common/backtrace.rs:47:5
   7:     0x5591a6561e15 - std::sys_common::backtrace::print::hc384317cb61775ee
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/sys_common/backtrace.rs:34:9
   8:     0x5591a65635ff - std::panicking::default_hook::{{closure}}::heaed0ea0b0024643
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:267:22
   9:     0x5591a656333b - std::panicking::default_hook::h55ca1d41de87c814
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:286:9
  10:     0x5591a6563d0c - std::panicking::rust_panic_with_hook::hc503d371d7184fb8
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:688:13
  11:     0x5591a6563aa9 - std::panicking::begin_panic_handler::{{closure}}::he73b2aadf63f621d
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:579:13
  12:     0x5591a65624fc - std::sys_common::backtrace::__rust_end_short_backtrace::h35aea8344e0a609e
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/sys_common/backtrace.rs:137:18
  13:     0x5591a65637b2 - rust_begin_unwind
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:575:5
  14:     0x5591a6055cc3 - core::panicking::panic_fmt::h6793a7ba783923fd
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/core/src/panicking.rs:64:14
  15:     0x5591a655bcb7 - std::io::stdio::print_to::h6d170d348ae8b241
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/io/stdio.rs:1008:9
  16:     0x5591a655bcb7 - std::io::stdio::_print::h25c3291cd76d82e5
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/io/stdio.rs:1074:5
  17:     0x5591a60b06dd - leetup::service::provider::ServiceProvider::pretty_list::h95f6cc86362f596e
  18:     0x5591a60a8f7f - <leetup::service::leetcode::Leetcode as leetup::service::provider::ServiceProvider>::list_problems::{{closure}}::h47637bbc9037b8da
  19:     0x5591a605c843 - tokio::runtime::park::CachedParkThread::block_on::h60a012512e85f1b9
  20:     0x5591a6060cce - tokio::runtime::scheduler::multi_thread::MultiThread::block_on::h3f2200c369c7da7e
  21:     0x5591a6064531 - leetup::main::h1cccc2385728c6ec
  22:     0x5591a605d8c6 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdea56dfaefbcd45e
  23:     0x5591a6062f05 - std::rt::lang_start::{{closure}}::h5ab3601104337ff0
  24:     0x5591a655569c - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h58d45763274069d8
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/core/src/ops/function.rs:287:13
  25:     0x5591a655569c - std::panicking::try::do_call::hfcfea82d5cb40d1b
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:483:40
  26:     0x5591a655569c - std::panicking::try::h7a85b63463a445ae
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:447:19
  27:     0x5591a655569c - std::panic::catch_unwind::h7e7df17272140cb2
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panic.rs:140:14
  28:     0x5591a655569c - std::rt::lang_start_internal::{{closure}}::h9c4d5573b14f2e51
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/rt.rs:148:48
  29:     0x5591a655569c - std::panicking::try::do_call::h10168884f4613e63
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:483:40
  30:     0x5591a655569c - std::panicking::try::h63a5c88ff6bb4f98
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panicking.rs:447:19
  31:     0x5591a655569c - std::panic::catch_unwind::hf0d849019b9f3364
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/panic.rs:140:14
  32:     0x5591a655569c - std::rt::lang_start_internal::haecacab0475edaf4
                               at /rustc/ad8ae0504c54bc2bd8306abfcfe8546c1bb16a49/library/std/src/rt.rs:148:20
  33:     0x5591a60646e5 - main
  34:     0x7fbfede29d90 - <unknown>
  35:     0x7fbfede29e40 - __libc_start_main
  36:     0x5591a6056335 - _start
  37:                0x0 - <unknown>

aalvarado avatar Jan 31 '23 01:01 aalvarado

Seems related to this:

https://github.com/rust-lang/rust/issues/46016

aalvarado avatar Jan 31 '23 02:01 aalvarado

@aalvarado Thanks for reporting! Will dig into it later.

dragfire avatar Feb 04 '23 21:02 dragfire

By the looks of this comment it they seem to have figured it out. Looking into creating a PR.

https://github.com/rust-lang/rust/issues/46016#issuecomment-1242039016

aalvarado avatar Feb 07 '23 17:02 aalvarado

That'd be great. Thank you!

dragfire avatar Feb 20 '23 19:02 dragfire