-
-
Notifications
You must be signed in to change notification settings - Fork 987
Open
Labels
Description
Hello, been chasing this one for a while. Waybar reliably crashes after roughly half a day to 2 days of uptime.
Environment
- waybar version: v0.15.0
- OS: Arch, 6.18.7 kernel
- WM: Hyprland 0.53.3
- libmpdclient version: 2.23-1
What happens
Attached GDB to the process after reproducing it. The crash is a SIGABRT originating from glibc's __fdelt_warn, which fires after mpd_connection_new()
__fdelt_warn() → __fortify_fail() → abort()
← __fortify_fail
← __fdelt_warn
← mpd_connection_new
← [waybar MPD module internals]
So it looks like somewhere in the MPD reconnection logic, fds are leaking over time. Once the process fd count gets high enough the next call to mpd_connection_new() with that fd makes glibc abort.
Reproducing
Honestly just leave waybar running with the MPD module active. Crashes consistently within 12–48h for me.
GDB-GEF output
[Thread 0x7fffb03f66c0 (LWP 2328381) exited]
[Thread 0x7fffa73fc6c0 (LWP 2328380) exited]
[Thread 0x7fffa71fb6c0 (LWP 2328379) exited]
[Thread 0x7fffa77fe6c0 (LWP 2328378) exited]
[Thread 0x7fffa65f56c0 (LWP 2328377) exited]
[Thread 0x7fffa61f36c0 (LWP 2328376) exited]
[New Thread 0x7fffa75fd6c0 (LWP 2328393)]
[New Thread 0x7fffa71fb6c0 (LWP 2328394)]
[New Thread 0x7fffa61f36c0 (LWP 2328395)]
[New Thread 0x7fffb03f66c0 (LWP 2328396)]
[New Thread 0x7fffa69f76c0 (LWP 2328397)]
[New Thread 0x7fffa63f46c0 (LWP 2328398)]
[New Thread 0x7fffa73fc6c0 (LWP 2328399)]
[New Thread 0x7fffa5ff26c0 (LWP 2328400)]
[New Thread 0x7fffa6ffa6c0 (LWP 2328401)]
[New Thread 0x7fffa6df96c0 (LWP 2328402)]
[New Thread 0x7fffa5bf06c0 (LWP 2328403)]
[New Thread 0x7fffa67f66c0 (LWP 2328404)]
[New Thread 0x7fffa65f56c0 (LWP 2328405)]
[New Thread 0x7fffa6bf86c0 (LWP 2328406)]
[New Thread 0x7fffa77fe6c0 (LWP 2328407)]
[New Thread 0x7fffa5df16c0 (LWP 2328408)]
[Thread 0x7fffa5df16c0 (LWP 2328408) exited]
[Thread 0x7fffa77fe6c0 (LWP 2328407) exited]
[Thread 0x7fffa6bf86c0 (LWP 2328406) exited]
[Thread 0x7fffa65f56c0 (LWP 2328405) exited]
[Thread 0x7fffa67f66c0 (LWP 2328404) exited]
[Thread 0x7fffa5bf06c0 (LWP 2328403) exited]
[Thread 0x7fffa6df96c0 (LWP 2328402) exited]
[Thread 0x7fffa6ffa6c0 (LWP 2328401) exited]
[Thread 0x7fffa5ff26c0 (LWP 2328400) exited]
[ Legend: Modified register | Code | Heap | Stack | String ]
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── registers ────
$rax : 0x0
$rbx : 0x1b680b
$rcx : 0x00007ffff627aa2c → mov r8d, eax
$rdx : 0x6
$rsp : 0x00007fffffffc880 → 0x0000000000000000
$rbp : 0x00007fffffffc8c0 → 0x00007fffffffc8e0 → 0x00007fffffffc9a0 → 0x00007fffffffcb50 → 0x00007fffffffcb60 → 0x00007fffffffcb70 → 0x00007fffffffccb0 → 0x00007fffffffcd10
$rsi : 0x1b680b
$rdi : 0x1b680b
$rip : 0x00007ffff627aa2c → mov r8d, eax
$r8 : 0xffffffff
$r9 : 0x0
$r10 : 0x22
$r11 : 0x246
$r12 : 0x00007fffffffca20 → 0x0000000000000000
$r13 : 0x00007ffff3f95000 → 0x202a2a2a00001000
$r14 : 0x6
$r15 : 0x0
$eflags: [ZERO carry PARITY adjust sign trap INTERRUPT direction overflow resume virtualx86 identification]
$cs: 0x33 $ss: 0x2b $ds: 0x00 $es: 0x00 $fs: 0x00 $gs: 0x00
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── stack ────
0x00007fffffffc880│+0x0000: 0x0000000000000000 ← $rsp
0x00007fffffffc888│+0x0008: 0x00007fffffffca3c → 0xffffca7800000000
0x00007fffffffc890│+0x0010: 0x00007fffffffc8c0 → 0x00007fffffffc8e0 → 0x00007fffffffc9a0 → 0x00007fffffffcb50 → 0x00007fffffffcb60 → 0x00007fffffffcb70 → 0x00007fffffffccb0
0x00007fffffffc898│+0x0018: 0x4e8b204dd2013b00
0x00007fffffffc8a0│+0x0020: 0x00007fffffffcb68 → 0x00007ffff6307635 → cs nop WORD PTR [rax+rax*1+0x0]
0x00007fffffffc8a8│+0x0028: 0x0000000000000006
0x00007fffffffc8b0│+0x0030: 0x00007fffffffca20 → 0x0000000000000000
0x00007fffffffc8b8│+0x0038: 0x0000000000001000
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── code:x86:64 ────
0x7ffff627aa23 mov edi, eax
0x7ffff627aa25 mov eax, 0xea
0x7ffff627aa2a syscall
→ 0x7ffff627aa2c mov r8d, eax
0x7ffff627aa2f neg r8d
0x7ffff627aa32 cmp eax, 0xfffff000
0x7ffff627aa37 mov eax, 0x0
0x7ffff627aa3c cmova eax, r8d
0x7ffff627aa40 jmp 0x7ffff627a9b7
───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── threads ────
[#0] Id 9242, Name: "gly-hdl-loader", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#1] Id 9241, Name: "blocking-228", stopped 0x7ffff62fa06d in syscall (), reason: SIGABRT
[#2] Id 9240, Name: "blocking-227", stopped 0x7ffff62fa06d in syscall (), reason: SIGABRT
[#3] Id 9239, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#4] Id 9238, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#5] Id 9237, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#6] Id 9236, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#7] Id 9235, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#8] Id 9234, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#9] Id 9233, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#10] Id 9232, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#11] Id 9231, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#12] Id 9230, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#13] Id 9229, Name: "pool-99", stopped 0x7ffff62fa06d in syscall (), reason: SIGABRT
[#14] Id 9228, Name: "threaded-ml", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#15] Id 9226, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#16] Id 9225, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#17] Id 28, Name: "async-io", stopped 0x7ffff62fa06d in syscall (), reason: SIGABRT
[#18] Id 283, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#19] Id 27, Name: "gly-global-exec", stopped 0x7ffff4fed3a3 in ?? (), reason: SIGABRT
[#20] Id 278, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#21] Id 277, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#22] Id 276, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#23] Id 275, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#24] Id 274, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#25] Id 273, Name: "threaded-ml", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#26] Id 279, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#27] Id 280, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#28] Id 282, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#29] Id 11, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#30] Id 10, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#31] Id 9, Name: "waybar", stopped 0x7ffff62753be in ?? (), reason: SIGABRT
[#32] Id 8, Name: "dconf worker", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#33] Id 7, Name: "gdbus", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#34] Id 281, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#35] Id 5, Name: "gmain", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#36] Id 4, Name: "pool-spawner", stopped 0x7ffff62fa06d in syscall (), reason: SIGABRT
[#37] Id 3, Name: "[pango] fontcon", stopped 0x7ffff62fa06d in syscall (), reason: SIGABRT
[#38] Id 2, Name: "waybar", stopped 0x7ffff6280f32 in ?? (), reason: SIGABRT
[#39] Id 1, Name: "waybar", stopped 0x7ffff627aa2c in ?? (), reason: SIGABRT
─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── trace ────
[#0] 0x7ffff627aa2c → mov r8d, eax
[#1] 0x7ffff62201a0 → raise()
[#2] 0x7ffff62075fe → abort()
[#3] 0x7ffff6208697 → test BYTE PTR [rbx+0x1], 0x80
[#4] 0x7ffff6307b80 → __fortify_fail()
[#5] 0x7ffff6307635 → __fdelt_warn()
[#6] 0x7ffff686669a → mov rsi, QWORD PTR [rbp-0x118]
[#7] 0x7ffff686f2c3 → mpd_connection_new()
[#8] 0x5555556f13bc → mov rdi, QWORD PTR [rbx+0x260]
[#9] 0x5555556f1dfc → mov rax, QWORD PTR [rbx+0x8]
──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
Happy to test patches. Let me know if more info would help.
Reactions are currently unavailable