-
Notifications
You must be signed in to change notification settings - Fork 227
EAF Process Crash
Andy Stewart edited this page May 31, 2023
·
2 revisions
EAF extensively uses multithreading technology to ensure that any operation of an EAF application does not block Emacs.
If you find that certain operations cause the EAF process to crash during use, it is highly likely that the corresponding Python function was not added with the @PostGUI()
decorator when the Elisp calls the Python function. This causes the EAF subthread to receive Elisp messages and then call Qt graphical code in the subthread. Calling Qt graphical code in a subthread will cause the EAF process to crash instantly.
The fix is simple:
- Locate the crashing Python function
- Ensure that the file containing the function has imported the
PostGUI
function from thecore.utils
module - Add the
@PostGUI()
decorator to the crashing Python function
Feel free to submit PRs to fix issues and help EAF run more stably.