TheBB / spaceline

Powerline theme from Spacemacs
GNU General Public License v3.0
534 stars 60 forks source link

Freezes Spacemacs in Ediff #123

Open agzam opened 7 years ago

agzam commented 7 years ago

Apparently this is related.

https://github.com/syl20bnr/spacemacs/issues/473

Apakollaps commented 7 years ago

Would be awesome if the root cause could be identified somehow. I had to disable the spaceline package due to this, and the mode line is worse off for sure...

zrzka commented 7 years ago

@braham-snyder let's continue here, because it's spaceline related. Confirmed in LLDB, spent quite a lot of time when I was learning Emacs C internals when tracking it down.

This issue is caused by unicode character number 9448 ⓨ. My mode line height is 20. In 99% cases, ascent of this character is 16, descent is 4. Thus the sum is 20 and that's okay. But sometimes, descent is 5 (dunno why yet) -> sum is 21 -> 21 != 20 -> causing Emacs redisplay again, again, again and again. Never ending loop.

What's interesting is that this is pretty random. Didn't happen for a whole week. And when this starts happening, it happens á 5 minutes for example.

C level info ...

zrzka commented 7 years ago

Font related config ...

   dotspacemacs-default-font '("PragmataPro Mono"
                               :size 14
                               :weight normal
                               :width normal
                               :powerline-scale 1.2)
braham-snyder commented 7 years ago

@zrzka some people found (in syl20bnr/spacemacs/issues/4730) that the following setting circumvented their issues, but it didn't work for everyone:

(setq dotspacemacs-mode-line-unicode-symbols nil)

Does that workaround your particular case?

zrzka commented 7 years ago

@braham-snyder just testing it now with :powerline-scale 1.4. Your tip will be next one. It's pretty hard to test as I don't have 100% reproducible case yet. I just experienced week without a freeze. Also it drives me crazy to work in Emacs recompiled from source code, with debug symbols, no opts, no vfork, ... slow as hell. The whole process is very very slow. Also learning Emacs internals to provide better bug report, because Emacs shouldn't freeze in this case IMHO.

braham-snyder commented 6 years ago

I've changed my modeline up a lot, but I'm now able to prevent/reproduce the behavior above by hiding/showing unicode workspace numbers in my modeline. My best guess as to why I didn't have any luck with it before is that I was setting that variable too late without noticing: it looks like workspace numbers (which are conditionally hidden) are actually the only applicable segment in my modeline (I happen to prefer no mode lighters and no window numbers).

CeleritasCelery commented 6 years ago

That is in line with what I would expect. Now the only real question is if we can track down why those Unicode symbols are causing a freeze, or the standing advice will just be to disable them.

Apakollaps commented 6 years ago

The disabling of the unicode characters has to be done at the right place, as hinted above. Changing the value of dotspacemacs-mode-line-unicode-symbols to nil in the dotspacemacs/initfunction, or setting it in user-init (not user-config) seems to work. This makes it possible to use spaceline again, which is sweet.

WhittlesJr commented 6 years ago

Sadly, this is still an issue. My mode-line languishes as spartan, desolate plain-text, utterly bereft of all beauty.

benbot commented 5 years ago

I'm still seeing emacs lock up even with dotspacemacs-mode-line-unicode-symbols set to nil

Is that fix still working for anyone else?

alexisvincent commented 3 years ago

I think I've seen the same issue just now