As discussed during today Necko meeting and raised by Patrick McManus, it would be interesting to not only watch for main thread hangs, but also for hangs or unwanted long delays of execution of other threads too, namely our socket transport thread. Since I support this I'm filing the bug. The AllPeers extension (a project I was participating on pre-mozilla) used to have a watchdog for all running threads and also thread load monitoring. We were getting really useful data. For Gecko I could imagine an on-demand watching of individual thread. A thread might explicitly express to be monitored by a central watchdog. There should also be a per thread individual setting for the actual timeout. And, an "unlock" that would turn the monitoring off when something expected to take a longer time happens. In some cases would be nice to watch for piling queued events and when a certain threshold of count and time is reached trigger the watchdog warning. The report mechanism could be either a crash report (not suggested - bad experience) or a general stack report mechanism that would not break the application run-time. Thoughts?
You need to log in before you can comment on or make changes to this bug.