hyprlock: [bug] When switching monitors getting red screen

Hello,

on my laptop, when i have locked screen and change the monitor, the hyprlock ends up in some error state with red screen.

I’ve tried different configurations and looks it has no effect.

Also i tried to call pkill from different session and ends up with the red screen to 🤔

Here is coredumpctl debug hyprlock

           PID: 15258 (hyprlock)
           UID: 1000 (hrasekj)
           GID: 1000 (hrasekj)
        Signal: 11 (SEGV)
     Timestamp: Thu 2024-02-22 21:21:43 CET (11min ago)
  Command Line: hyprlock
    Executable: /usr/local/bin/hyprlock
 Control Group: /user.slice/user-1000.slice/session-3.scope
          Unit: session-3.scope
         Slice: user-1000.slice
       Session: 3
     Owner UID: 1000 (hrasekj)
       Boot ID: 65d1cd55441e4864901e98f8eee23454
    Machine ID: f8364d72622840a0ae35bb54cb91a894
      Hostname: byte-side
       Storage: /var/lib/systemd/coredump/core.hyprlock.1000.65d1cd55441e4864901e98f8eee23454.15258.1708633303000000.zst (present)
  Size on Disk: 2.2M
       Message: Process 15258 (hyprlock) of user 1000 dumped core.
                
                Module libzstd.so.1 from deb libzstd-1.5.5+dfsg2-2.amd64
                Stack trace of thread 15258:
                #0  0x00007f47c256767b n/a (libwayland-client.so.0 + 0x967b)
                #1  0x00007f47c2567ddd n/a (libwayland-client.so.0 + 0x9ddd)
                #2  0x00007f47c256540a wl_proxy_marshal_flags (libwayland-client.so.0 + 0x740a)
                #3  0x0000557770e099d8 _ZN19CSessionLockSurface6renderEv (hyprlock + 0x299d8)
                #4  0x0000557770e300bf _ZL7onTimerSt10shared_ptrI6CTimerEPv (hyprlock + 0x500bf)
                #5  0x0000557770e0daa2 _ZNSt17_Function_handlerIFvSt10shared_ptrI6CTimerEPvEPS4_E9_M_invokeERKSt9_Any_dataOS2_OS3_ (hyprlock + 0x2daa2)
                #6  0x0000557770e0dc86 _ZN6CTimer4callESt10shared_ptrIS_E (hyprlock + 0x2dc86)
                #7  0x0000557770e136d1 _ZN9CHyprlock3runEv (hyprlock + 0x336d1)
                #8  0x0000557770df23c8 main (hyprlock + 0x123c8)
                #9  0x00007f47c1b666ca n/a (libc.so.6 + 0x276ca)
                #10 0x00007f47c1b66785 __libc_start_main (libc.so.6 + 0x27785)
                #11 0x0000557770df3171 _start (hyprlock + 0x13171)
                
                Stack trace of thread 15282:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6888 pthread_cond_wait (libc.so.6 + 0x87888)
                #2  0x00007f47be9198cd n/a (iris_dri.so + 0x1198cd)
                #3  0x00007f47be8f96ab n/a (iris_dri.so + 0xf96ab)
                #4  0x00007f47be9197fb n/a (iris_dri.so + 0x1197fb)
                #5  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #6  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15283:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6888 pthread_cond_wait (libc.so.6 + 0x87888)
                #2  0x00007f47be9198cd n/a (iris_dri.so + 0x1198cd)
                #3  0x00007f47be8f96ab n/a (iris_dri.so + 0xf96ab)
                #4  0x00007f47be9197fb n/a (iris_dri.so + 0x1197fb)
                #5  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #6  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15284:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6888 pthread_cond_wait (libc.so.6 + 0x87888)
                #2  0x00007f47be9198cd n/a (iris_dri.so + 0x1198cd)
                #3  0x00007f47be8f96ab n/a (iris_dri.so + 0xf96ab)
                #4  0x00007f47be9197fb n/a (iris_dri.so + 0x1197fb)
                #5  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #6  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15289:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6e5f pthread_cond_clockwait (libc.so.6 + 0x87e5f)
                #2  0x0000557770e12bf1 _ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN9CHyprlock3runEvEUlvE0_EEEEE6_M_runEv (hyprlock + 0x32bf1)
                #3  0x00007f47c1edc7c3 n/a (libstdc++.so.6 + 0xdc7c3)
                #4  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #5  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15290:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6e5f pthread_cond_clockwait (libc.so.6 + 0x87e5f)
                #2  0x0000557770e1dc09 _ZN22CAsyncResourceGatherer18asyncAssetSpinLockEv (hyprlock + 0x3dc09)
                #3  0x00007f47c1edc7c3 n/a (libstdc++.so.6 + 0xdc7c3)
                #4  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #5  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15286:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6888 pthread_cond_wait (libc.so.6 + 0x87888)
                #2  0x00007f47be9198cd n/a (iris_dri.so + 0x1198cd)
                #3  0x00007f47be8f96ab n/a (iris_dri.so + 0xf96ab)
                #4  0x00007f47be9197fb n/a (iris_dri.so + 0x1197fb)
                #5  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #6  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15288:
                #0  0x00007f47c1c3aabf __poll (libc.so.6 + 0xfbabf)
                #1  0x0000557770e128c1 _ZNSt6thread11_State_implINS_8_InvokerISt5tupleIJZN9CHyprlock3runEvEUlvE_EEEEE6_M_runEv (hyprlock + 0x328c1)
                #2  0x00007f47c1edc7c3 n/a (libstdc++.so.6 + 0xdc7c3)
                #3  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #4  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15285:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6888 pthread_cond_wait (libc.so.6 + 0x87888)
                #2  0x00007f47be9198cd n/a (iris_dri.so + 0x1198cd)
                #3  0x00007f47be8f96ab n/a (iris_dri.so + 0xf96ab)
                #4  0x00007f47be9197fb n/a (iris_dri.so + 0x1197fb)
                #5  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #6  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                
                Stack trace of thread 15281:
                #0  0x00007f47c1bc41c6 n/a (libc.so.6 + 0x851c6)
                #1  0x00007f47c1bc6888 pthread_cond_wait (libc.so.6 + 0x87888)
                #2  0x00007f47be9198cd n/a (iris_dri.so + 0x1198cd)
                #3  0x00007f47be8f96ab n/a (iris_dri.so + 0xf96ab)
                #4  0x00007f47be9197fb n/a (iris_dri.so + 0x1197fb)
                #5  0x00007f47c1bc745c n/a (libc.so.6 + 0x8845c)
                #6  0x00007f47c1c47bbc n/a (libc.so.6 + 0x108bbc)
                ELF object binary architecture: AMD x86-64

About this issue

  • Original URL
  • State: closed
  • Created 4 months ago
  • Reactions: 3
  • Comments: 24 (10 by maintainers)

Most upvoted comments

check with 1f268e0a39fb7dbe9ce1fd83d1b3d4c2165bf892

I have a similar issue, where when locking the screen (manually compiled hyprlock) My configuration is barely taken in account, and when I unlock / kill the process my entire two screen goes red. seems to be a hyprland related issue, as hyprlock is no longer running and I still have my key controls working (I can still close apps, and quit hyprland). I have nothing but red and my cursor on screen at that moment.

Seeing a similar crash with sway-lock in the same situation (waking laptop from suspend while connected to external monitors), so perhaps it’s not an issue with hypridle but perhaps hyprland?

This issue also happens to me, whenever I switch my monitors to use them with my docked laptop. I looked at the code a bit, and saw that hyprlock seems to unlock when it receives SIGUSR1, so I tried

kill -SIGUSR1 $hyprlock_pid

And that seemed to get me out of the red screen and unlock the session. Not a permanent solution, but it’s nice to have something without resorting to restarting my computer.

Happy to provide any info to help track down the actual issue.