You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Andy Stewart edited this page Jun 26, 2023
·
2 revisions
Crashes caused by multithreading
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 the core.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.
Crashes caused by PyQt environment
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*