Closed Bug 883059 Opened 11 years ago Closed 11 years ago

crash in mozilla::a11y::EventQueue::PushEvent

Categories

(Core :: Disability Access APIs, defect)

20 Branch
x86
Windows 7
defect
Not set
critical

Tracking

()

VERIFIED FIXED
mozilla27
Tracking Status
firefox22 --- wontfix
firefox24 --- wontfix
firefox25 --- wontfix
firefox26 --- wontfix
firefox27 + verified
firefox28 --- unaffected

People

(Reporter: scoobidiver, Assigned: tbsaunde)

References

(Blocks 1 open bug)

Details

(Keywords: crash, regression, topcrash-win)

Crash Data

Attachments

(2 files)

There are a few crashes. Signature nsTArray_Impl<nsRefPtr<mozilla::a11y::AccEvent>, nsTArrayInfallibleAllocator>::AppendElements<mozilla::a11y::AccEvent*>(mozilla::a11y::AccEvent* const*, unsigned int) More Reports Search UUID 43938546-8d1a-46af-baff-8b04f2130610 Date Processed 2013-06-10 14:38:28 Uptime 827 Install Age 13.8 minutes since version was first installed. Install Time 2013-06-10 14:24:36 Product MetroFirefox Version 24.0a1 Build ID 20130610031147 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_ACCESS_VIOLATION_READ Crash Address 0x8 App Notes AdapterVendorID: 0x8086, AdapterDeviceID: 0x0166, AdapterSubsysID: 05541028, AdapterDriverVersion: 9.17.10.2849 Has dual GPUs. GPU #2: AdapterVendorID2: 0x10de, AdapterDeviceID2: 0x1140, AdapterSubsysID2: 05541028, AdapterDriverVersion2: 9.18.13.1422D2D! D2D+ DWrite? DWrite+ D3D10 Layers! D3D10 Layers+ Processor Notes sp-processor04_phx1_mozilla_com_3661:2012; non-integer value of "SecondsSinceLastCrash"; WARNING: raw_crash missing Add-ons EMCheckCompatibility True Adapter Vendor ID 0x8086 Adapter Device ID 0x0166 Total Virtual Memory 4294836224 Available Virtual Memory 3675074560 System Memory Use Percentage 55 Available Page File 3118219264 Available Physical Memory 1838673920 Accessibility Active Frame Module Signature Source 0 xul.dll nsTArray_Impl<nsRefPtr<mozilla::a11y::AccEvent>,nsTArrayInfallibleAllocator>::Ap obj-firefox/dist/include/nsTArray.h:1044 1 xul.dll mozilla::a11y::EventQueue::PushEvent accessible/src/base/EventQueue.cpp:30 2 xul.dll mozilla::a11y::DocAccessible::FireDelayedEvent accessible/src/generic/DocAccessible-inl.h:30 3 xul.dll mozilla::a11y::DocAccessible::Observe accessible/src/generic/DocAccessible.cpp:808 4 xul.dll nsCommandManager::CommandStatusChanged embedding/components/commandhandler/src/nsCommandManager.cpp:105 5 xul.dll nsComposerCommandsUpdater::UpdateOneCommand editor/composer/src/nsComposerCommandsUpdater.cpp:334 6 xul.dll nsComposerCommandsUpdater::NotifyDocumentCreated editor/composer/src/nsComposerCommandsUpdater.cpp:54 7 xul.dll nsEditor::NotifyDocumentListeners editor/libeditor/base/nsEditor.cpp:2547 8 xul.dll nsEditor::PostCreate editor/libeditor/base/nsEditor.cpp:297 9 xul.dll nsEditingSession::SetupEditorOnWindow editor/composer/src/nsEditingSession.cpp:476 10 xul.dll nsEditingSession::MakeWindowEditable editor/composer/src/nsEditingSession.cpp:168 11 xul.dll nsHTMLDocument::EditingStateChanged content/html/document/src/nsHTMLDocument.cpp:2864 12 xul.dll nsHTMLDocument::DeferredContentEditableCountChange content/html/document/src/nsHTMLDocument.cpp:2580 13 xul.dll DeferredContentEditableCountChangeEvent::Run content/html/document/src/nsHTMLDocument.cpp:2545 14 xul.dll nsContentUtils::AddScriptRunner content/base/src/nsContentUtils.cpp:4827 15 xul.dll nsHTMLDocument::ChangeContentEditableCount content/html/document/src/nsHTMLDocument.cpp:2565 16 xul.dll nsGenericHTMLElement::ChangeEditableState content/html/content/src/nsGenericHTMLElement.cpp:3102 17 xul.dll nsGenericHTMLElement::SetAttr content/html/content/src/nsGenericHTMLElement.cpp:980 18 xul.dll nsGenericHTMLElement::SetContentEditable content/html/content/src/nsGenericHTMLElement.h:206 19 xul.dll mozilla::dom::HTMLElementBinding::set_contentEditable obj-firefox/dom/bindings/HTMLElementBinding.cpp:854 20 xul.dll mozilla::dom::HTMLElementBinding::genericSetter obj-firefox/dom/bindings/HTMLElementBinding.cpp:5071 21 mozjs.dll js::Invoke js/src/vm/Interpreter.cpp:389 22 mozjs.dll js::Invoke js/src/vm/Interpreter.cpp:435 ... More reports at: https://crash-stats.mozilla.com/report/list?signature=nsTArray_Impl%3CnsRefPtr%3Cmozilla%3A%3Aa11y%3A%3AAccEvent%3E%2C+nsTArrayInfallibleAllocator%3E%3A%3AAppendElements%3Cmozilla%3A%3Aa11y%3A%3AAccEvent*%3E%28mozilla%3A%3Aa11y%3A%3AAccEvent*+const*%2C+unsigned+int%29
I haven't looked at how it happens yet, but I'm pretty sure this is what happens when you try to Call QueueEvent() on a null NotificationController* how we got to that I'm not clear yet. But on a 32 bit machine mEvents should have an offset of 0x8 because of vtable + pointer to doc.
should we assert and null check?
I can reproduce this crash on Windows 8 with a metro enabled Firefox with the following steps: - Go to http://people.mozilla.org/~mwargers/tests/contenteditable/contenteditable_focus_blur_parentframe.htm - Let it open for 5 seconds or so. - Go back in history, then load another page. Result: This crash
This crash has returned in volume on Nightly builds since 20131018. Comments indicate webmail, outlook email and google hangouts chat. It is correlated to oleacc.dll, the Active Accessibility Core component in Windows. Currently #12 crasher on trunk.
I'm not seeing how mNotificationController can be null. Martijn can you still reproduce on windows? I can't on linux, surkov want to try on windows?
Flags: needinfo?(surkov.alexander)
Flags: needinfo?(martijn.martijn)
windows 7 doesn't make me crash
Flags: needinfo?(surkov.alexander)
Depends on: 931399
this signature has risen up to #7 on topcrash list
Keywords: topcrash-win
(In reply to Trevor Saunders (:tbsaunde) from comment #5) > I'm not seeing how mNotificationController can be null. Martijn can you > still reproduce on windows? I can't on linux, surkov want to try on windows? I was testing this on a borrowed Windows 8 tablet/laptop (which was in tablet mode). I'm not able to test this anymore. Juan might be able test.
Flags: needinfo?(martijn.martijn)
Trev, can we get a fix? If it's a null check (+ assertion) and if not a root problem fix then it will be better than keeping crashing.
(In reply to alexander :surkov from comment #9) > Trev, can we get a fix? If it's a null check (+ assertion) and if not a root > problem fix then it will be better than keeping crashing. I'm hoping its just a dup of bug 931399, so I want to see if that turns out to be the case before thinking about what else it might be.
This is a top crash on Fx 27 at the moment. The fix for 931399 may have actually aggravated this crash.
Tracking it as this is a top-crash and passing onto Trevor as this may be a fallout from 931399. Can we backout 931399 to avoid this top-crash ?
(In reply to [:tracy] Tracy Walker - QA Mentor from comment #11) > This is a top crash on Fx 27 at the moment. The fix for 931399 may have > actually aggravated this crash. that's weird, but possible I guess. Can we get a test case? (In reply to bhavana bajaj [:bajaj] from comment #12) > Tracking it as this is a top-crash and passing onto Trevor as this may be a > fallout from 931399. > > Can we backout 931399 to avoid this top-crash ? maybe? I think we may have tests that crash without it at this point, but I can push it to try over the weekend and hopefully the tree will open so I can land it if backing out is an option.
I'm not particularly comfortable with it, but I backed bug 931399 out in https://hg.mozilla.org/integration/mozilla-inbound/rev/5d40a8f1b00b since mochitest-a11y seems to still pass at least on linux.
:tracy, is the crash volume down now based on the backout in comment #14 ?
Flags: needinfo?(twalker)
mozilla::a11y::EventQueue::PushEvent is nowhere to be found. but [@ nsTArray_Impl<nsRefPtr<mozilla::a11y::AccEvent>, nsTArrayInfallibleAllocator>::AppendElements<mozilla::a11y::AccEvent*>(mozilla::a11y::AccEvent* const*, unsigned int)] is still a top crasher at #6. Our speculation that 931399 had an effect here was mistaken.
Flags: needinfo?(twalker)
(In reply to [:tracy] Tracy Walker - QA Mentor from comment #16) > mozilla::a11y::EventQueue::PushEvent is nowhere to be found. but [@ > nsTArray_Impl<nsRefPtr<mozilla::a11y::AccEvent>, > nsTArrayInfallibleAllocator>::AppendElements<mozilla::a11y:: > AccEvent*>(mozilla::a11y::AccEvent* const*, unsigned int)] is still a top > crasher at #6. > > Our speculation that 931399 had an effect here was mistaken. its good to confirm that, I'll check it back in then. Do we have any str for this bug since its not a dup of 931399?
Flags: needinfo?(twalker)
the only STR's we had here were from comment #3. I can't reproduce with those steps, atm. (having difficulty getting lastest nightly build into metro mode. Will try again once that is resolved.
It turns out, once desktop/metro profile sharing was turned, you can no longer have multiple profiles. Anyway, figured that out, got into metro mode and still can not reproduce this.
Flags: needinfo?(twalker)
(In reply to [:tracy] Tracy Walker - QA Mentor from comment #19) > It turns out, once desktop/metro profile sharing was turned, you can no > longer have multiple profiles. > > Anyway, figured that out, got into metro mode and still can not reproduce > this. ok :( I'm pretty sure a null check will cause a leak so I don't know there's much we can do here until we have some idea how to reproduce.
My girlfriend is able to reliably reproduce this on 27: https://crash-stats.mozilla.com/report/index/464a4e56-4db7-4816-a8c7-880a52131216 Windows 7 tablet. Windows in en_US. STR: open Outlook Web Access. Click on an email in the inbox. Message window pops up for the reply. Immediately crashes. I'm asking for about:support content right now.
(In reply to Trevor Saunders (:tbsaunde) from comment #20) > ok :( I'm pretty sure a null check will cause a leak so I don't know there's > much we can do here until we have some idea how to reproduce. Personal opinion: a leak is way less serious than repeatably crashing every time a user tries to visit their webmail. Perhaps land a band-aid on all channels but Nightly, then continue to debug? Is there anything I can do to debug, given that I have some ability (at a distance right now) to repro?
assuming http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/trev.saunders@gmail.com-df08ed89ae2a builds and crashes I'd like to know what output it dumps to standard out if you run it in aterminal (however you see standard out on windows Alex?) fwiw I think Alex tried to and failed to reprudce this with the outlook web thing, but I'll try on linux just for fun, I just need to setup an account or something I guess.
(In reply to Trevor Saunders (:tbsaunde) from comment #24) > I'd like to know what > output it dumps to standard out if you run it in aterminal (however you see > standard out on windows Alex?) That needs some additional help, I think -- running with -console starts a new temporary console which doesn't show any of the usual Firefox log output, and of course it disappears when the process goes away. I don't do much dev on Windows, and the affected machine doesn't have dev tools installed (nor space for them). Can you make a build that logs whatever you're trying to capture to a file? > fwiw I think Alex tried to and failed to reprudce this with the outlook web > thing, but I'll try on linux just for fun, I just need to setup an account > or something I guess. I doubt it'll be worth your time -- 100% of the thousands of crashes in Socorro with this signature are on Windows, and Tracy suggested that it's an interaction with MSAA (which, judging by Googling, is a contributor to crashes in other software, too).
(In reply to Trevor Saunders (:tbsaunde) from comment #24) > assuming > http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/trev. > saunders@gmail.com-df08ed89ae2a builds and crashes I'd like to know what > output it dumps to standard out if you run it in aterminal (however you see > standard out on windows Alex?) what standard out should I check and what's for? (In reply to Richard Newman [:rnewman] from comment #23) > Is there anything I can do to debug, given that I have some ability (at a > distance right now) to repro? if could check the state of the document in DocAccessible::FireDelayedEvent (it looks like it's defunct at this point), see Accessible::mStateFlags. If so then I'd say that editable state change notification should be ignored
(In reply to alexander :surkov from comment #26) > (In reply to Trevor Saunders (:tbsaunde) from comment #24) > > assuming > > http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/trev. > > saunders@gmail.com-df08ed89ae2a builds and crashes I'd like to know what > > output it dumps to standard out if you run it in aterminal (however you see > > standard out on windows Alex?) > > what standard out should I check and what's for? I was just asking how you do it because I have no clue how it works in windows. > (In reply to Richard Newman [:rnewman] from comment #23) > > > Is there anything I can do to debug, given that I have some ability (at a > > distance right now) to repro? > > if could check the state of the document in DocAccessible::FireDelayedEvent > (it looks like it's defunct at this point), see Accessible::mStateFlags. If > so then I'd say that editable state change notification should be ignored I'd rather localize the hack to DocAccessible::Observe()
(In reply to Richard Newman [:rnewman] from comment #25) > (In reply to Trevor Saunders (:tbsaunde) from comment #24) > > I'd like to know what > > output it dumps to standard out if you run it in aterminal (however you see > > standard out on windows Alex?) > > That needs some additional help, I think -- running with -console starts a > new temporary console which doesn't show any of the usual Firefox log > output, and of course it disappears when the process goes away. I don't do > much dev on Windows, and the affected machine doesn't have dev tools > installed (nor space for them). > > Can you make a build that logs whatever you're trying to capture to a file? > > > > fwiw I think Alex tried to and failed to reprudce this with the outlook web > > thing, but I'll try on linux just for fun, I just need to setup an account > > or something I guess. > > I doubt it'll be worth your time -- 100% of the thousands of crashes in > Socorro with this signature are on Windows, and Tracy suggested that it's an > interaction with MSAA (which, judging by Googling, is a contributor to > crashes in other software, too). Well, msaa may well be what's causing accessibility to be active, but I really don't see how this could be windows specific.
ok, lets try this, I believe the log will go to $CWD/firefox-crash-log does that work for you? # Uncomment to resolve bug
of course the try link would help https://tbpl.mozilla.org/?tree=Try&rev=a3ca41cced3a
(In reply to Trevor Saunders (:tbsaunde) from comment #27) > (In reply to alexander :surkov from comment #26) > > (In reply to Trevor Saunders (:tbsaunde) from comment #24) > > > assuming > > > http://ftp.mozilla.org/pub/mozilla.org/firefox/try-builds/trev. > > > saunders@gmail.com-df08ed89ae2a builds and crashes I'd like to know what > > > output it dumps to standard out if you run it in aterminal (however you see > > > standard out on windows Alex?) > > > > what standard out should I check and what's for? > > I was just asking how you do it because I have no clue how it works in > windows. oh, just clicked on message, then on forward button (reply is not active since those automatic messages) > > (In reply to Richard Newman [:rnewman] from comment #23) > > > > > Is there anything I can do to debug, given that I have some ability (at a > > > distance right now) to repro? > > > > if could check the state of the document in DocAccessible::FireDelayedEvent > > (it looks like it's defunct at this point), see Accessible::mStateFlags. If > > so then I'd say that editable state change notification should be ignored > > I'd rather localize the hack to DocAccessible::Observe() if you talk about the fix then yes, I meant the steps to check for the person who can reproduce
7 Day Ranking: > Firefox 26: N/A > Firefox 27: #5 @ 1.75% (+0.08%) > Firefox 28: N/A > Firefox 29: N/A Current rankings show this to be a top-crash in Firefox 27 but it seems to have all but disappeared in Aurora, Nightly, and Release.
i can confirm that: on Win7 x64 Firefox beta 27 crashed on me every time i opened an email composer in Outlook Web Access on a corporate Exchange Server. for example: https://crash-stats.mozilla.com/report/index/66f3f9ca-1f03-4ed6-bdcf-844a12131218 https://crash-stats.mozilla.com/report/index/7f15612d-43a7-4440-9d4a-531032131213 from a quick check Firefox 28 Aurora does NOT crash doing the same operations. on a sidenote: i have a WinXP machine and 27 did NOT crash there. Don't know if this helps though.
Trev, what about to add IsDefunct check into Observe special for Firefox 27?
If this is beta only I'm going to guess bug 931399 actually did fix this (or atleast I'm going to hope that), and I don't really care enough to get this debugged so lets take the IsDefunct() check on beta only
Attachment #8350640 - Flags: review?(surkov.alexander)
Comment on attachment 8350640 [details] [diff] [review] bug 883059 - check if the document is defunct before handling observer notifications Review of attachment 8350640 [details] [diff] [review]: ----------------------------------------------------------------- r=me, thanks! (is it supposed to be landed into Firefox 27 only)?
Attachment #8350640 - Flags: review?(surkov.alexander) → review+
Comment on attachment 8350640 [details] [diff] [review] bug 883059 - check if the document is defunct before handling observer notifications [Approval Request Comment] Bug caused by (feature/regressing bug #): unknown User impact if declined: crashes Testing completed (on m-c, etc.): locally tested it builds and passed tests, haven't yet tested it fixes crash but it really really should Risk to taking this patch (and alternatives if risky): basically non, we could possible fail to tell people documents have entered content editable mode as they go away, but almost certainly effects nothing. String or IDL/UUID changes made by this patch:none
Attachment #8350640 - Flags: approval-mozilla-beta?
Blocks: 888531
Comment on attachment 8350640 [details] [diff] [review] bug 883059 - check if the document is defunct before handling observer notifications Before approving this to land on FF27 (beta) - are we sure that this won't be needed on central/aurora? Those are marked as affected.
Flags: needinfo?(trev.saunders)
(In reply to Lukas Blakk [:lsblakk] from comment #38) > Comment on attachment 8350640 [details] [diff] [review] > bug 883059 - check if the document is defunct before handling observer > notifications > > Before approving this to land on FF27 (beta) - are we sure that this won't > be needed on central/aurora? Those are marked as affected. seems they actually aren't see comments 32 / 33
Flags: needinfo?(trev.saunders)
Comment on attachment 8350640 [details] [diff] [review] bug 883059 - check if the document is defunct before handling observer notifications OK we can go ahead with a direct-to-Beta uplift.
Attachment #8350640 - Flags: approval-mozilla-beta? → approval-mozilla-beta+
Assignee: nobody → trev.saunders
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla27
i verified the latest Firefox Beta 27 20140106141415 does not crash anymore :). So at least for me this is fixed.
(In reply to JonasK from comment #42) > i verified the latest Firefox Beta 27 20140106141415 does not crash anymore Thanks!
Status: RESOLVED → VERIFIED
Crash stats support verification: as of 27.0b4 there this crash is no longer occurring.
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: