Searching in 'Run Everything' locks up Enlightenment, process at 100% CPU usage #20
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Typing to search in the 'Run Everything' menu locks up the complete desktop, I have to kill the main Enlightenment process from another tty to get out of it. Said process is at 100% CPU usage after triggering the bug.
I tried to start over with a new, fresh .e profile, still happens. Bit unsure how to find out what the process is doing with gdb...
Up to date Arch builds, so Enlightenment 0.25.4 and EFL 1.26.3. I'm just starting Enlightenment with startx, but it also happens in Wayland.
i don't see it here... well on git - i backported various fixes from git master. does git master work (try install the efl-git and enlightenment-git aur's). i want to know if its a fix already in git master but somehow not in stable or it's something specific to you?
Build both efl-git and enlightenment-git, no change. Still locks up, process sits at 100% CPU.
So i looked a bit at the .e-log.log output and after a few tries reproducing the issue the only relevant log message seems to be
ooook - the watchdog found a mainloop lockup. can you get a backtrace with symbols?
https://www.enlightenment.org/contrib/enlightenment_debugging
also see efl debugging. i need to know where it hangs.
Bit tricky, the process seems to get restarted after some time. I'm not sure how much sense the bt makes. I did one of all threads too.
the watchdog will restart e after a bit if a complete mainloop lockup is detected. evry_fuzzy_match() seems to be the problem... this loop here:
i can only imagine ii stops goinng up0 - it's not advancing... for some reason. why? what sgtrng is it looking at? what is it not advancing on (what char)?
can you try this patch in e?
So applied that on top of current git, same symptoms, new bt, different place...
hmm maybe it was not that loop? maybe its always in
if its always some line within this loop (line 107 -> 243) is it always stuck in this range somewhere?
It looks like it's always within that range.
hmm well i'd need to know more like what is m_cnt and m_num? what is next and *next?
I did some printf debugging. Attached is part of the log, it indeed starts looping here forever.
Hi,
I think I have a similar issue on my system and I investigated it a bit. I have a file in my home directory whose name is
Readme \366ffnen
which is encoded in the Windows-1252 character set (366 oct = 246 dec = "ö" (German umlaut)) probably because it was installed via Wine ages ago. The everything module will enter an infinite loop inevry_fuzzy_match()
when starting a search because of this file name. Here's a minimal repro case which will cause the infinite loop:evry_fuzzy_match("\366", "a");
It seems that the issue was introduced by commit
fd26c7b224
because if I apply the patch below, which reverts a part of that commit,evry_fuzzy_match()
no longer runs into an infinite loop with the repro case inputs:Not sure if this a correct fix for this issue though.
:) thanks! now i know what caused it! :)