robbert-vdh / yabridge

A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux
GNU General Public License v3.0
2.52k stars 65 forks source link

Yabridgectl cannot set `path` or path-auto` #345

Open Eoin-ONeill-Yokai opened 6 months ago

Eoin-ONeill-Yokai commented 6 months ago

Thanks for giving yabridge a shot!

Problem description

Due to the circumstances of my installation (trying to automate my container environment through a Dockerfile setup), I need to change my installation to a custom directory. This seems like a good use of yabridgectl set --path /usr/local/share/yabridge which is where my yabridge libraries are stored.

What did you expect to happen?

Either yabridgectl set --path /usr/local/share/yabridge allowing me to change the directory of my yabridge contents. And, if auto is enabled, I should be able to disable it with yabridge set --path-auto false.

What actually happened?

The following output happened with a main thread panic

eoinoneill@coeurl:~$ yabridgectl set --path /usr/local/share/yabridge
thread 'main' panicked at /github/home/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_builder-4.3.21/src/parser/matches/arg_matches.rs:181:17:
arg `path_auto`'s `ArgAction` should be one of `SetTrue`, `SetFalse` which should provide a default
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

trying to change path_auto false then complains about the following:

eoinoneill@coeurl:~$ yabridgectl set --path-auto False
thread 'main' panicked at /github/home/.cargo/registry/src/index.crates.io-6f17d22bba15001f/clap_builder-4.3.21/src/parser/error.rs:32:9:
Mismatch between definition and access of `path_auto`. Could not downcast to TypeId { t: 324675245860759320943513204350442872190 }, need to downcast to TypeId { t: 263171357195085286585474072027052583236 }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Operating system

Docker, Ubuntu 22.04 Jammy

How did you install yabridge?

Releases page

yabridge version

5.1.0

yabridgectl version

5.1.0

Wine version

wine-9.9 (Staging)

Plugin

N/A

Plugin type

VST3

Plugin architecture

64-bit

Host

Bitwig-Studio

Desktop environment or WM

No response

GPU model

No response

GPU drivers and kernel

No response

Debug log

No response

Anything else?

No response

the-argus commented 4 months ago

On NixOS, running yabridge and wine inside of nix. Just upgraded from 4.0.2 to 5.1.0, began experiencing this problem. Here is the output with RUST_BACKTRACE=full:

thread 'main' panicked at /build/cargo-vendor-dir/clap_builder-4.3.21/src/parser/matches/arg_matches.rs:181:17:
arg `path_auto`'s `ArgAction` should be one of `SetTrue`, `SetFalse` which should provide a default
stack backtrace:
   0:     0x5555556b1ce7 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h4886110ae7835fd2
   1:     0x5555556e6e10 - core::fmt::write::h6fab83f0f5bc0c8f
   2:     0x5555556cbb95 - std::io::Write::write_fmt::h64824cb874054607
   3:     0x5555556b1ab4 - std::sys_common::backtrace::print::hb8fea9d041077138
   4:     0x5555556b2627 - std::panicking::default_hook::{{closure}}::hc60f0f690c67943c
   5:     0x5555556b2387 - std::panicking::default_hook::h56281bcc5d6e2f17
   6:     0x5555556b2b98 - std::panicking::rust_panic_with_hook::hd61e30fe5971d187
   7:     0x5555556b2a7a - std::panicking::begin_panic_handler::{{closure}}::h95d2684e28f89fd2
   8:     0x5555556b1f16 - std::sys_common::backtrace::__rust_end_short_backtrace::h48780d898316fff8
   9:     0x5555556b27c4 - rust_begin_unwind
  10:     0x55555557d735 - core::panicking::panic_fmt::hdb89b5c14a056cec
  11:     0x55555565f748 - clap_builder::parser::matches::arg_matches::ArgMatches::get_flag::h06d13f2cb872d783
  12:     0x5555555a83e5 - yabridgectl::main::h28152e8b5b6dec4e
  13:     0x5555555dd163 - std::sys_common::backtrace::__rust_begin_short_backtrace::h9742ef1d82c6607b
  14:     0x5555555d6ebd - std::rt::lang_start::{{closure}}::h55786dbef6dc6444
  15:     0x5555556b26c4 - std::panicking::try::ha86251cf5daa9bea
  16:     0x5555556a1a5b - std::rt::lang_start_internal::ha6a51778162f8d22
  17:     0x5555555a8de5 - main
  18:     0x7ffff7cf510e - __libc_start_call_main
  19:     0x7ffff7cf51c9 - __libc_start_main@@GLIBC_2.34
  20:     0x55555557dfd5 - _start
  21:                0x0 - <unknown>
robbert-vdh commented 1 day ago

Fixed by #316. Will be part of the next release.