Skip to content

wl-copy hang when ssh + stdin #224

Description

@dontdieych

It hangs but copy work. can confirm in hostA's clipboard history. mktemp for uniq string in clipboard manager. If it matters this is reverse ssh. I connected hostB then run this command to local laptop hostA.

echo (mktemp)| tee | ssh hostA \
    "env XDG_RUNTIME_DIR=/run/user/1000 wl-copy"

with WAYLAND_DEBUG=1

$ echo (mktemp)| tee | ssh a-mba-nixos \
    "env WAYLAND_DEBUG=1 XDG_RUNTIME_DIR=/run/user/1000 wl-copy"

[1463352.160]  -> wl_display@1.get_registry(new id wl_registry@2)  
[1463352.165]  -> wl_display@1.sync(new id wl_callback@3)  
[1463355.332] wl_display@1.delete_id(3)  
[1463355.336] wl_registry@2.global(1, "wl_compositor", 6)  
[1463355.338]  -> wl_registry@2.bind(1, "wl_compositor", 2, new id [unknown]@4)  
[1463355.340] wl_registry@2.global(3, "zwp_tablet_manager_v2", 1)  
[1463355.342] wl_registry@2.global(4, "zwp_keyboard_shortcuts_inhibit_manager_v1", 1)  
[1463355.343] wl_registry@2.global(5, "zxdg_decoration_manager_v1", 1)  
[1463355.343] wl_registry@2.global(6, "wp_viewporter", 1)  
[1463355.344] wl_registry@2.global(7, "wp_security_context_manager_v1", 1)  
[1463355.345] wl_registry@2.global(8, "wp_fractional_scale_manager_v1", 1)  
[1463355.346] wl_registry@2.global(9, "wl_shm", 1)  
[1463355.347]  -> wl_registry@2.bind(9, "wl_shm", 1, new id [unknown]@5)  
[1463355.348] wl_registry@2.global(10, "wl_seat", 9)  
[1463355.349]  -> wl_registry@2.bind(10, "wl_seat", 2, new id [unknown]@6)  
[1463355.350] wl_registry@2.global(11, "zwp_pointer_gestures_v1", 3)  
[1463355.351] wl_registry@2.global(12, "zwp_pointer_constraints_v1", 1)  
[1463355.352] wl_registry@2.global(13, "zwp_relative_pointer_manager_v1", 1)  
[1463355.353] wl_registry@2.global(14, "wl_data_device_manager", 3)  
[1463355.354]  -> wl_registry@2.bind(14, "wl_data_device_manager", 1, new id [unknown]@7)  
[1463355.355] wl_registry@2.global(15, "zwlr_data_control_manager_v1", 2)  
[1463355.356]  -> wl_registry@2.bind(15, "zwlr_data_control_manager_v1", 2, new id [unknown]@8)  
[1463355.358] wl_registry@2.global(16, "wp_cursor_shape_manager_v1", 1)  
[1463355.360] wl_registry@2.global(17, "zwp_primary_selection_device_manager_v1", 1)  
[1463355.361]  -> wl_registry@2.bind(17, "zwp_primary_selection_device_manager_v1", 1, new id [unknown]@9)  
[1463355.362] wl_registry@2.global(18, "org_kde_kwin_idle", 1)  
[1463355.363] wl_registry@2.global(19, "zwp_idle_inhibit_manager_v1", 1)  
[1463355.364] wl_registry@2.global(20, "ext_idle_notifier_v1", 1)  
[1463355.365] wl_registry@2.global(21, "org_kde_plasma_shell", 8)  
[1463355.366] wl_registry@2.global(22, "org_kde_kwin_appmenu_manager", 1)  
[1463355.367] wl_registry@2.global(23, "org_kde_kwin_server_decoration_palette_manager", 1)  
[1463355.368] wl_registry@2.global(25, "org_kde_plasma_virtual_desktop_management", 2)  
[1463355.369] wl_registry@2.global(27, "org_kde_kwin_shadow_manager", 2)  
[1463355.370] wl_registry@2.global(28, "org_kde_kwin_dpms_manager", 1)  
[1463355.371] wl_registry@2.global(29, "org_kde_kwin_server_decoration_manager", 1)  
[1463355.372] wl_registry@2.global(30, "kde_output_management_v2", 7)  
[1463355.373] wl_registry@2.global(31, "zxdg_output_manager_v1", 3)  
[1463355.373] wl_registry@2.global(32, "wl_subcompositor", 1)  
[1463355.374] wl_registry@2.global(33, "zxdg_exporter_v2", 1)  
[1463355.375] wl_registry@2.global(34, "zxdg_importer_v2", 1)  
[1463355.376] wl_registry@2.global(37, "xdg_activation_v1", 1)  
[1463355.377]  -> wl_registry@2.bind(37, "xdg_activation_v1", 1, new id [unknown]@10)  
[1463355.378] wl_registry@2.global(39, "wp_content_type_manager_v1", 1)  
[1463355.379] wl_registry@2.global(40, "wp_tearing_control_manager_v1", 1)  
[1463355.380] wl_registry@2.global(41, "xdg_toplevel_drag_manager_v1", 1)  
[1463355.381] wl_registry@2.global(42, "kde_screen_edge_manager_v1", 1)  
[1463355.382] wl_registry@2.global(43, "frog_color_management_factory_v1", 1)  
[1463355.384] wl_registry@2.global(44, "wp_presentation", 1)  
[1463355.385] wl_registry@2.global(47, "xdg_wm_base", 6)  
[1463355.386]  -> wl_registry@2.bind(47, "xdg_wm_base", 1, new id [unknown]@11)  
[1463355.387] wl_registry@2.global(48, "zwlr_layer_shell_v1", 5)  
[1463355.388] wl_registry@2.global(50, "wp_drm_lease_device_v1", 1)  
[1463355.389] wl_registry@2.global(51, "kde_output_order_v1", 1)  
[1463355.390] wl_registry@2.global(52, "zwp_text_input_manager_v1", 1)  
[1463355.390] wl_registry@2.global(53, "zwp_text_input_manager_v2", 1)  
[1463355.391] wl_registry@2.global(54, "zwp_text_input_manager_v3", 1)  
[1463355.392] wl_registry@2.global(56, "wl_drm", 2)  
[1463355.393] wl_registry@2.global(57, "zwp_linux_dmabuf_v1", 4)  
[1463355.394] wl_registry@2.global(58, "kde_output_device_v2", 6)  
[1463355.395] wl_registry@2.global(59, "wl_output", 4)  
[1463355.396] wl_registry@2.global(60, "org_kde_kwin_blur_manager", 1)  
[1463355.396] wl_registry@2.global(61, "org_kde_kwin_contrast_manager", 2)  
[1463355.397] wl_registry@2.global(62, "org_kde_kwin_slide_manager", 1)  
[1463355.398] wl_callback@3.done(67399)  
[1463355.400]  -> wl_display@1.sync(new id wl_callback@3)  
[1463355.460] wl_display@1.delete_id(3)  
[1463355.469] wl_seat@6.capabilities(7)  
[1463355.472] wl_seat@6.name("")  
[1463355.474] wl_callback@3.done(67399)  
[1463355.480]  -> zwlr_data_control_manager_v1@8.get_data_device(new id zwlr_data_control_device_v1@3, wl_seat@6)  
[1463429.382]  -> zwlr_data_control_manager_v1@8.create_data_source(new id zwlr_data_control_source_v1@12)  
[1463429.393]  -> zwlr_data_control_source_v1@12.offer("text/plain")  
[1463429.397]  -> zwlr_data_control_source_v1@12.offer("text/plain")  
[1463429.399]  -> zwlr_data_control_source_v1@12.offer("text/plain;charset=utf-8")  
[1463429.401]  -> zwlr_data_control_source_v1@12.offer("TEXT")  
[1463429.403]  -> zwlr_data_control_source_v1@12.offer("STRING")  
[1463429.404]  -> zwlr_data_control_source_v1@12.offer("UTF8_STRING")  
[1463429.407]  -> zwlr_data_control_device_v1@3.set_selection(zwlr_data_control_source_v1@12)  
[1463429.410]  -> wl_display@1.sync(new id wl_callback@13)  
[1463429.500] wl_display@1.delete_id(13)  
[1463429.509] zwlr_data_control_device_v1@3.data_offer(new id zwlr_data_control_offer_v1@4278190080)  
[1463429.512] zwlr_data_control_offer_v1@4278190080.offer("text/html")  
[1463429.514] zwlr_data_control_offer_v1@4278190080.offer("STRING")  
[1463429.516] zwlr_data_control_offer_v1@4278190080.offer("text/plain;charset=utf-8")  
[1463429.518] zwlr_data_control_offer_v1@4278190080.offer("TEXT")  
[1463429.519] zwlr_data_control_offer_v1@4278190080.offer("UTF8_STRING")  
[1463429.521] zwlr_data_control_offer_v1@4278190080.offer("text/plain")  
[1463429.522] zwlr_data_control_offer_v1@4278190080.offer("text/plain;charset=utf-8")  
[1463429.524] zwlr_data_control_device_v1@3.selection(zwlr_data_control_offer_v1@4278190080)  
[1463429.526]  -> zwlr_data_control_offer_v1@4278190080.destroy()  
[1463429.528] zwlr_data_control_device_v1@3.data_offer(new id zwlr_data_control_offer_v1@4278190081)  
[1463429.530] zwlr_data_control_offer_v1@4278190081.offer("TEXT")  
[1463429.532] zwlr_data_control_offer_v1@4278190081.offer("STRING")  
[1463429.533] zwlr_data_control_offer_v1@4278190081.offer("UTF8_STRING")  
[1463429.535] zwlr_data_control_offer_v1@4278190081.offer("text/plain")  
[1463429.536] zwlr_data_control_offer_v1@4278190081.offer("text/plain;charset=utf-8")  
[1463429.537] zwlr_data_control_offer_v1@4278190081.offer("text/plain;charset=utf-8")  
[1463429.539] zwlr_data_control_device_v1@3.primary_selection(zwlr_data_control_offer_v1@4278190081)  
[1463429.541]  -> zwlr_data_control_offer_v1@4278190081.destroy()  
[1463429.543] zwlr_data_control_device_v1@3.data_offer(new id zwlr_data_control_offer_v1@4278190082)  
[1463429.545] zwlr_data_control_offer_v1@4278190082.offer("text/plain")  
[1463429.546] zwlr_data_control_offer_v1@4278190082.offer("text/plain")  
[1463429.548] zwlr_data_control_offer_v1@4278190082.offer("text/plain;charset=utf-8")  
[1463429.549] zwlr_data_control_offer_v1@4278190082.offer("TEXT")  
[1463429.551] zwlr_data_control_offer_v1@4278190082.offer("STRING")  
[1463429.552] zwlr_data_control_offer_v1@4278190082.offer("UTF8_STRING")  
[1463429.554] zwlr_data_control_device_v1@3.selection(zwlr_data_control_offer_v1@4278190082)  
[1463429.555]  -> zwlr_data_control_offer_v1@4278190082.destroy()  
[1463429.557] wl_callback@13.done(67401)  
[1463429.705] zwlr_data_control_source_v1@12.send("text/plain;charset=utf-8", fd 5)  
[1463430.297] zwlr_data_control_source_v1@12.send("text/plain;charset=utf-8", fd 5)  
[1463430.778] zwlr_data_control_source_v1@12.send("text/plain;charset=utf-8", fd 5)  
^C⏎

the hang is break when 'copy' something in local laptop. e.g. select some text and Ctrl-c in editor in local laptop during hang. this line is showed then break.

[1939590.090] zwlr_data_control_source_v1@12.cancelled()

If you need more info, let me know.

Operating System: NixOS 24.05
KDE Plasma Version: 6.0.4
KDE Frameworks Version: 6.2.0
Qt Version: 6.7.0
Kernel Version: 6.8.9-asahi (64-bit)
Graphics Platform: Wayland
Processors: 4 × Apple Avalanche (M2), 4 × Apple Blizzard (M2)
Memory: 7.4 GiB of RAM
Graphics Processor: Apple M2
Product Name: Apple MacBook Air (15-inch, M2, 2023)�
U-Boot Version: 2024.04�

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions