swaywm / swaybg

Wallpaper tool for Wayland compositors
MIT License
490 stars 31 forks source link

Swaybg crashes with swaylock #71

Closed Riptils closed 3 months ago

Riptils commented 4 months ago

Hello ! I use sway version 1.10-dev-dcdb7275 (May 12 2024, branch 'master'). I use swaylock version v1.7.2-22-gf9ce3f1 (" DATE ", branch 'master') And I use swaybg version v1.2.1-5-g4262e01 (May 16 2024, branch 'master')

When swaylock launches wallpaper crash, can you help me ? please

mstoeckl commented 4 months ago
  1. If swaybg crashes (instead of e.g. suddenly exiting), could you please provide a stack track with debug symbols? (Depending on the system, coredumpctl list might show a core dump which you can look at with the coredumpctl debug command.)
  2. Does this still happen if you run swaybg from the command line? If so, please post the logs with the WAYLAND_DEBUG environment variable set. (e.g. run WAYLAND_DEBUG=1 swaybg -i pathtoimage.jpg)
Riptils commented 4 months ago

this is what coredumpctl list return : "TIME PID UID GID SIG COREFILE EXE SIZE Tue 2024-04-23 16:24:12 CEST 1910 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Tue 2024-04-23 16:28:10 CEST 4508 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Tue 2024-04-23 17:28:33 CEST 1192 60421 60421 SIGABRT missing /usr/bin/sway - Tue 2024-04-23 17:28:34 CEST 3334 60421 60421 SIGABRT missing /usr/bin/Xwayland - Tue 2024-04-23 17:30:12 CEST 10775 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Tue 2024-04-23 22:41:44 CEST 2624 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Tue 2024-04-23 22:56:29 CEST 9294 60421 60421 SIGABRT missing /usr/lib/jvm/java-22-openjdk/bin/java - Wed 2024-04-24 14:07:09 CEST 68073 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Wed 2024-04-24 16:34:30 CEST 103146 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Fri 2024-04-26 11:19:11 CEST 130772 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Fri 2024-04-26 11:21:55 CEST 131763 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Fri 2024-04-26 11:23:34 CEST 133069 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Fri 2024-04-26 11:36:57 CEST 137023 60421 60421 SIGABRT missing /usr/lib/jvm/java-17-openjdk/bin/java - Sat 2024-04-27 23:38:42 CEST 855 60421 60421 SIGABRT missing /usr/bin/sway - Sun 2024-04-28 11:18:38 CEST 893 60421 60421 SIGSEGV missing /usr/bin/sway - Sun 2024-04-28 11:18:44 CEST 977 60421 60421 SIGSEGV missing /usr/bin/sway - Sun 2024-04-28 11:18:52 CEST 1060 60421 60421 SIGSEGV missing /usr/bin/sway - Tue 2024-04-30 17:31:27 CEST 927 60421 60421 SIGABRT missing /usr/bin/sway - Wed 2024-05-01 10:45:28 CEST 1188 60421 60421 SIGSEGV missing /usr/bin/swaybg - Wed 2024-05-01 18:56:26 CEST 21183 60421 60421 SIGSEGV missing /usr/bin/swaybg - Wed 2024-05-01 21:11:09 CEST 1295 60421 60421 SIGSEGV missing /usr/bin/swaybg - Wed 2024-05-01 22:53:15 CEST 62639 60421 60421 SIGSEGV missing /usr/bin/wine64-preloader - Thu 2024-05-02 09:25:49 CEST 38924 60421 60421 SIGSEGV missing /usr/bin/swaybg - Thu 2024-05-02 09:28:39 CEST 1265 60421 60421 SIGSEGV missing /usr/bin/swaybg - Thu 2024-05-02 10:29:53 CEST 2283 60421 60421 SIGSEGV present /usr/bin/swaybg 295.4K Thu 2024-05-02 10:48:33 CEST 7748 60421 60421 SIGSEGV present /usr/bin/swaynag 769.4K Thu 2024-05-02 14:40:30 CEST 1216 60421 60421 SIGSEGV present /usr/bin/swaybg 295.0K Thu 2024-05-02 15:39:17 CEST 1211 60421 60421 SIGSEGV present /usr/bin/swaybg 293.4K Thu 2024-05-02 17:01:41 CEST 1583 60421 60421 SIGSEGV present /usr/bin/swaybg 293.6K Fri 2024-05-03 11:04:50 CEST 1174 60421 60421 SIGSEGV present /usr/bin/swaybg 293.9K Fri 2024-05-03 14:07:53 CEST 23046 60421 60421 SIGSEGV present /usr/bin/swaybg 293.2K Fri 2024-05-03 16:01:58 CEST 233653 60421 60421 SIGSEGV present /usr/bin/wine-preloader 28.7M Fri 2024-05-03 16:24:38 CEST 263867 60421 60421 SIGSEGV present /usr/bin/wine-preloader 28.9M Fri 2024-05-03 17:08:15 CEST 1191 60421 60421 SIGSEGV present /usr/bin/swaybg 293.1K Fri 2024-05-03 19:47:01 CEST 59635 60421 60421 SIGTRAP present /usr/lib/chromium/chromium 11.9M Sat 2024-05-04 14:22:21 CEST 122665 60421 60421 SIGSEGV present /usr/bin/swaybg 293.5K Sun 2024-05-05 12:20:12 CEST 203056 60421 60421 SIGSEGV present /usr/bin/swaybg 293.1K Sun 2024-05-05 16:51:54 CEST 635502 60421 60421 SIGABRT present /usr/lib/webkit2gtk-4.0/WebKitWebProcess 48.7M Mon 2024-05-06 07:01:29 CEST 786616 60421 60421 SIGSEGV present /usr/bin/swaybg 292.9K Mon 2024-05-06 07:39:39 CEST 1158 60421 60421 SIGSEGV present /usr/bin/wireplumber 1.7M Mon 2024-05-06 14:06:30 CEST 936398 60421 60421 SIGSEGV present /usr/bin/swaybg 292.9K Mon 2024-05-06 14:06:30 CEST 946806 60421 60421 SIGSYS present /usr/bin/cat 9.6K Mon 2024-05-06 16:46:21 CEST 937239 60421 60421 SIGSEGV present /home/cadwal/.local/share/spotify-launcher/install/usr/share/spotify/spotify 61.8M Mon 2024-05-06 17:10:56 CEST 973986 60421 60421 SIGABRT present /usr/lib/webkit2gtk-4.0/WebKitWebProcess 62.1M Tue 2024-05-07 12:57:22 CEST 1310 60421 60421 SIGSEGV present /usr/bin/swaybg 293.1K Tue 2024-05-07 19:21:59 CEST 36756 60421 60421 SIGABRT present /usr/lib/webkit2gtk-4.0/WebKitWebProcess 52.2M Tue 2024-05-07 19:26:51 CEST 74069 60421 60421 SIGABRT present /usr/lib/webkit2gtk-4.0/WebKitWebProcess 32.6M Wed 2024-05-08 23:14:16 CEST 235558 60421 60421 SIGSEGV present /usr/bin/swaybg 292.6K Fri 2024-05-10 11:41:08 CEST 335850 60421 60421 SIGSEGV present /usr/bin/swaybg 293.4K Fri 2024-05-10 15:04:39 CEST 3517 60421 60421 SIGSEGV present /usr/bin/swaybg 298.7K Sun 2024-05-12 13:50:00 CEST 71129 60421 60421 SIGSEGV present /usr/bin/swaybg 311.9K Sun 2024-05-12 13:51:15 CEST 111220 60421 60421 SIGSEGV present /usr/bin/swaybg 299.2K Sun 2024-05-12 18:28:32 CEST 164939 60421 60421 SIGSEGV present /usr/bin/swaybg 311.7K Sun 2024-05-12 19:59:13 CEST 312146 60421 60421 SIGSEGV present /usr/bin/swaybg 298.3K Sun 2024-05-12 20:56:11 CEST 1283 60421 60421 SIGSEGV present /usr/bin/swaybg 298.4K Sun 2024-05-12 21:10:24 CEST 950 60421 60421 SIGABRT inaccessible /usr/bin/sway - Mon 2024-05-13 11:55:14 CEST 12710 60421 60421 SIGSEGV present /usr/bin/swaybg 298.5K Mon 2024-05-13 14:05:41 CEST 39153 60421 60421 SIGSEGV present /usr/bin/swaybg 298.2K Mon 2024-05-13 15:02:16 CEST 45851 60421 60421 SIGSEGV present /usr/bin/swaybg 298.4K Mon 2024-05-13 17:13:07 CEST 1221 60421 60421 SIGSEGV present /usr/bin/swaybg 298.6K Tue 2024-05-14 12:09:26 CEST 1401 60421 60421 SIGSEGV present /usr/bin/swaybg 298.5K Thu 2024-05-16 09:04:12 CEST 1601 60421 60421 SIGSEGV present /usr/bin/swaybg 298.6K Thu 2024-05-16 09:34:22 CEST 1444 60421 60421 SIGSEGV present /usr/bin/swaybg 298.3K Thu 2024-05-16 11:07:03 CEST 39518 60421 60421 SIGSEGV present /usr/bin/swaybg 311.7K Thu 2024-05-16 16:40:31 CEST 46528 60421 60421 SIGSEGV present /usr/bin/swaybg 311.7K Thu 2024-05-16 17:46:13 CEST 16723 60421 60421 SIGSEGV present /usr/bin/swaybg 298.7K Thu 2024-05-16 17:46:56 CEST 18343 60421 60421 SIGSEGV present /usr/bin/swaybg 298.4K"

this is coredumpctl : " PID: 18343 (swaybg) UID: 60421 (cadwal) GID: 60421 (cadwal) Signal: 11 (SEGV) Timestamp: Thu 2024-05-16 17:46:56 CEST (4min 0s ago) Command Line: swaybg -o $'*' -i /home/cadwal/.config/sway/wallpaper_dark.jpg -m fill Executable: /usr/bin/swaybg Control Group: /user.slice/user-60421.slice/session-5.scope Unit: session-5.scope Slice: user-60421.slice Session: 5 Owner UID: 60421 (cadwal) Boot ID: 660c09653e2c433f8c64fc777951f2a5 Machine ID: e03e78f2c76241e3a80171baca36da22 Hostname: cadwal-laptop Storage: /var/lib/systemd/coredump/core.swaybg.60421.660c09653e2c433f8c64fc777951f2a5.18343.1715874416000000.zst (present) Size on Disk: 298.4K Message: Process 18343 (swaybg) of user 60421 dumped core.

            Stack trace of thread 18343:
            #0  0x0000559bce972e9a n/a (swaybg + 0x2e9a)
            #1  0x0000559bce9725ce n/a (swaybg + 0x25ce)
            #2  0x00007f0c8ceafc88 n/a (libc.so.6 + 0x25c88)
            #3  0x00007f0c8ceafd4c __libc_start_main (libc.so.6 + 0x25d4c)
            #4  0x0000559bce972d75 n/a (swaybg + 0x2d75)
            ELF object binary architecture: AMD x86-64

Failed to invoke gdb: No such file or directory"

I add a file log of sway(so I did what you said in the "2"). sway-debug-verbose-pHZaGqgj.txt

Thank you for your time ! PS: Sorry I can't send pastebin link for this time...

mstoeckl commented 4 months ago
  1. This confirms that swaybg definitely is crashing, but it isn't clear how. Could you build swaybg with debug symbols and/or install gdb to get a full stack trace from coredumpctl debug? (Once coredumpctl debug opens the core dump with gdb, the gdb command bt full will give a stack trace.)

  2. This is a log of sway, not of swaybg; setting the environment variable WAYLAND_DEBUG to 1 records all messages between swaybg and sway. The swaybg log should start with something looking like:

    [3469340.624] {Default Queue}  -> wl_display#1.get_registry(new id wl_registry#2)
    [3469340.697] {Default Queue}  -> wl_display#1.sync(new id wl_callback#3)
    [3469341.144] {Display Queue} wl_display#1.delete_id(3)
    [3469341.190] {Default Queue} wl_registry#2.global(1, "wl_shm", 1)
    [3469341.210] {Default Queue}  -> wl_registry#2.bind(1, "wl_shm", 1, new id [unknown]#4)
Riptils commented 4 months ago

Hello, thank you but I don't understand what I need to do. Can you repeat it more simply so that I understand what I need to do to help you? Thank you

mstoeckl commented 4 months ago
  1. coredumpctl was producing an error message "Failed to invoke gdb: No such file or directory", which implies that GDB, a debugging tool, was not installed; if you install it you'll be able to get more information about the what caused the crash. (The corresponding Archlinux package is https://archlinux.org/packages/extra/x86_64/gdb/ .)

  2. swaybg is typically launched automatically by sway, but you can run it directly from the command line. Use the following pair of commands to kill the old swaybg instance, and start a new one which prints the Wayland protocol messages that it sends to Sway.

    killall swaybg
    WAYLAND_DEBUG=1 swaybg -o '*' -i /home/cadwal/.config/sway/wallpaper_dark.jpg -m fill

    Then use Swaylock to trigger a crash, and report what running swaybg printed.

(For the second line, I copied the command posted from the coredumpctl output in an earlier post.)

Riptils commented 3 months ago

Hello, sorry for the wait... This is the message

mstoeckl commented 3 months ago

This is probably fixed by the recently merged #73; could you please confirm that it does?

mstoeckl commented 3 months ago

Looking over the swaybg logs you've posted again, #73 almost certainly resolves this issue. Both the sway and swaybg logs confirm that a display output is being removed (turned off) and then added (turned on); and swaybg crashes immediately after processing that the output was added back.

[3435861.941] wl_registry@2.global(49, "wl_output", 4)
[3435861.953]  -> wl_registry@2.bind(49, "wl_output", 4, new id [unknown]@12)
[1]    32529 segmentation fault (core dumped)

73 fixes a crash that occurs reliably when outputs are added after swaybg's initial startup, which was introduced by one of the preceding commits.

Therefore: I am marking this issue as fixed unless you can somehow reproduce this issue again with the updated version of swaybg.