clashtui icon indicating copy to clipboard operation
clashtui copied to clipboard

[Bug]: Crash if profiles directory is missing

Open aurora0x27 opened this issue 4 months ago • 2 comments

Please make sure you have read the above considerations and tick the confirmation box below.

  • [x] I've looked for the question I'm asking in Issue Tracker, and I didn't find the ISSUE for the same question.
  • [x] The latest ci build hasn't fix this

Clashtui version

main branch at 2025-9-14

OS

Linux

Steps to reproduce the behavior

Without a profiles dir in ~/.config

Expected behavior

Automatically generate ~/.config/profile and startup

Actual results

Crash, without any information

thread 'main' panicked at src/tui/tabs/profile.rs:157:68:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }

logs

Stack trace:

stack backtrace:
   0:     0x563639d91292 - std::backtrace_rs::backtrace::libunwind::trace::hc20b48b31ee52608
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
   1:     0x563639d91292 - std::backtrace_rs::backtrace::trace_unsynchronized::h5d207cd20f193d88
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
   2:     0x563639d91292 - std::sys::backtrace::_print_fmt::h46402c32145e026c
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:66:9
   3:     0x563639d91292 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::hc04c8f544ab24d66
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:39:26
   4:     0x563639dbcce3 - core::fmt::rt::Argument::fmt::h2bcd587ea50ac9a4
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/fmt/rt.rs:184:76
   5:     0x563639dbcce3 - core::fmt::write::hfe57b7174b7d8eab
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/fmt/mod.rs:1481:21
   6:     0x563639d8c833 - std::io::default_write_fmt::h20c7e2d50577e95e
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/io/mod.rs:639:11
   7:     0x563639d8c833 - std::io::Write::write_fmt::h154385efa8565236
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/io/mod.rs:1914:13
   8:     0x563639d910e2 - std::sys::backtrace::BacktraceLock::print::h0c8f24e22f5873a8
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:42:9
   9:     0x563639d921c2 - std::panicking::default_hook::{{closure}}::hd07d57e6a602c8e4
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:300:22
  10:     0x563639d91fc5 - std::panicking::default_hook::h63d12f7d95bd91ed
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:327:9
  11:     0x563639d92b62 - std::panicking::rust_panic_with_hook::h33b18b24045abff4
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:833:13
  12:     0x563639d9290a - std::panicking::begin_panic_handler::{{closure}}::hf8313cc2fd0126bc
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:706:13
  13:     0x563639d91799 - std::sys::backtrace::__rust_end_short_backtrace::h57fe07c8aea5c98a
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/sys/backtrace.rs:168:18
  14:     0x563639d9259d - __rustc[95feac21a9532783]::rust_begin_unwind
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:697:5
  15:     0x5636397aaf30 - core::panicking::panic_fmt::hd54fb667be51beea
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/panicking.rs:75:14
  16:     0x5636397ab426 - core::result::unwrap_failed::he8e27e02739cd3d2
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/result.rs:1704:5
  17:     0x5636397b5514 - core::result::Result<T,E>::unwrap::h01a4495dd40c2b01
                               at /home/aurora/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/result.rs:1109:23
  18:     0x5636397b5514 - clashtui::tui::tabs::profile::ProfileTab::update_profile_list::hcb464081c4496ca4
                               at /home/aurora/Workspace/clashtui/clashtui/src/tui/tabs/profile.rs:157:29
  19:     0x5636397b3cbe - clashtui::tui::tabs::profile::ProfileTab::new::h68af3592b55229dd
                               at /home/aurora/Workspace/clashtui/clashtui/src/tui/tabs/profile.rs:55:9
  20:     0x5636397fc49f - clashtui::app::App::new::h997aa7cfc8599296
                               at /home/aurora/Workspace/clashtui/clashtui/src/app.rs:61:27
  21:     0x5636398365b5 - clashtui::run::hd5e312b2528e1468
                               at /home/aurora/Workspace/clashtui/clashtui/src/main.rs:46:28
  22:     0x5636398363e9 - clashtui::main::h1a954a3a5488e11c
                               at /home/aurora/Workspace/clashtui/clashtui/src/main.rs:38:21
  23:     0x5636398187fb - core::ops::function::FnOnce::call_once::h8f23315a611ef464
                               at /home/aurora/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/core/src/ops/function.rs:25
0:5
  24:     0x5636397d5bfe - std::sys::backtrace::__rust_begin_short_backtrace::h5adc4c11f7009b22
                               at /home/aurora/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/sys/backtrace.rs:15
2:18
  25:     0x5636397bd421 - std::rt::lang_start::{{closure}}::h6387c639e356b879
                               at /home/aurora/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:199:18
  26:     0x563639d85520 - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::he8388e74a9793a12
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/core/src/ops/function.rs:284:13
  27:     0x563639d85520 - std::panicking::try::do_call::h48342abe4f16044f
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:589:40
  28:     0x563639d85520 - std::panicking::try::h45f576514b338db1
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:552:19
  29:     0x563639d85520 - std::panic::catch_unwind::h4500d81ff06e11c2
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panic.rs:359:14
  30:     0x563639d85520 - std::rt::lang_start_internal::{{closure}}::h37cab7e9dd591bd0
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:168:24
  31:     0x563639d85520 - std::panicking::try::do_call::h18dcd6ab68035fe0
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:589:40
  32:     0x563639d85520 - std::panicking::try::h2ff15dd92aac3fb5
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panicking.rs:552:19
  33:     0x563639d85520 - std::panic::catch_unwind::hffe66ef06337a6dd
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/panic.rs:359:14
  34:     0x563639d85520 - std::rt::lang_start_internal::h418648f91f5be3a1
                               at /rustc/17067e9ac6d7ecb70e50f92c1944e545188d2359/library/std/src/rt.rs:164:5
  35:     0x5636397bd407 - std::rt::lang_start::hadd43802366f3613
                               at /home/aurora/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/src/rust/library/std/src/rt.rs:198:5
  36:     0x56363983900e - main
  37:     0x7f0ad5227675 - <unknown>
  38:     0x7f0ad5227729 - __libc_start_main
  39:     0x5636397abbc5 - _start
  40:                0x0 - <unknown>

Additional context

No response

aurora0x27 avatar Sep 14 '25 14:09 aurora0x27