Is there any possibility of getting some post-mortem info out of a multi-threaded system whose threads are deadlocked? I am trying to multi-thread my xmlrpc server methods. It's working okay "almost all the time" and I see a wonderful overall throughput boost because slow operations tend to no longer impede fast ones. I got a deadlock today, however, and am wondering how I am going to go about figuring out what happened the next time this happens. The main thread never deadlocks. It just spins off a thread to perform handle the current request and goes back to listening for new requests. For the purposes of inspecting the deadlocked threads I plan to add a method to my server that roots around for interesting info without attempting to lock anything (and thus possibly joining the deadlock party). Can one thread get at any state from other threads? I can inspect the values of the various shared locks and semaphores I'm using, but I was hoping to get at perhaps the current frame of each of the deadlocked threads. Any chance of that? Failing that, what about locks and semaphores that can time out and raise exceptions? I think they'd be useful for debugging if they could be implemented. Thx, Skip
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4