Open jackra1n opened 2 months ago
Affected version
- io.github.seadve.Kooha 2.3.0 - Flatpak: true - Experimental Features: [] - Language: en_US.UTF-8, en_US, en.UTF-8, en, C - CPU: AMD Ryzen 9 5900X 12-Core Processor - GPU: NVIDIA Corporation GA102 [GeForce RTX 3080] (rev a1) - Distribution: GNOME 46 (Flatpak runtime) - Desktop Session: gnome - Display Server: wayland - GTK 4.14.4 - Libadwaita 1.5.3 - GStreamer 1.22.12 - Pipewire 0.3.83
Bug summary
When I want to start recording it freezes and the only option is to kill the program
Steps to reproduce
Start Kooha and press on "Record"
Pick the screen and click "Share"
Kooha freezes
Expected behavior
Not freeze/crash.
Relevant logs, screenshots, screencasts, etc.
2024-08-28T09:06:15.251319Z INFO kooha::application: Kooha (io.github.seadve.Kooha) 2024-08-28T09:06:15.251333Z INFO kooha::application: Version: 2.3.0 () 2024-08-28T09:06:15.251336Z INFO kooha::application: Datadir: /app/share/kooha 2024-08-28T09:06:18.908462Z DEBUG kooha::recording: Created screencast proxy version=Ok(5) available_cursor_modes=Ok(CursorMode(HIDDEN | EMBEDDED | METADATA)) available_source_types=Ok(SourceType(MONITOR | WINDOW | VIRTUAL)) 2024-08-28T09:06:18.910551Z DEBUG kooha::recording: Selecting sources cursor_mode=CursorMode(EMBEDDED) source_type=SourceType(MONITOR) is_multiple_sources=false restore_token="" persist_mode=Persistent 2024-08-28T09:06:18.914310Z DEBUG kooha::recording: Starting session window_identifier=wayland:$@lGx/.[51\INbg@h'upM>vFW,3lLiJv [I][02754.191571] pw.context | [ pipewire.c: 647 pw_init()] version 0.3.83 2024-08-28T09:06:22.020653Z DEBUG kooha::area_selector: Using gl pipeline [I][02754.211946] pw.conf | [ conf.c: 404 conf_load()] 0x56433efcc0d0: loaded config '/usr/share/pipewire/client.conf' with 5 items [I][02754.211972] pw.conf | [ conf.c: 957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.properties' [I][02754.211982] pw.context | [ context.c: 245 pw_context_new()] 0x56433efd6fd0: parsed 1 context.properties items [I][02754.212202] pw.conf | [ conf.c: 957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.spa-libs' [I][02754.212224] pw.context | [ context.c: 346 pw_context_new()] 0x56433efd6fd0: parsed 2 context.spa-libs items [I][02754.212231] pw.conf | [ conf.c: 957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'context.modules' [I][02754.212239] pw.module | [ impl-module.c: 157 pw_context_load_module()] 0x56433efd6fd0: name:libpipewire-module-protocol-native args:(null) [I][02754.212865] pw.conf | [ conf.c: 581 load_module()] 0x56433efd6fd0: loaded module libpipewire-module-protocol-native [I][02754.212879] pw.module | [ impl-module.c: 157 pw_context_load_module()] 0x56433efd6fd0: name:libpipewire-module-client-node args:(null) [I][02754.213064] pw.conf | [ conf.c: 581 load_module()] 0x56433efd6fd0: loaded module libpipewire-module-client-node [I][02754.213076] pw.module | [ impl-module.c: 157 pw_context_load_module()] 0x56433efd6fd0: name:libpipewire-module-client-device args:(null) [I][02754.213180] pw.conf | [ conf.c: 581 load_module()] 0x56433efd6fd0: loaded module libpipewire-module-client-device [I][02754.213191] pw.module | [ impl-module.c: 157 pw_context_load_module()] 0x56433efd6fd0: name:libpipewire-module-adapter args:(null) [I][02754.213314] pw.conf | [ conf.c: 581 load_module()] 0x56433efd6fd0: loaded module libpipewire-module-adapter [I][02754.213324] pw.module | [ impl-module.c: 157 pw_context_load_module()] 0x56433efd6fd0: name:libpipewire-module-metadata args:(null) [I][02754.213438] pw.conf | [ conf.c: 581 load_module()] 0x56433efd6fd0: loaded module libpipewire-module-metadata [I][02754.213449] pw.module | [ impl-module.c: 157 pw_context_load_module()] 0x56433efd6fd0: name:libpipewire-module-session-manager args:(null) [I][02754.213574] pw.conf | [ conf.c: 581 load_module()] 0x56433efd6fd0: loaded module libpipewire-module-session-manager [I][02754.213585] pw.context | [ context.c: 350 pw_context_new()] 0x56433efd6fd0: parsed 6 context.modules items [I][02754.213591] pw.context | [ context.c: 355 pw_context_new()] 0x56433efd6fd0: parsed 0 context.objects items [I][02754.213598] pw.context | [ context.c: 358 pw_context_new()] 0x56433efd6fd0: parsed 0 context.exec items [W][02754.213626] default | [ thread.c: 105 impl_acquire_rt()] acquire_rt thread:0x7f181d2006c0 prio:-1 not implemented [I][02754.213637] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:log.level type: value:0 [I][02754.213645] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.rate type: value:48000 [I][02754.213651] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.allowed-rates type: value:[ 48000 ] [I][02754.213658] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.quantum type: value:1024 [I][02754.213664] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.min-quantum type: value:32 [I][02754.213671] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.max-quantum type: value:2048 [I][02754.213677] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.force-quantum type: value:0 [I][02754.213683] pw.metadata | [ impl-metadata.c: 186 impl_set_property()] 0x56433efd5d80: add id:0 key:clock.force-rate type: value:0 [I][02754.213763] pw.conf | [ conf.c: 957 pw_conf_section_for_each()] handle config '/usr/share/pipewire/client.conf' section 'stream.properties' 0:00:06.780666496 2 0x7f1820001490 FIXME default gstutils.c:4036:gst_pad_create_stream_id_internal:<pipewiresrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id 0:00:06.788687531 2 0x7f17f0007540 FIXME glcontext gstglcontext.c:2038:gst_gl_wrapped_context_get_config:<glwrappedcontext0> wrapped context could not retrieve config. The application may be missing a call to gst_gl_context_fill_info() or the specific platform implemention is not implemented for retrieving the config from a wrapped OpenGL context. 0:00:06.789683410 2 0x7f17f0007540 WARN glcontext gstglcontext.c:1326:gst_gl_context_create_thread:<glcontextegl0> Failed to create context 0:00:06.789724461 2 0x7f1820001490 WARN glbasefilter gstglbasefilter.c:617:gst_gl_base_filter_find_gl_context_unlocked:<gluploadelement0> error: Failed to create a OpenGL context: EGL_BAD_CONTEXT 0:00:06.790147889 2 0x7f17f00075a0 FIXME glcontext gstglcontext.c:2038:gst_gl_wrapped_context_get_config:<glwrappedcontext0> wrapped context could not retrieve config. The application may be missing a call to gst_gl_context_fill_info() or the specific platform implemention is not implemented for retrieving the config from a wrapped OpenGL context. 0:00:06.791076637 2 0x7f17f00075a0 WARN glcontext gstglcontext.c:1326:gst_gl_context_create_thread:<glcontextegl1> Failed to create context 0:00:06.791117858 2 0x7f1820001490 WARN glbasefilter gstglbasefilter.c:617:gst_gl_base_filter_find_gl_context_unlocked:<glcolorconvertelement0> error: Failed to create a OpenGL context: EGL_BAD_CONTEXT 0:00:06.805244221 2 0x7f17f0007540 FIXME glcontext gstglcontext.c:2038:gst_gl_wrapped_context_get_config:<glwrappedcontext0> wrapped context could not retrieve config. The application may be missing a call to gst_gl_context_fill_info() or the specific platform implemention is not implemented for retrieving the config from a wrapped OpenGL context. 0:00:06.806460645 2 0x7f17f0007540 WARN glcontext gstglcontext.c:1326:gst_gl_context_create_thread:<glcontextegl2> Failed to create context 0:00:06.806495346 2 0x7f1820001490 WARN glbasefilter gstglbasefilter.c:617:gst_gl_base_filter_find_gl_context_unlocked:<gluploadelement0> error: Failed to create a OpenGL context: EGL_BAD_CONTEXT 0:00:06.806516996 2 0x7f1820001490 WARN basetransform gstbasetransform.c:1600:gst_base_transform_default_query:<gluploadelement0:sink> no caps can be handled by this pad 0:00:06.806542646 2 0x7f1820001490 WARN pipewiresrc gstpipewiresrc.c:965:gst_pipewire_src_negotiate:<pipewiresrc0> error: No supported formats found 0:00:06.806550177 2 0x7f1820001490 WARN pipewiresrc gstpipewiresrc.c:965:gst_pipewire_src_negotiate:<pipewiresrc0> error: This element does not have formats in common with the peer [W][02754.239771] pw.stream | [ stream.c: 2168 pw_stream_set_error()] pw_stream_set_error called from wrong context, check thread and locking: Operation not permitted *** pw_stream_set_error called from wrong context, check thread and locking: Operation not permitted [E][02754.239804] pw.stream | [ stream.c: 403 stream_set_state()] 0x56433f002d50: error (-32) No supported formats found [W][02754.239818] pw.stream | [ stream.c: 2168 pw_stream_set_error()] pw_stream_set_error called from wrong context, check thread and locking: Operation not permitted *** pw_stream_set_error called from wrong context, check thread and locking: Operation not permitted 0:00:06.806632748 2 0x7f1820001490 WARN pipewiresrc gstpipewiresrc.c:685:on_state_changed:<pipewiresrc0> error: stream error: No supported formats found 0:00:06.806650869 2 0x7f1820001490 WARN basesrc gstbasesrc.c:3134:gst_base_src_loop:<pipewiresrc0> error: Internal data stream error. 0:00:06.806657899 2 0x7f1820001490 WARN basesrc gstbasesrc.c:3134:gst_base_src_loop:<pipewiresrc0> error: streaming stopped, reason not-negotiated (-4) 2024-08-28T09:06:22.050899Z ERROR kooha::window: Element failed to change its state Stack backtrace: 0: <unknown> 1: <unknown> 2: <unknown> 3: <unknown> 4: <unknown> 5: <unknown> 6: g_main_context_iteration 7: g_application_run 8: <unknown> 9: <unknown> 10: <unknown> 11: <unknown> 12: __libc_start_main 13: <unknown> 2024-08-28T09:06:22.070661Z DEBUG kooha::area_selector: Pipeline changed state from `Null` -> `Ready` 2024-08-28T09:06:22.070694Z ERROR kooha::area_selector: Received error message on bus: Error { structure: Some(GstMessageError { gerror: (GError) ((GError*) 0x7f17f001de60), debug: (gchararray) "../gst-libs/gst/gl/gstglbasefilter.c(617): gst_gl_base_filter_find_gl_context_unlocked (): /GstPipeline:pipeline0/GstGLSinkBin:glsinkbin0/GstGLUploadElement:gluploadelement0" }), source: Some((Object { inner: TypedObjectRef { inner: 0x56433efc28f0, type: GstGLUploadElement } }, "gluploadelement0")), error: Error { domain: gst-resource-error-quark, code: 3, message: "Failed to create a OpenGL context: EGL_BAD_CONTEXT" }, debug: Some("../gst-libs/gst/gl/gstglbasefilter.c(617): gst_gl_base_filter_find_gl_context_unlocked (): /GstPipeline:pipeline0/GstGLSinkBin:glsinkbin0/GstGLUploadElement:gluploadelement0"), details: None }
Similar issue with flatpak :(. For the time being I have switched to pypeek which seems to work nicely.
Affected version
Bug summary
When I want to start recording it freezes and the only option is to kill the program
Steps to reproduce
Start Kooha and press on "Record"
Pick the screen and click "Share"
Kooha freezes
Expected behavior
Not freeze/crash.
Relevant logs, screenshots, screencasts, etc.