Closed Bug 837497 Opened 12 years ago Closed 7 years ago

OOM crash in pref_savePref mainly with Giant Savings

Categories

(Core :: Preferences: Backend, defect)

19 Branch
x86
Windows 7
defect
Not set
critical

Tracking

()

RESOLVED WORKSFORME
Tracking Status
firefox18 --- affected
firefox19 --- affected
firefox20 --- affected
firefox21 --- affected

People

(Reporter: scoobidiver, Unassigned)

References

Details

(Keywords: crash)

Crash Data

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
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: 7 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.