Open Bug 1304956 Opened 9 years ago Updated 4 years ago

Generate signature based on the locked thread for shutdown hangs

Categories

(Socorro :: Signature, task)

task
Not set
normal

Tracking

(Not tracked)

People

(Reporter: adrian, Unassigned)

Details

Here's a proposal, crafted after talking with :cpearce, to improve the signatures of shutdown hangs. The idea is to try to find the locked thread, so we can use that one to generate the signature, instead of the less informative crashing thread. To find that thread, we would go through all of them looking for a list of module -> frames associations. The 1st thread to match any of the rules will be elected as the "hanging thread". Regular expression can be used for modules and frames matching. The order of modules and frames does not matter, it only matter that each couple module/frame is matching at least one frame of the thread. The rules' format would be like this: [ { "module": [ "array", "of", "frames" ] } ] Here's one example of a rule (I made it up, it's nothing real): { "AudioSes.dll": [ "CAudioClient::Initialize.*" ], "xul.dll": [ "`anonymous namespace'::setup_wasapi_stream_one_side<IAudioRenderClient>", "cubeb_stream_init", "mozilla::AudioStream::OpenCubeb.*" ] } The goal is to allow better bucketizing of shutdown hang crashes. See this bug for example, where the same signature actually hides at least 4 different root causes: https://bugzilla.mozilla.org/show_bug.cgi?id=1295663#c13 This system will likely not allow us to catch that sort of problem before it happens, but it will be helpful in following up and verifying that a certain problem is actually fixed.
Assignee: adrian → nobody
Component: Backend → Signature
You need to log in before you can comment on or make changes to this bug.