Closed Bug 1373931 Opened 8 years ago Closed 7 years ago

Crash in StringBeginsWith | AttrMatchesValue

Categories

(Core :: CSS Parsing and Computation, defect, P3)

55 Branch
x86
Windows 10
defect

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
firefox57 --- fix-optional

People

(Reporter: baffclan, Unassigned)

References

Details

(Keywords: crash)

Crash Data

This bug was filed from the Socorro interface and is report bp-cb49c8f3-d765-40ef-b748-1208b0170617. ============================================================= Crashing Thread (0) Frame Module Signature Source 0 @0x1eeb1d67e20 1 xul.dll StringBeginsWith(nsAString const&, nsAString const&, nsStringComparator const&) xpcom/string/nsReadableUtils.cpp:1184 2 xul.dll AttrMatchesValue layout/style/nsCSSRuleProcessor.cpp:1454 3 xul.dll SelectorMatches layout/style/nsCSSRuleProcessor.cpp:2291 4 xul.dll RuleHash::EnumerateAllRules(mozilla::dom::Element*, ElementDependentRuleProcessorData*, NodeMatchContext&) layout/style/nsCSSRuleProcessor.cpp:696 5 xul.dll nsCSSRuleProcessor::RulesMatching(ElementRuleProcessorData*) layout/style/nsCSSRuleProcessor.cpp:2618 6 xul.dll EnumRulesMatching<ElementRuleProcessorData> layout/style/nsStyleSet.cpp:802 7 xul.dll nsStyleSet::FileRules(bool (*)(nsIStyleRuleProcessor*, void*), RuleProcessorData*, mozilla::dom::Element*, nsRuleWalker*) layout/style/nsStyleSet.cpp:1137 8 xul.dll nsStyleSet::ResolveStyleForInternal(mozilla::dom::Element*, nsStyleContext*, TreeMatchContext&, nsStyleSet::AnimationFlag) layout/style/nsStyleSet.cpp:1361 9 xul.dll nsStyleSet::ResolveStyleFor(mozilla::dom::Element*, nsStyleContext*, TreeMatchContext&) layout/style/nsStyleSet.cpp:1397 10 xul.dll mozilla::ElementRestyler::RestyleSelf(nsIFrame*, nsRestyleHint, unsigned int*, nsTArray<mozilla::ElementRestyler::SwapInstruction>&) layout/base/GeckoRestyleManager.cpp:2539 11 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1789 12 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 13 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 14 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 15 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 16 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 17 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 18 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 19 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 20 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 21 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 22 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 23 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 24 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 25 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 26 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 27 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 28 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 29 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 30 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 31 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 32 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 33 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 34 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 35 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 36 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 37 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 38 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 39 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 40 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 41 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 42 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 43 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 44 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 45 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 46 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 47 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 48 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 49 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 50 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 51 xul.dll mozilla::ElementRestyler::RestyleContentChildren(nsIFrame*, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:3394 52 xul.dll mozilla::ElementRestyler::RestyleChildren(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:2920 53 xul.dll mozilla::ElementRestyler::Restyle(nsRestyleHint) layout/base/GeckoRestyleManager.cpp:1943 54 xul.dll mozilla::ElementRestyler::ComputeStyleChangeFor(nsIFrame*, nsStyleChangeList*, nsChangeHint, mozilla::RestyleTracker&, nsRestyleHint, mozilla::RestyleHintData const&, nsTArray<mozilla::ElementRestyler::ContextToClear>&, nsTArray<RefPtr<nsStyleContext> >&) layout/base/GeckoRestyleManager.cpp:3058 55 xul.dll mozilla::GeckoRestyleManager::ComputeAndProcessStyleChange(nsIFrame*, nsChangeHint, mozilla::RestyleTracker&, nsRestyleHint, mozilla::RestyleHintData const&) layout/base/GeckoRestyleManager.cpp:3469 56 xul.dll mozilla::GeckoRestyleManager::StartRebuildAllStyleData(mozilla::RestyleTracker&) layout/base/GeckoRestyleManager.cpp:426 57 xul.dll mozilla::RestyleTracker::DoProcessRestyles() layout/base/RestyleTracker.cpp:152 58 xul.dll mozilla::GeckoRestyleManager::ProcessPendingRestyles() layout/base/GeckoRestyleManager.cpp:496 59 xul.dll mozilla::GeckoRestyleManager::RebuildAllStyleData(nsChangeHint, nsRestyleHint) layout/base/GeckoRestyleManager.cpp:370 60 xul.dll nsPresContext::RebuildAllStyleData(nsChangeHint, nsRestyleHint) layout/base/nsPresContext.cpp:2023 61 xul.dll nsPresContext::UpdateAfterPreferencesChanged() layout/base/nsPresContext.cpp:819 62 xul.dll nsPresContext::PrefChangedUpdateTimerCallback(nsITimer*, void*) layout/base/nsPresContext.cpp:191 63 xul.dll nsTimerImpl::Fire(int) xpcom/threads/nsTimerImpl.cpp:521 64 xul.dll nsTimerEvent::Run() xpcom/threads/TimerThread.cpp:284 65 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1418 66 xul.dll mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:96 67 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc:231 68 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:211 69 xul.dll nsBaseAppShell::Run() widget/nsBaseAppShell.cpp:156 70 xul.dll nsAppShell::Run() widget/windows/nsAppShell.cpp:271 71 xul.dll nsAppStartup::Run() toolkit/components/startup/nsAppStartup.cpp:283 72 xul.dll XREMain::XRE_mainRun() toolkit/xre/nsAppRunner.cpp:4569 73 xul.dll XREMain::XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/nsAppRunner.cpp:4749 74 xul.dll XRE_main(int, char** const, mozilla::BootstrapConfig const&) toolkit/xre/nsAppRunner.cpp:4844 75 firefox.exe NS_internal_main(int, char**, char**) browser/app/nsBrowserApp.cpp:310 76 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp:115 77 firefox.exe __scrt_common_main_seh f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:253 78 kernel32.dll BaseThreadInitThunk 79 ntdll.dll RtlUserThreadStart Application Basics: Name: Firefox Version: 55.0b2 Build ID: 20170615063713 Update Channel: beta User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:55.0) Gecko/20100101 Firefox/55.0 OS: Windows_NT 10.0
Component: XPCOM → CSS Parsing and Computation
Priority: -- → P3
Hmm - the most recent crash report I can find with this bug's signature was on June 20th: bp-23be5215-8b9a-4f34-bc7a-d90840170620 (Here's the query of all reports from April until today, with this bug's signature: https://crash-stats.mozilla.com/signature/?signature=StringBeginsWith&date=%3E%3D2017-04-13T05%3A27%3A00.000Z&date=%3C2017-09-20T05%3A27%3A00.000Z&_columns=date&_columns=product&_columns=version&_columns=build_id&_columns=platform&_columns=reason&_columns=address&_columns=install_time&_sort=-date&page=1#reports ) It looks like that's right when bug 1373981 (the "see also" bug here) had its soccoro commit land. Is it expected that that change would've made this stop showing up? (If so, what should we do with this bug now?)
Flags: needinfo?(dbaron)
Ah, perhaps we should update the signature to "AttrMatchesValue" (the next highest stack level in the backtrace in comment 0), if I'm understanding correctly? I'll do that. (It seems we do have some recent crashes with that signature, though not many and it looks like their backtrace is a little different.) (If I'm misunderstanding, sorry & please clean up after me or let me know what to tweak. :))
Crash Signature: [@ StringBeginsWith] → [@ AttrMatchesValue]
Flags: needinfo?(dbaron)
Summary: Crash in StringBeginsWith → Crash in AttrMatchesValue
It would have changed the signature to StringBeginsWith | AttrMatchesValue, which is a very rare signature.
Crash Signature: [@ AttrMatchesValue] → [@ StringBeginsWith | AttrMatchesValue]
Summary: Crash in AttrMatchesValue → Crash in StringBeginsWith | AttrMatchesValue
Thanks -- yup, I only see two reports up until this point: bp-fd3fa79a-3d3a-4684-ae8d-61cf80170805 2017-08-05 12:51:25 Firefox 52.2.1esr Windows NT EXCEPTION_ILLEGAL_INSTRUCTION 0x12b556d bp-b5ac3e80-b35f-46b2-86f1-7c3830170702 2017-07-02 12:58:31 Firefox 55.0b6 Windows NT EXCEPTION_ACCESS_VIOLATION_READ 0x1000d
AttrMatchesValue is gone so it's not worth tracking this signature anymore. Please file new bugs as appropriate.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.