Skip to content

Instantly share code, notes, and snippets.

@adngdb
Created September 17, 2015 16:28
Show Gist options
  • Save adngdb/687c1645e886d116a561 to your computer and use it in GitHub Desktop.
Save adngdb/687c1645e886d116a561 to your computer and use it in GitHub Desktop.
Signatures with less than 300M of available memory
import requests
def main():
url = 'https://crash-stats.mozilla.com/api/SuperSearch/'
params = {
'product': 'Firefox',
'_aggs.signature': [
'_histogram.available_physical_memory',
'_histogram.available_virtual_memory',
'_histogram.available_page_file',
],
'_histogram_interval.available_physical_memory': 300000000,
'_histogram_interval.available_virtual_memory': 300000000,
'_histogram_interval.available_page_file': 300000000,
}
r = requests.get(url, params=params)
data = r.json()
signatures = data['facets']['signature']
memory_fields = (
'available_physical_memory',
'available_virtual_memory',
'available_page_file',
)
for sig in signatures:
half_total = sig['count'] / 2
for field in memory_fields:
facet_name = 'histogram_' + field
facet_data = sig['facets'][facet_name]
for mem in facet_data:
if mem['term'] == 0 and mem['count'] > half_total:
print sig['term']
if __name__ == '__main__':
main()
@adngdb
Copy link
Author

adngdb commented Sep 17, 2015

Results I'm getting running this script:

OOM | small
EMPTY: no crashing thread identified; ERROR_NO_MINIDUMP_HEADER
moz_abort | pages_commit
OOM | large | NS_ABORT_OOM(unsigned int) | nsSameProcessAsyncMessageBase::nsSameProcessAsyncMessageBase(JSContext*, nsAString_internal const&, mozilla::dom::StructuredCloneData const&, JS::Handle<T>, nsIPrincipal*)
OOM | unknown | js::CrashAtUnhandlableOOM(char const*) | js::gc::StoreBuffer::MonoTypeBuffer<T>::trace(js::gc::StoreBuffer*, js::TenuringTracer&)
mozilla::dom::Promise::MaybeSettle(JS::Handle<T>, mozilla::dom::Promise::PromiseState)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment