-
Notifications
You must be signed in to change notification settings - Fork 234
EAF Process Crash
Andy Stewart edited this page Jun 26, 2023
·
2 revisions
EAF extensively uses multithreading technology to ensure that any EAF application's operations do not block Emacs.
If you find that some operations cause the EAF process to crash during the use of EAF, it is highly likely that the corresponding Python function was not added with the @PostGUI()
decorator when the Elisp called the Python function. This causes the EAF subprocess to receive the Elisp message and call the Qt graphics code in the subprocess. Calling the Qt graphics code in the subprocess will cause the EAF process to crash instantly.
The fix is simple:
- Find the Python function that causes the crash
- Ensure that the file containing the function has imported the
PostGUI
function from thecore.utils
module - Add the
@PostGUI()
decorator above the crashing Python function
Feel free to send PRs to fix the problem and help EAF run more stably.
I encountered occasional crashes on Arch when the PyQt environment had problems. The solution is as follows:
- Clear the system's PyQt directory:
sudo rm -rf /usr/lib/python3.11/site-packages/PyQt*
- Reinstall dependencies:
./install-eaf.py --force