FelixKratz / SketchyBar

A highly customizable macOS status bar replacement
https://felixkratz.github.io/SketchyBar/
GNU General Public License v3.0
5.45k stars 85 forks source link

Sketchybar randomly freezing after recent update #391

Closed amusingimpala75 closed 11 months ago

amusingimpala75 commented 11 months ago

After having had no issues for a long time, Sketchybar will sometimes just freeze and if I put the cursor over it its just the spinning wheel. If I then run brew services restart sketchybar it will successfully restart, but at a later time be frozen again.

sketchybar-v2.16.2 macOS Monterey 12.5

FelixKratz commented 11 months ago

There was an issue with deadlocking in v2.16.0 and v2.16.1 but I thought I had fixed it in v2.16.2, to try and reproduce this I would need your config files since it does not happen with all the configs I have tested with (or maybe even better, could you try the default config for a while and see if it happens there too?).

On average, how long does it take to show this behavior? Is there maybe something characteristic that always happens before the freeze (something like sleep, display connect/disconnect, etc.)?

These issues are sadly always the hardest to debug properly. When it freezes again, could you create a sample of the process? Then we would maybe see where it hangs.

amusingimpala75 commented 11 months ago

Here's the sketchybar config. In the process of trying to tar it I forgot how using tar worked and managed to overwrite one of the files, so if you can't reproduce it from this that file was probably the issue. But it also depends on a file at ~/.config/defaults.sh which just defines system-wide colors, gaps, corner rounding, and padding.

sketchybar.tar.gz defaults.sh:

#!/bin/bash

# Spacing of windows / items
export CORNER_RADIUS=8
export PADDING=4
export BAR_HEIGHT=32
export BORDER_WIDTH=2 # I would do '1' except yabai adds increments it if the number is odd

# Colors
#source "$HOME/.local/share/themes/monokai_pro.sh"
source "$HOME/.local/share/themes/gruvbox_dark.sh"
export BORDER_COLOR=$BRIGHT_GREEN
export TEXT_COLOR=$BRIGHT_WHITE

# Fonts
export FONT="JetBrainsMono Nerd Font"
export TEXT_FONT=$FONT:Semibold:13.0
export ICON_FONT=$FONT:Bold:16.0

# Icons
export ICON_VOLUME_MUTE=󰖁
export ICON_VOLUME_LOW=󰕿
export ICON_VOLUME_MID=󰖀
export ICON_VOLUME_HIGH=󰕾
export ICON_LIGHTBULB=

# Slider
export SLIDER_ANIM_FUNC=sin
export SLIDER_ANIM_TIME=30
export SLIDER_BASE_COLOR=$BRIGHT_YELLOW
export SLIDER_KNOB_COLOR=$BRIGHT_RED
export SLIDER_KNOB=
export SLIDER_WIDTH=100
export SLIDER_BACKGROUND_HEIGHT=5
FelixKratz commented 11 months ago

It just happened to my own config as well, I have sampled the process and think I know where the problem is. I have tried to fix it on master. Could you please try the current master version for some time to see if the problem is gone?

brew services stop sketchybar
brew uninstall sketchybar
brew install sketchybar --head
brew services start sketchybar

and when the next hotfix is released you can switch back to the stable release with

brew services stop sketchybar
brew uninstall sketchybar
brew install sketchybar
brew services start sketchybar

If the freeze does happen again, could you please do the following:

FelixKratz commented 11 months ago

I have actually found another problem and fixed it here: e75afe9 So could you please again run

brew services stop sketchybar
brew uninstall sketchybar
brew install sketchybar --head
brew services start sketchybar

to continue testing with the latest commit?

FelixKratz commented 11 months ago

Should be fixed in v2.16.3, feel free to reopen if you encounter this again.