I am getting some mysterious deadlock. At some point with certain behavior, my GUI program just… freezes.
It seems like most debugging guide for deadlock involves dealing with the convenient exception kindly thrown by GHC. In my case, it seems to fail with detecting it.
Plus, I cannot profile using -p
since it even does not close properly by single ctrl+c!
(Well to be fair, ctrl+c does not work even before deadlock. Is it supposed to be like this?)
How do I proceed from here for debugging? I’ve tried removing all blocking code I know of. (Perhaps again, might be caused by some code from library dependency)
EDIT1: Forked a thread which logs every 1 second. The moment the program stops, the log stops as well - even though it should be distinct, unrelated thread. Mysterious.