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

kooha recording crashing with cursor movements #323

Open
Iss-in opened this issue Nov 16, 2024 · 0 comments
Open

kooha recording crashing with cursor movements #323

Iss-in opened this issue Nov 16, 2024 · 0 comments

Comments

@Iss-in
Copy link

Iss-in commented Nov 16, 2024

Affected version

  • io.github.seadve.Kooha 2.3.0

  • Flatpak: false

  • Experimental Features: []

  • Language: en_IN.UTF-8, en_IN, en.UTF-8, en, C

  • CPU: AMD Ryzen 5 5600U with Radeon Graphics

  • GPU: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c2)

  • Distribution: Arch Linux

  • Desktop Session: hyprland 0.45.0-1

  • Display Server: wayland

  • GTK 4.16.5

  • Libadwaita 1.6.1

  • GStreamer 1.24.9

  • Pipewire 1.2.6
    -->

Bug summary

Kooha recording which works fine otherwise, crashes

  • pointer option is on, and you move cursor fast and erratically here and there
  • pointer is off, and you move cursor from one monitor to another
  • pointer is off, and you toggle a window between fulscreen and windowed

Relevant logs, screenshots, screencasts, etc.

2024-11-16T07:06:45.536031Z  INFO kooha::application: Kooha (io.github.seadve.Kooha)
2024-11-16T07:06:45.536045Z  INFO kooha::application: Version: 2.3.0 ()
2024-11-16T07:06:45.536048Z  INFO kooha::application: Datadir: /usr/share/kooha

(kooha:1181073): Adwaita-WARNING **: 12:36:45.573: Using GtkSettings:gtk-application-prefer-dark-theme with libadwaita is unsupported. Please use AdwStyleManager:color-scheme instead.
2024-11-16T07:06:47.006845Z DEBUG kooha::recording: Created screencast proxy version=Ok(5) available_cursor_modes=Ok(CursorMode(HIDDEN | EMBEDDED)) available_source_types=Ok(SourceType(MONITOR | WINDOW | VIRTUAL))
2024-11-16T07:06:47.008672Z DEBUG kooha::recording: Selecting sources cursor_mode=CursorMode(EMBEDDED) source_type=SourceType(MONITOR) is_multiple_sources=false restore_token="" persist_mode=Persistent
2024-11-16T07:06:48.780774Z  WARN kooha::screencast_portal::window_identifier: Failed to export handle: BoolError { message: "Failed to export a handle. The compositor probably doesn't implement the xdg-foreign protocol", filename: "/usr/src/debug/kooha/build/cargo-home/registry/src/index.crates.io-6f17d22bba15001f/gdk4-wayland-0.8.1/src/wayland_toplevel.rs", function: "gdk4_wayland::wayland_toplevel::<impl gdk4_wayland::auto::wayland_toplevel::WaylandToplevel>::export_handle::callback_func", line: 27 }
2024-11-16T07:06:48.780812Z DEBUG kooha::recording: Starting session window_identifier=wayland:
2024-11-16T07:06:48.789521Z DEBUG kooha::pipeline: file_path=/home/kushy/Kooha/Kooha-2024-11-16-12-36-48.webm framerate=Fraction(Ratio { numer: 60, denom: 1 }) profile="webm-vp8" fd=17 stream_len=1 streams=[Stream { node_id: 136, id: None, position: Some((0, 0)), size: Some((2560, 1440)), source_type: Some(SourceType(WINDOW)) }] record_desktop_audio=true record_microphone=false select_area_data=None
[I][95577.652804] pw.context   | [      pipewire.c:  578 pw_init()] version 1.2.6
2024-11-16T07:06:48.809110Z DEBUG kooha::device: Finding device name for class `Sink`
2024-11-16T07:06:48.809129Z DEBUG kooha::device: Skipping device `pulsedevice0` as it has unknown device class `Audio/Source`
2024-11-16T07:06:48.809140Z DEBUG kooha::device: Skipping device `pulsedevice1` as it has unknown device class `Audio/Source`
2024-11-16T07:06:48.809147Z DEBUG kooha::device: Skipping device `pulsedevice2` as it has unknown device class `Audio/Source`
2024-11-16T07:06:48.809160Z DEBUG kooha::device: Skipping device `pulsedevice3` as it is not the default
2024-11-16T07:06:48.809463Z DEBUG kooha::pipeline: Found desktop audio with name `alsa_output.pci-0000_04_00.1.hdmi-stereo.monitor`
[I][95577.673221] pw.conf      | [          conf.c:  415 conf_load()] 0x641830d70280: loaded config '/usr/share/pipewire/client.conf' with 5 items
[I][95577.673321] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties'
[I][95577.673335] pw.context   | [       context.c:  395 pw_context_new()] 0x641830d73d30: parsed 1 context.properties items
[I][95577.673364] pw.context   | [       context.c:  276 setup_data_loops()] created data loop 'data-loop.0'
[I][95577.673372] pw.context   | [       context.c:  279 setup_data_loops()] created 1 data-loops
[I][95577.673643] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs'
[I][95577.673672] pw.context   | [       context.c:  488 pw_context_new()] 0x641830d73d30: parsed 2 context.spa-libs items
[I][95577.673680] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules'
[I][95577.673690] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x641830d73d30: name:libpipewire-module-protocol-native args:(null)
[I][95577.674665] pw.conf      | [          conf.c:  611 load_module()] 0x641830d73d30: loaded module libpipewire-module-protocol-native
[I][95577.674692] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x641830d73d30: name:libpipewire-module-client-node args:(null)
[I][95577.676120] pw.conf      | [          conf.c:  611 load_module()] 0x641830d73d30: loaded module libpipewire-module-client-node
[I][95577.676157] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x641830d73d30: name:libpipewire-module-client-device args:(null)
[I][95577.676537] pw.conf      | [          conf.c:  611 load_module()] 0x641830d73d30: loaded module libpipewire-module-client-device
[I][95577.676561] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x641830d73d30: name:libpipewire-module-adapter args:(null)
[I][95577.677364] pw.conf      | [          conf.c:  611 load_module()] 0x641830d73d30: loaded module libpipewire-module-adapter
[I][95577.677403] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x641830d73d30: name:libpipewire-module-metadata args:(null)
[I][95577.677727] pw.conf      | [          conf.c:  611 load_module()] 0x641830d73d30: loaded module libpipewire-module-metadata
[I][95577.677742] pw.module    | [   impl-module.c:  156 pw_context_load_module()] 0x641830d73d30: name:libpipewire-module-session-manager args:(null)
[I][95577.678146] pw.conf      | [          conf.c:  611 load_module()] 0x641830d73d30: loaded module libpipewire-module-session-manager
[I][95577.678167] pw.context   | [       context.c:  492 pw_context_new()] 0x641830d73d30: parsed 6 context.modules items
[I][95577.678179] pw.context   | [       context.c:  497 pw_context_new()] 0x641830d73d30: parsed 0 context.objects items
[I][95577.678188] pw.context   | [       context.c:  500 pw_context_new()] 0x641830d73d30: parsed 0 context.exec items
[I][95577.678200] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:log.level type: value:0
[I][95577.678211] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.rate type: value:48000
[I][95577.678219] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.allowed-rates type: value:[ 48000 ]
[I][95577.678227] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.quantum type: value:1024
[I][95577.678235] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.min-quantum type: value:32
[I][95577.678243] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.max-quantum type: value:2048
[I][95577.678250] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.force-quantum type: value:0
[I][95577.678258] pw.metadata  | [ impl-metadata.c:  186 impl_set_property()] 0x641830d79500: add id:0 key:clock.force-rate type: value:0
[I][95577.678447] pw.conf      | [          conf.c: 1143 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties'
[E][95577.678601] mod.protocol-native | [module-protocol-: 1043 process_remote()] 0x641830d85110: could not find proxy 2
[E][95577.678628] mod.protocol-native | [module-protocol-: 1043 process_remote()] 0x641830d85110: could not find proxy 2
0:00:03.296543236 1181073 0x782ce80029f0 FIXME                default gstutils.c:4089:gst_element_decorate_stream_id_internal:<pipewiresrc0> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
[I][95577.683731] pw.context   | [       context.c:  725 pw_context_acquire_loop()] 0x641830d73d30: looking for name:'(null)' class:'main'
[I][95577.683767] pw.context   | [       context.c:  730 pw_context_acquire_loop()] 0x641830d73d30: using main loop num-data-loops:1
[I][95577.683819] pw.node      | [     impl-node.c: 1194 check_properties()] 0x782c3401ee10: sync group '(null)'->'group.sync.0'
[I][95577.683832] pw.node      | [     impl-node.c: 1218 check_properties()] 0x782c3401ee10: async 0 -> 1
[I][95577.683884] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x641830d751a8 created queue 0x782c3401fcf0
[I][95577.684483] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x641830d751a8 created queue 0x782c3801a6c0
[I][95577.688714] pw.stream    | [        stream.c:  839 parse_latency()] stream 0x641830d98350: set output latency 0.000000-0.000000 0-0 0-0
[I][95577.740620] pw.node      | [     impl-node.c:  469 node_update_state()] (kooha-110) creating -> running
[I][95577.781665] spa.loop     | [          loop.c:  213 loop_create_queue()] 0x641830d751a8 created queue 0x641830db82d0
0:00:03.395621870 1181073 0x782ce8000dd0 WARN              aggregator gstaggregator.c:2304:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
0:00:03.395737589 1181073 0x782ce8001070 FIXME                default gstutils.c:4089:gst_element_decorate_stream_id_internal:<kooha-desktop-audio-src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
[I][95577.782156] pw.node      | [     impl-node.c:  469 node_update_state()] (kooha-110) running -> idle
0:00:03.395793135 1181073 0x782ce8000dd0 WARN              aggregator gstaggregator.c:2304:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
0:00:03.395918643 1181073 0x782ce8000dd0 WARN              aggregator gstaggregator.c:2304:gst_aggregator_query_latency_unlocked:<audiomixer0> Latency query failed
[I][95577.782424] pw.node      | [     impl-node.c:  469 node_update_state()] (kooha-110) idle -> running
2024-11-16T07:06:48.922548Z DEBUG kooha::recording: Pipeline changed state from `Null` -> `Ready`
2024-11-16T07:06:48.922719Z DEBUG kooha::recording: Pipeline changed state from `Ready` -> `Paused`
2024-11-16T07:06:48.923219Z DEBUG kooha::window: Inhibited logout and idle
0:00:04.712935903 1181073 0x782ce8002c90 FIXME               basesink gstbasesink.c:3399:gst_base_sink_default_event:<filesink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
2024-11-16T07:06:50.240591Z DEBUG kooha::recording: Pipeline changed state from `Paused` -> `Playing`
[I][95585.658335] pw.node      | [     impl-node.c:  469 node_update_state()] (kooha-110) running -> idle

(kooha:1181073): GStreamer-CRITICAL **: 12:36:56.799: gst_caps_intersect_full: assertion 'GST_IS_CAPS (caps2)' failed

** (kooha:1181073): CRITICAL **: 12:36:56.799: gst_caps_maybe_fixate_dma_format: assertion 'GST_IS_CAPS (caps)' failed
0:00:11.272823014 1181073 0x782c38008820 WARN             pipewiresrc gstpipewiresrc.c:1129:handle_format_change:<pipewiresrc0> finish format with error
[E][95585.659103] pw.stream    | [        stream.c:  397 stream_set_state()] 0x641830d98350: error (-22) unhandled format
0:00:11.273040367 1181073 0x782c38008820 WARN             pipewiresrc gstpipewiresrc.c:704:on_state_changed:<pipewiresrc0> error: stream error: unhandled format
[E][95585.659377] mod.client-node | [   remote-node.c:  577 client_node_port_set_param()] port 0x782c3401f660: set_param 4 0x641830d906a8: Invalid argument
2024-11-16T07:06:56.799643Z DEBUG kooha::recording: Received error at bus state=Recording
0:00:11.274356151 1181073 0x782c040013e0 WARN                audiosrc gstaudiosrc.c:227:audioringbuffer_thread_func:<kooha-desktop-audio-src> error reading data -1 (reason: Success), skipping segment
[W][95585.933041] pw.node      | [     impl-node.c:  522 suspend_node()] 0x782c3401ee10: error unset format input: Invalid argument
[I][95585.933178] pw.node      | [     impl-node.c:  469 node_update_state()] (kooha-110) idle -> suspended
[I][95585.933371] pw.node      | [     impl-node.c: 2374 pw_impl_node_destroy()] (kooha-110) destroy
2024-11-16T07:06:57.081114Z DEBUG kooha::window: Uninhibited logout and idle
2024-11-16T07:06:57.081153Z ERROR kooha::window: An error occurred while recording

Caused by:
    0: ../pipewire/src/gst/gstpipewiresrc.c(704): on_state_changed (): /GstPipeline:pipeline0/GstBin:kooha-pipewiresrc-bin/GstPipeWireSrc:pipewiresrc0
    1: stream error: unhandled format

Stack backtrace:
   0: <unknown>
   1: <unknown>
   2: <unknown>
   3: <unknown>
   4: <unknown>
   5: g_main_context_iteration
   6: g_application_run
   7: <unknown>
   8: <unknown>
   9: <unknown>
  10: <unknown>
  11: __libc_start_main
  12: <unknown>

(kooha:1181073): Gtk-CRITICAL **: 12:37:01.033: Widget of type “AdwAlertDialog” already has an accessible role of type “GTK_ACCESSIBLE_ROLE_GENERIC”

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

1 participant