Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash on Startup with Tauri "No such file or directory" Error on Linux Before/After Rust Installation #214

Closed
ArthoPacini opened this issue Mar 7, 2024 · 1 comment
Labels
bug Something isn't working

Comments

@ArthoPacini
Copy link

Issue Description

After initially experiencing a crash with the defguard-client-linux-x86_64-v0.2.1 binary on Linux, I proceeded to install Rust in an attempt to resolve the issue. Unfortunately, the application still crashes shortly after startup with a similar error related to a missing file or directory associated with Tauri.

Steps to Reproduce

  1. Download the defguard-client-linux-x86_64-v0.2.1 binary from the https://github.com/DefGuard/client/releases/tag/v0.2.1.
  2. Make the binary executable: chmod +x defguard-client-linux-x86_64-v0.2.1
  3. Install Rust using the official installation method (curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh).
  4. Run the binary with Rust backtrace enabled: RUST_BACKTRACE=1 ./defguard-client-linux-x86_64-v0.2.1

Expected Behavior

The application should start without crashing, or at least provide a more descriptive error message that could help in troubleshooting the issue.

Actual Behavior

Despite the Rust installation, the application crashes with a similar Tauri-related error as before. The detailed backtrace provided by Rust does not offer clear insight into the cause of the problem:

[2024-03-07][02:27:15][INFO][defguard_client::database] Created app data dir at: /home/username/.local/share/net.defguard
... [additional logs] ...
[2024-03-07][02:27:15][INFO][defguard_client] Starting main app thread.
[2024-03-07][02:27:15][INFO][defguard_client] Database info result: Ok((),)
thread 'main' panicked at src/bin/defguard-client.rs:156:69:
called `Result::unwrap()` on an `Err` value: Tauri(Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }))
stack backtrace:
   0: rust_begin_unwind
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
   1: core::panicking::panic_fmt
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
   2: core::result::unwrap_failed
             at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
   3: defguard_client::main::{{closure}}
   4: tokio::runtime::context::runtime::enter_runtime
   5: tokio::runtime::runtime::Runtime::block_on
   6: defguard_client::main
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

Environment

  • OS: Ubuntu 20.04
  • Rust Version: rustc 1.76.0 (07dca489a 2024-02-04)
  • Binary Version: defguard-client-linux-x86_64-v0.2.1

Additional Context

This issue persists even after Rust installation and occurs immediately upon startup, with no interaction from the user. The error seems related to Tauri, indicating the application is looking for a file or directory that does not exist or is not accessible.

I would greatly appreciate any advice on resolving this issue or any further steps I should take to enable a successful startup of defguard-client.

backtrace full:

RUST_BACKTRACE=full ./defguard-client-linux-x86_64-v0.2.1
[2024-03-07][02:32:43][INFO][tracing::span] perform;
[2024-03-07][02:32:43][INFO][zbus::handshake] write_command; command=Auth(Some(External), Some([49, 48, 48, 48]))
[2024-03-07][02:32:43][INFO][tracing::span] read_command;
[2024-03-07][02:32:43][INFO][zbus::handshake] write_command; command=NegotiateUnixFD
[2024-03-07][02:32:43][INFO][tracing::span] read_command;
[2024-03-07][02:32:43][INFO][zbus::handshake] write_command; command=Begin
[2024-03-07][02:32:43][INFO][zbus::connection] start_object_server; started_event=Some(Event { .. })
[2024-03-07][02:32:43][INFO][zbus::connection] {}; obj_server_task_name="ObjectServer task"
[2024-03-07][02:32:43][INFO][tracing::span] socket reader;
[2024-03-07][02:32:43][INFO][defguard_client::database] Created app data dir at: /home/username/.local/share/net.defguard
[2024-03-07][02:32:43][INFO][defguard_client::database] Database exists skipping creating database. Database path: /home/username/.local/share/net.defguard/defguard.db
[2024-03-07][02:32:43][INFO][defguard_client::database] Applied migrations.
[2024-03-07][02:32:43][INFO][defguard_client] Database initialization completed
[2024-03-07][02:32:43][INFO][defguard_client] Starting main app thread.
[2024-03-07][02:32:43][INFO][defguard_client] Database info result: Ok(
    (),
)
thread 'main' panicked at src/bin/defguard-client.rs:156:69:
called `Result::unwrap()` on an `Err` value: Tauri(Io(Os { code: 2, kind: NotFound, message: "No such file or directory" }))
stack backtrace:
   0:     0x560a157e6c3c - std::backtrace_rs::backtrace::libunwind::trace::ha69d38c49f1bf263
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x560a157e6c3c - std::backtrace_rs::backtrace::trace_unsynchronized::h93125d0b85fd543c
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x560a157e6c3c - std::sys_common::backtrace::_print_fmt::h8d65f438e8343444
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x560a157e6c3c - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h41751d2af6c8033a
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:44:22
   4:     0x560a158167bc - core::fmt::rt::Argument::fmt::h5db2f552d8a28f63
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/fmt/rt.rs:138:9
   5:     0x560a158167bc - core::fmt::write::h99465148a27e4883
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/fmt/mod.rs:1114:21
   6:     0x560a157e1c7e - std::io::Write::write_fmt::hee8dfd57bd179ab2
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/io/mod.rs:1763:15
   7:     0x560a157e6a24 - std::sys_common::backtrace::_print::h019a3cee3e814da4
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:47:5
   8:     0x560a157e6a24 - std::sys_common::backtrace::print::h55694121c2ddf918
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:34:9
   9:     0x560a157e8113 - std::panicking::default_hook::{{closure}}::h29cbe3da3891b0b0
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:272:22
  10:     0x560a157e7e34 - std::panicking::default_hook::h881e76b2b8c74280
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:292:9
  11:     0x560a157e8695 - std::panicking::rust_panic_with_hook::hcc36e25b6e33969c
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:731:13
  12:     0x560a157e8591 - std::panicking::begin_panic_handler::{{closure}}::ha415efb0f69f41f9
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:609:13
  13:     0x560a157e7166 - std::sys_common::backtrace::__rust_end_short_backtrace::h395fe90f99451e4e
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/sys_common/backtrace.rs:170:18
  14:     0x560a157e82e2 - rust_begin_unwind
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:597:5
  15:     0x560a14777945 - core::panicking::panic_fmt::h452a83e54ecd764e
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/panicking.rs:72:14
  16:     0x560a14777e23 - core::result::unwrap_failed::hed0fccbe07e724fc
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/result.rs:1652:5
  17:     0x560a1487527e - defguard_client::main::{{closure}}::h4c8420f1766a04be
  18:     0x560a14867896 - tokio::runtime::context::runtime::enter_runtime::h6a321ca0649d8efd
  19:     0x560a14a4969e - tokio::runtime::runtime::Runtime::block_on::h27771903b1ee2700
  20:     0x560a148a8a88 - defguard_client::main::h1665a16023b99c4c
  21:     0x560a1496fbf3 - std::sys_common::backtrace::__rust_begin_short_backtrace::hdfba4fa444705432
  22:     0x560a14a21019 - std::rt::lang_start::{{closure}}::hc25c1146528099eb
  23:     0x560a157db18b - core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once::h14c5f6d1cd70a60f
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/core/src/ops/function.rs:284:13
  24:     0x560a157db18b - std::panicking::try::do_call::h2d02374ca451446a
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
  25:     0x560a157db18b - std::panicking::try::h9f7922394bf57392
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
  26:     0x560a157db18b - std::panic::catch_unwind::ha1600f9dd4ee7270
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
  27:     0x560a157db18b - std::rt::lang_start_internal::{{closure}}::hfbd80e7d681b21a1
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:148:48
  28:     0x560a157db18b - std::panicking::try::do_call::heacaa33dbdaa16e0
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:504:40
  29:     0x560a157db18b - std::panicking::try::h637875f7c9db85ea
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panicking.rs:468:19
  30:     0x560a157db18b - std::panic::catch_unwind::h4caa9c0c78cb4c19
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/panic.rs:142:14
  31:     0x560a157db18b - std::rt::lang_start_internal::h2d6a60ec944b523d
                               at /rustc/a28077b28a02b92985b3a3faecf92813155f1ea1/library/std/src/rt.rs:148:20
  32:     0x560a148a8b65 - main
  33:     0x7f8dd9028150 - __libc_start_call_main
                               at ./csu/../sysdeps/nptl/libc_start_call_main.h:58:16
  34:     0x7f8dd9028209 - __libc_start_main_impl
                               at ./csu/../csu/libc-start.c:360:3
  35:     0x560a147782d1 - _start
  36:                0x0 - <unknown>

@teon teon added the bug Something isn't working label Mar 13, 2024
@teon
Copy link
Contributor

teon commented Aug 15, 2024

We have released several versions (0.5.0 current). If the error still occures on latest please reopen and add more logs.

@teon teon closed this as completed Aug 15, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
Status: Done
Development

No branches or pull requests

2 participants