Skip to content

wl-copy -c hangs indefinitely around suspension/unsuspensionΒ #264

@hcsch

Description

@hcsch

Seems like a similar issue to #168 where I originally posted #168 (comment).

KeePassXC seems to clear the clipboard somewhere around a suspend/unsuspend of the OS and the wl-copy -c process started for this hangs indefinitely on

while (wl_display_dispatch(wl_display) >= 0);

See keepassxreboot/keepassxc#12267 for the original KeePassXC issue.

Backtrace:

(gdb) bt full
#0  __internal_syscall_cancel (a1=a1@entry=140724368140448, a2=a2@entry=1, a3=a3@entry=-1, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:44
        result = <optimized out>
        pd = <optimized out>
        ch = <optimized out>
#1  0x00007fad1e1ba024 in __syscall_cancel (a1=a1@entry=140724368140448, a2=a2@entry=1, a3=a3@entry=-1, a4=a4@entry=0, a5=a5@entry=0, a6=a6@entry=0, nr=7) at cancellation.c:75
        r = <optimized out>
#2  0x00007fad1e23405e in __GI___poll (fds=fds@entry=0x7ffcf1f968a0, nfds=nfds@entry=1, timeout=timeout@entry=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
No locals.
#3  0x00007fad1e31f196 in poll (__fds=0x7ffcf1f968a0, __nfds=1, __timeout=-1) at /usr/include/bits/poll2.h:44
No locals.
#4  wl_display_poll (display=0x55dc6e3ae2a0, events=1) at ../wayland-1.23.1/src/wayland-client.c:1957
        ret = <optimized out>
        pfd = {{fd = 3, events = 1, revents = 0}}
#5  wl_display_dispatch_queue (display=<optimized out>, queue=<optimized out>) at ../wayland-1.23.1/src/wayland-client.c:2030
        ret = <optimized out>
        ret = <optimized out>
#6  wl_display_dispatch_queue (display=display@entry=0x55dc6e3ae2a0, queue=queue@entry=0x55dc6e3ae398) at ../wayland-1.23.1/src/wayland-client.c:2003
        ret = <optimized out>
#7  0x00007fad1e31f1f1 in wl_display_dispatch (display=display@entry=0x55dc6e3ae2a0) at ../wayland-1.23.1/src/wayland-client.c:2105
No locals.
#8  0x000055dc3517e659 in main (argc=<optimized out>, argv=<optimized out>) at ../wl-clipboard-2.2.1/src/wl-copy.c:321
        wl_display = 0x55dc6e3ae2a0
        registry = 0x55dc6e3b2560
        seat = 0x55dc6e3ae470
        device_manager = <optimized out>
        device = 0x55dc6e3b5e30
        copy_action = <optimized out>

Wayland debug log (contains both KeePassXC and wl-copy entries, wl_pointer and wl_keyboard entries removed):
keepassxc-wl-copy-wayland-debug.log

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