Starting yesterday, you will see new crash signatures for out-of-memory crashes in crash-stats. The changes were implemented in bug 1007530, but here's the summary:

OOM crashes are divided into three groups: known-small, known-large, and unknown-size.

The known-small crashes will all have a signature of "OOM | Small". The engineering action for these crashes is to figure out why we're running out of memory and solve that problem. The specific stack trace is in general not interesting. A small allocation is 256k or smaller.

The known-large crashes will have a siganture of "OOM | Large | <C++Signature>". The engineering action for these crashes should typically be to make the call site use a fallible allocator instead of an infallible allocator. Crashkill will track and file the most common versions of these as part of crashkill.

The unknown-size crashes don't have an OOMAllocationSize annotation. In this case, the engineering action is to make sure that these crashes end up with an annotation so that we know whether they are large or small. Crashkill will file and track these as appropriate. In gecko code the NS_ABORT_OOM function can be used to do this annotation.

A crash is considered an OOM crash if the OOMAllocationSize annotation is present, or if the signature contains any of the following: NS_ABORT_OOM, mozalloc_handle_oom, CrashAtUnhandlableOOM. It is likely that we will add additional signatures or conditions to this list as we discover them.

Please followup to dev-platform with questions or concerns.

--BDS

_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform

Reply via email to