OOM crash in pref_savePref mainly with Giant Savings

RESOLVED WORKSFORME

Status

()

defect
--
critical
RESOLVED WORKSFORME
7 years ago
2 years ago

People

(Reporter: scoobidiver, Unassigned)

Tracking

({crash})

19 Branch
x86
Windows 7
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox18 affected, firefox19 affected, firefox20 affected, firefox21 affected)

Details

(crash signature)

It's #189 top browser crasher in 18.0.1, #21 in 19.0b4, and #42 in 20.0a2.

It has correlations similar as bug 836263:
* 18.0.1:
  mozalloc_abort(char const* const) | NS_DebugBreak_P | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)|EXCEPTION_BREAKPOINT (100 crashes)
     61% (61/100) vs.   1% (1873/171370) crossriderapp4479@crossrider.com
     16% (16/100) vs.   4% (7254/171370) plugin@yontoo.com
     15% (15/100) vs.   4% (6421/171370) ffxtlbr@babylon.com
     10% (10/100) vs.   0% (315/171370) crossriderapp5058@crossrider.com
*19.0 Beta:
  mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)|EXCEPTION_BREAKPOINT (36 crashes)
     33% (12/36) vs.   1% (325/54582) crossriderapp4479@crossrider.com
     33% (12/36) vs.   5% (2657/54582) plugin@yontoo.com (1.20.00)

Signature 	mozalloc_abort(char const* const) | mozalloc_handle_oom(unsigned int) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*) More Reports Search
UUID	a527df81-1595-47e4-a9ea-32cbf2130203
Date Processed	2013-02-03 09:01:20
Uptime	84
Last Crash	8.5 weeks before submission
Install Age	10.8 hours since version was first installed.
Install Time	2013-02-02 22:14:25
Product	Firefox
Version	21.0a1
Build ID	20130202030955
Release Channel	nightly
OS	Windows NT
OS Version	6.2.9200
Build Architecture	x86
Build Architecture Info	GenuineIntel family 6 model 58 stepping 9
Crash Reason	EXCEPTION_BREAKPOINT
Crash Address	0x7261198a
App Notes 	
AdapterVendorID: 0x8086, AdapterDeviceID: 0x0162, AdapterSubsysID: 00000000, AdapterDriverVersion: 9.17.10.2867
D2D? D2D+ DWrite? DWrite+ D3D10 Layers? D3D10 Layers+ 
Processor Notes 	sp-processor03.phx1.mozilla.com_2522:2008
EMCheckCompatibility	True
Adapter Vendor ID	0x8086
Adapter Device ID	0x0162
Total Virtual Memory	4294836224
Available Virtual Memory	1604882432
System Memory Use Percentage	50
Available Page File	5318082560
Available Physical Memory	4089212928
OOMAllocationSize	264241224

Frame 	Module 	Signature 	Source
0 	mozalloc.dll 	mozalloc_abort 	memory/mozalloc/mozalloc_abort.cpp:30
1 	mozalloc.dll 	mozalloc_handle_oom 	memory/mozalloc/mozalloc_oom.cpp:27
2 	mozalloc.dll 	moz_xmalloc 	memory/mozalloc/mozalloc.cpp:56
3 	xul.dll 	pref_savePref 	modules/libpref/src/prefapi.cpp:380
4 	xul.dll 	PL_DHashTableEnumerate 	obj-firefox/xpcom/build/pldhash.cpp:717
5 	xul.dll 	mozilla::Preferences::WritePrefFile 	modules/libpref/src/Preferences.cpp:782
6 	xul.dll 	mozilla::Preferences::SavePrefFileInternal 	modules/libpref/src/Preferences.cpp:725
7 	xul.dll 	mozilla::Preferences::SavePrefFile 	modules/libpref/src/Preferences.cpp:494
8 	xul.dll 	nsAppStartup::TrackStartupCrashEnd 	toolkit/components/startup/nsAppStartup.cpp:984
9 	xul.dll 	NS_InvokeByIndex_P 	xpcom/reflect/xptcall/src/md/win32/xptcinvoke.cpp:70
10 	xul.dll 	XPC_WN_CallMethod 	js/xpconnect/src/XPCWrappedNativeJSOps.cpp:1488
11 	mozjs.dll 	js::InvokeKernel 	js/src/jsinterp.cpp:377
12 	mozjs.dll 	js::Interpret 	js/src/jsinterp.cpp:2363
13 	mozjs.dll 	js::RunScript 	js/src/jsinterp.cpp:326
14 	mozjs.dll 	js::InvokeKernel 	js/src/jsinterp.cpp:391
15 	mozjs.dll 	js::Invoke 	js/src/jsinterp.cpp:424
16 	mozjs.dll 	JS_CallFunctionValue 	js/src/jsapi.cpp:5719
17 	xul.dll 	nsXPCWrappedJSClass::CallMethod 	js/xpconnect/src/XPCWrappedJSClass.cpp:1432
18 	xul.dll 	nsXPCWrappedJS::CallMethod 	js/xpconnect/src/XPCWrappedJS.cpp:578
19 	xul.dll 	PrepareAndDispatch 	xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:85
20 	xul.dll 	SharedStub 	xpcom/reflect/xptcall/src/md/win32/xptcstubs.cpp:112
21 	xul.dll 	nsObserverService::NotifyObservers 	xpcom/ds/nsObserverService.cpp:161

More reports at:
https://crash-stats.mozilla.com/report/list?signature=mozalloc_abort%28char+const*+const%29+|+mozalloc_handle_oom%28unsigned+int%29+|+moz_xmalloc+|+pref_savePref%28PLDHashTable*%2C+PLDHashEntryHdr*%2C+unsigned+int%2C+void*%29
https://crash-stats.mozilla.com/report/list?signature=mozalloc_abort%28char+const*+const%29+|+NS_DebugBreak_P+|+pref_savePref%28PLDHashTable*%2C+PLDHashEntryHdr*%2C+unsigned+int%2C+void*%29
See Also: → 836263
Crash Signature: PLDHashEntryHdr*, unsigned int, void*)] → PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)]
Crash Signature: , PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)] → , PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak]
Depends on: 858926
Crash Signature: , PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak] → , PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | moz_xmalloc | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak] [@ mozalloc_abort(char const* cons…
Hmm, I'm actually pretty sure that ends up being practically the same as bug 836263 as we tracked that down to using huge strings in prefs, and I'm pretty sure the fix we'll do there on our side will fix this one here as well (and the fix that Crossrider will do on their side will fix it as well as they'll move away from using prefs for that).
(In reply to Robert Kaiser (:kairo@mozilla.com) from comment #1)
> Hmm, I'm actually pretty sure that ends up being practically the same as bug
> 836263 as we tracked that down to using huge strings in prefs, and I'm
> pretty sure the fix we'll do there on our side will fix this one here as
> well (and the fix that Crossrider will do on their side will fix it as well
> as they'll move away from using prefs for that).

Bug 83623 is fixed, however after seeing a crash reported on Sumo (https://support.mozilla.org/en-US/questions/972334) I note that crashes with this signature are still occurring on fx23 & fx24
John, crashes will still happen with existing huge pref values, but new pref values with such a size cannot be set any more.
Crash Signature: , void*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak] [@ mozalloc_abort(char const* const) | NS_DebugBreak | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*) ] → , void*)] [@ mozalloc_abort(char const* const) | NS_DebugBreak] [@ mozalloc_abort(char const* const) | NS_DebugBreak | pref_savePref(PLDHashTable*, PLDHashEntryHdr*, unsigned int, void*) ] [@ mozalloc_abort | mozalloc_handle_oom | moz_xmalloc | pref_sa…
This crash bug report hasn't been touched in 5 years. At this point it's unlikely to be useful, especially given that pref_SavePref() has been renamed.
Crash Signature: , void*) ] [@ mozalloc_abort | mozalloc_handle_oom | moz_xmalloc | pref_savePref] [@ mozalloc_abort | NS_DebugBreak_P | pref_savePref] [@ mozalloc_abort | moz_xmalloc | pref_savePref] [@ mozalloc_abort | NS_DebugBreak] [@ mozalloc_abort | NS_DebugBre… → , void*) ] [@ mozalloc_abort | mozalloc_handle_oom | moz_xmalloc | pref_savePref] [@ mozalloc_abort | NS_DebugBreak_P | pref_savePref] [@ mozalloc_abort | moz_xmalloc | pref_savePref] [@ mozalloc_abort | NS_DebugBreak | pref_savePref ]
(In reply to Nicholas Nethercote [:njn] from comment #4)
> This crash bug report hasn't been touched in 5 years. At this point it's
> unlikely to be useful, especially given that pref_SavePref() has been
> renamed.

And so I will close it.
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.