Hacker News new | ask | show | jobs
by rowanG077 66 days ago
That's pretty awesome. Dead locks are extremely tough to debug. There are even cases where I saw behavior in code that might have been a dead lock. I never found out though.
1 comments

If you can get a stack trace of the process it is usually pretty easy to figure you will see two or more threads waiting on different futexes. I would say async deadlocks are far trickier to debug - task a sends a message to task b and task b sends a message to task a. Both tasks wait on processing further messages until the other side replies to their message. At the end of the day you need strict ordering of who is allowed to call into the other and block.