Hyprland icon indicating copy to clipboard operation
Hyprland copied to clipboard

security: implement ext-session-lock-v1

Open primalmotion opened this issue 1 year ago • 6 comments

It seems Hyprland is not implementing ext-session-lock-v1 (https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/131) (implemented in swaylock here https://github.com/swaywm/swaylock/pull/219)

Today if I start swaylock, then switch to another tty and kill it, then come back to Hyprland, I'm back into my session. So basically that means if swaylock crashes, nothing is locked anymore. In Sway, if I do the same, the screen is all red and I can't do anything (the lockscreen is dead, but the session is still locked)

primalmotion avatar Oct 06 '22 16:10 primalmotion

implementation from sway is here https://github.com/swaywm/sway/commit/519038a7e903caae731007b276f5666a341498e9 (and this https://github.com/swaywm/sway/commit/75b2d0b105ac21f362d47ccdc94a4cb25994e2f6)

primalmotion avatar Oct 06 '22 22:10 primalmotion

I would like to add that when I'm playing games (i tested it with osu!stable and osu!lazer) and I lock the session with swaylock keyboard input it's still sent to the game running beneath swaylock (I can still search for beatmaps on osu). Only when moving the mouse a little bit swaylock will finally start getting keyboard strokes and not the game.

Estebiu avatar Nov 15 '22 10:11 Estebiu

odd.

Yeah I'll impl it, soom™

vaxerski avatar Nov 15 '22 10:11 vaxerski

FYI: swaylock has dropped support for the old implementation in https://github.com/swaywm/swaylock/commit/ac3b49b6571ceda3f8db11a98bfe320106996280

q234rty avatar Jan 29 '23 05:01 q234rty

I once have written an impl to it but swaylock-effects was bugged with it graphically, and now I no longer have it. Gotta rewrite I guess

vaxerski avatar Jan 29 '23 16:01 vaxerski

yay. "soon" will be soon :p

primalmotion avatar Jan 30 '23 18:01 primalmotion

after a short wait, here you go: 129e99a6f60eac7ece31a1ccd1e781075fd53050

vaxerski avatar Feb 03 '23 11:02 vaxerski

awesome! I just tried to kill an active swaylock and it works. the screen is all red (I was expecting an insult, but oh well :p )

However, after a few sec of red screen, Hyprland crashes

           PID: 146858 (Hyprland)
           UID: 1000 (antoine)
           GID: 1000 (antoine)
        Signal: 11 (SEGV)
     Timestamp: Fri 2023-02-03 08:56:58 PST (49s ago)
  Command Line: Hyprland
    Executable: /usr/bin/Hyprland
 Control Group: /user.slice/user-1000.slice/session-9.scope
          Unit: session-9.scope
         Slice: user-1000.slice
       Session: 9
     Owner UID: 1000 (primalmotion)
       Boot ID: af2b428ad70b47228c2eeda3a90097b7
    Machine ID: 9e36ae83bc9246a2a196067f2db76342
      Hostname: axion
       Storage: /var/lib/systemd/coredump/core.Hyprland.1000.af2b428ad70b47228c2eeda3a90097b7.146858.1675443418000000.zst (present)
  Size on Disk: 3.6M
       Message: Process 146858 (Hyprland) of user 1000 dumped core.
                
                Stack trace of thread 146858:
                #0  0x00007f51633a6ce4 wl_resource_get_client (libwayland-server.so.0 + 0x8ce4)
                #1  0x00005561a26742bf _ZN11CCompositor19doesSeatAcceptInputEP11wlr_surface (Hyprland + 0x442bf)
                #2  0x00005561a2738df1 _ZN13CInputManager22processMouseDownNormalEP24wlr_pointer_button_event (Hyprland + 0x108df1)
                #3  0x00007f51633a7f6e wl_signal_emit_mutable (libwayland-server.so.0 + 0x9f6e)
                #4  0x00007f51633a7f6e wl_signal_emit_mutable (libwayland-server.so.0 + 0x9f6e)
                #5  0x00007f51634f5f43 handle_pointer_button (libwlroots.so.12032 + 0x55f43)
                #6  0x00007f51634f4d7b handle_libinput_readable (libwlroots.so.12032 + 0x54d7b)
                #7  0x00007f51633a99e2 wl_event_loop_dispatch (libwayland-server.so.0 + 0xb9e2)
                #8  0x00007f51633aa197 wl_display_run (libwayland-server.so.0 + 0xc197)
                #9  0x00005561a26662fd main (Hyprland + 0x362fd)
                #10 0x00007f5162c3c290 n/a (libc.so.6 + 0x23290)
                #11 0x00007f5162c3c34a __libc_start_main (libc.so.6 + 0x2334a)
                #12 0x00005561a266fe05 _start (Hyprland + 0x3fe05)
                
                Stack trace of thread 146870:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146867:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146877:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146873:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146869:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146865:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146881:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146866:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146874:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146868:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146876:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146871:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146883:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146872:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146875:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146882:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146884:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146879:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146878:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146880:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146864:
                #0  0x00007f5162c9c4b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007f5162c9ecd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007f516050c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007f51604bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007f516050c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 146885:
                #0  0x00007f5162d22b6f accept (libc.so.6 + 0x109b6f)
                #1  0x00005561a271bac3 _ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN13CEventManager11startThreadEvEUlvE_EEEEE6_M_runEv (Hyprland + 0xebac3)
                #2  0x00007f5162ed7283 execute_native_thread_routine (libstdc++.so.6 + 0xd7283)
                #3  0x00007f5162c9f8fd n/a (libc.so.6 + 0x868fd)
                #4  0x00007f5162d21d20 n/a (libc.so.6 + 0x108d20)
                ELF object binary architecture: AMD x86-64
`''`

primalmotion avatar Feb 03 '23 16:02 primalmotion

check with d81f45e54a423cf3af522ca901a2f356d63100c0

vaxerski avatar Feb 03 '23 17:02 vaxerski

it's still crashing

           PID: 159590 (Hyprland)
           UID: 1000 (pritmalmotion)
           GID: 1000 (primalmotion)
        Signal: 11 (SEGV)
     Timestamp: Fri 2023-02-03 09:11:28 PST (26s ago)
  Command Line: Hyprland
    Executable: /usr/bin/Hyprland
 Control Group: /user.slice/user-1000.slice/session-11.scope
          Unit: session-11.scope
         Slice: user-1000.slice
       Session: 11
     Owner UID: 1000 (primalmotion)
       Boot ID: af2b428ad70b47228c2eeda3a90097b7
    Machine ID: 9e36ae83bc9246a2a196067f2db76342
      Hostname: axion
       Storage: /var/lib/systemd/coredump/core.Hyprland.1000.af2b428ad70b47228c2eeda3a90097b7.159590.1675444288000000.zst (present)
  Size on Disk: 3.6M
       Message: Process 159590 (Hyprland) of user 1000 dumped core.
                
                Stack trace of thread 159590:
                #0  0x00007fda642a5ce4 wl_resource_get_client (libwayland-server.so.0 + 0x8ce4)
                #1  0x000055d6c68732bf _ZN11CCompositor19doesSeatAcceptInputEP11wlr_surface (Hyprland + 0x442bf)
                #2  0x000055d6c6937e01 _ZN13CInputManager22processMouseDownNormalEP24wlr_pointer_button_event (Hyprland + 0x108e01)
                #3  0x00007fda642a6f6e wl_signal_emit_mutable (libwayland-server.so.0 + 0x9f6e)
                #4  0x00007fda642a6f6e wl_signal_emit_mutable (libwayland-server.so.0 + 0x9f6e)
                #5  0x00007fda643f4f43 handle_pointer_button (libwlroots.so.12032 + 0x55f43)
                #6  0x00007fda643f3d7b handle_libinput_readable (libwlroots.so.12032 + 0x54d7b)
                #7  0x00007fda642a89e2 wl_event_loop_dispatch (libwayland-server.so.0 + 0xb9e2)
                #8  0x00007fda642a9197 wl_display_run (libwayland-server.so.0 + 0xc197)
                #9  0x000055d6c68652fd main (Hyprland + 0x362fd)
                #10 0x00007fda63b54290 n/a (libc.so.6 + 0x23290)
                #11 0x00007fda63b5434a __libc_start_main (libc.so.6 + 0x2334a)
                #12 0x000055d6c686ee05 _start (Hyprland + 0x3fe05)
                
                Stack trace of thread 159600:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159603:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159604:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159605:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159598:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159599:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159596:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159597:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159601:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159606:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159613:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159607:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159610:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159615:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159608:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159616:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159611:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159614:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159617:
                #0  0x00007fda63c3ab6f accept (libc.so.6 + 0x109b6f)
                #1  0x000055d6c691aac3 _ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN13CEventManager11startThreadEvEUlvE_EEEEE6_M_runEv (Hyprland + 0xebac3)
                #2  0x00007fda63ed7283 execute_native_thread_routine (libstdc++.so.6 + 0xd7283)
                #3  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #4  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159609:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159612:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                
                Stack trace of thread 159602:
                #0  0x00007fda63bb44b6 n/a (libc.so.6 + 0x834b6)
                #1  0x00007fda63bb6cd0 pthread_cond_wait (libc.so.6 + 0x85cd0)
                #2  0x00007fda6150c47e n/a (iris_dri.so + 0x10c47e)
                #3  0x00007fda614bc84c n/a (iris_dri.so + 0xbc84c)
                #4  0x00007fda6150c3ac n/a (iris_dri.so + 0x10c3ac)
                #5  0x00007fda63bb78fd n/a (libc.so.6 + 0x868fd)
                #6  0x00007fda63c39d20 n/a (libc.so.6 + 0x108d20)
                ELF object binary architecture: AMD x86-64

primalmotion avatar Feb 03 '23 17:02 primalmotion

fixed in head, confirmed myself.

vaxerski avatar Feb 03 '23 17:02 vaxerski

confirmed crash is fixed, thanks! But I think there's another issue. When I try to restart swaylock it refuses, thinking there is already another lockscreen running. On Sway, you can restart it and it works as expected

primalmotion avatar Feb 03 '23 17:02 primalmotion

I have intentionally made it like this. It's a privacy violation imo, as any app could kill the lockscreen, pose itself as the new one and unlock without a password.

vaxerski avatar Feb 03 '23 18:02 vaxerski

that's a very good point.

primalmotion avatar Feb 03 '23 18:02 primalmotion

It's a privacy violation imo, as any app could kill the lockscreen, pose itself as the new one and unlock without a password.

Any app can also fake to be the lockscreen to steal your password, record the screen with the screencopy protocols, etc.

If the goal is to make hyprland secure against untrusted apps, the proper approach would be providing an alternative wayland socket that does not expose "privileged" protocols and running untrusted apps with that instead.

q234rty avatar Feb 04 '23 06:02 q234rty

Also: If an app can kill the lockscreen, it can send SIGUSR1 to it as well. The protocol is intended to protect against the lockscreen accidentally crashing, not apps running unsandboxed on the host.

q234rty avatar Feb 04 '23 10:02 q234rty

true, but the question is: does this really matter? does your swaylock really crash every 5s?

vaxerski avatar Feb 04 '23 11:02 vaxerski

actually yes... not really crashing, but behaving so badly that would really like an option that allows me to restart it, instead of loosing my entire session, right now have a bindl shortcut to send a SIGUSR1 to swaylock.. security -100 lol

primalmotion avatar May 12 '23 21:05 primalmotion

added in 896a78aaa0bb2e4d4f197ed1286c4f030dbaef5f

vaxerski avatar May 13 '23 11:05 vaxerski

thank you kind sir

primalmotion avatar May 13 '23 17:05 primalmotion