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

Bug: Doesn't work with Wayland #76

Open
hulxv opened this issue Jul 20, 2024 · 3 comments
Open

Bug: Doesn't work with Wayland #76

hulxv opened this issue Jul 20, 2024 · 3 comments

Comments

@hulxv
Copy link

hulxv commented Jul 20, 2024

Explain

I tried to record my machine using Arch Linux with hyprland (that uses Wayland) but when I click the record button, I don't get any response at first click, and at the second click, it crashes with this error:

thread 'main' panicked at src/main.rs:516:46:
already borrowed: BorrowMutError
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

My machine

OS: Arch Linux
Linux kernel: 6.6.36-1-lts
Window manager: Hyprland
@xlmnxp
Copy link
Owner

xlmnxp commented Jul 21, 2024

I don't think Hyprland support XDG Desktop Portal

@shuvrojit
Copy link

Can verify from arch and hyprland. Tried today

@matejdro
Copy link

I don't think Hyprland support XDG Desktop Portal

Yes it does.

With blue-recorder, when I press "Record" button, XDG-Desktop-Portal window will popup, asking me which monitor to capture. But at the same time, blue recorder will crash, so selecting monitor will not have any effect.

Here is the stacktrace:

thread 'main' panicked at src/wayland_record.rs:119:26:
failed to handle session: MethodError(OwnedErrorName(ErrorName(Str(Owned("org.freedesktop.DBus.Error.Failed")))), Some("Sources not selected"), Msg { type: Error, sender: UniqueName(Str(Borrowed(":1.17"))), reply-serial: 4, body: Signature("s") })
stack backtrace:
   0:     0x56198857ccd5 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h1e1a1972118942ad
   1:     0x5619885a801b - core::fmt::write::hc090a2ffd6b28c4a
   2:     0x5619885796ff - std::io::Write::write_fmt::h8898bac6ff039a23
   3:     0x56198857caae - std::sys_common::backtrace::print::ha96650907276675e
   4:     0x56198857df19 - std::panicking::default_hook::{{closure}}::h215c2a0a8346e0e0
   5:     0x56198857dc5d - std::panicking::default_hook::h207342be97478370
   6:     0x56198857e3b3 - std::panicking::rust_panic_with_hook::hac8bdceee1e4fe2c
   7:     0x56198857e294 - std::panicking::begin_panic_handler::{{closure}}::h00d785e82757ce3c
   8:     0x56198857d199 - std::sys_common::backtrace::__rust_end_short_backtrace::h1628d957bcd06996
   9:     0x56198857dfc7 - rust_begin_unwind
  10:     0x561988092083 - core::panicking::panic_fmt::hdc63834ffaaefae5
  11:     0x561988092516 - core::result::unwrap_failed::h82b551e0ff2b2176
  12:     0x5619881e9547 - blue_recorder::wayland_record::WaylandRecorder::start::{{closure}}::hb8d1b0bd9a6cfd1c
  13:     0x5619881e0f3f - glib::main_context_futures::<impl glib::auto::main_context::MainContext>::block_on::{{closure}}::hf7c4cc3e768977e3
  14:     0x56198848f372 - glib::main_context::<impl glib::auto::main_context::MainContext>::with_thread_default::h62f7b632e17bec0f
  15:     0x56198848e39a - glib::main_context_futures::TaskSource::dispatch::h2b3a86d22ca47b34
  16:     0x749117be2ab9 - <unknown>
  17:     0x749117c449e7 - <unknown>
  18:     0x749117be37b7 - g_main_loop_run
  19:     0x5619881dde24 - glib::main_context_futures::<impl glib::auto::main_context::MainContext>::block_on::h2e8606e6fae1cdde
  20:     0x561988160146 - blue_recorder::ffmpeg_interface::Ffmpeg::start_record::h57224666adf95024
  21:     0x5619881b5997 - <O as gtk4::auto::button::ButtonExt>::connect_clicked::clicked_trampoline::h9a38a9a3bc519d09
  22:     0x749117d06732 - <unknown>
  23:     0x749117d06842 - g_signal_emit_valist
  24:     0x749117d06904 - g_signal_emit
  25:     0x749116a86a8c - <unknown>
  26:     0x749117d06732 - <unknown>
  27:     0x749117d06842 - g_signal_emit_valist
  28:     0x749117d06904 - g_signal_emit
  29:     0x749116b2d5f4 - <unknown>
  30:     0x749117ce9d56 - g_cclosure_marshal_VOID__BOXEDv
  31:     0x749117d06732 - <unknown>
  32:     0x749117d06842 - g_signal_emit_valist
  33:     0x749117d06904 - g_signal_emit
  34:     0x749116b31fd5 - <unknown>
  35:     0x749116b331fb - <unknown>
  36:     0x749116b342f7 - <unknown>
  37:     0x749116c68c13 - <unknown>
  38:     0x749116c68f60 - <unknown>
  39:     0x749116b75eca - <unknown>
  40:     0x749116b76ab3 - <unknown>
  41:     0x749116de679e - <unknown>
  42:     0x749116e7dfeb - <unknown>
  43:     0x749117d06732 - <unknown>
  44:     0x749117d06842 - g_signal_emit_valist
  45:     0x749117d06904 - g_signal_emit
  46:     0x749116f2340b - <unknown>
  47:     0x749116dffbf6 - <unknown>
  48:     0x749117be2ab9 - <unknown>
  49:     0x749117c449e7 - <unknown>
  50:     0x749117be1fc5 - g_main_context_iteration
  51:     0x749117a96c66 - g_application_run
  52:     0x5619881b7359 - <O as gio::application::ApplicationExtManual>::run::h41aaa28a3a214b9d
  53:     0x5619881924b5 - <async_std::task::builder::SupportTaskLocals<F> as core::future::future::Future>::poll::h1234ef4262495820
  54:     0x561988156381 - <futures_lite::future::PollFn<F> as core::future::future::Future>::poll::hc934e9ba766f0f9b
  55:     0x5619881cb195 - async_global_executor::executor::block_on::h14e9c2175f78ecf7
  56:     0x56198819a056 - async_std::task::builder::Builder::blocking::h20dbf3da158ca396
  57:     0x5619881699f1 - blue_recorder::main::hc02dff3d96713265
  58:     0x5619881b9016 - std::sys_common::backtrace::__rust_begin_short_backtrace::h10d8a427d8b7a845
  59:     0x5619881cbe2c - std::rt::lang_start::{{closure}}::h5e3e0b881227c1d1
  60:     0x5619885724c0 - std::rt::lang_start_internal::h3ed4fe7b2f419135
  61:     0x561988169a34 - main
  62:     0x749116834e08 - <unknown>
  63:     0x749116834ecc - __libc_start_main
  64:     0x561988092775 - _start
  65:                0x0 - <unknown>

This is with Hyprland 0.42.0 and blue-recorder 9d61234

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants