Closed Bug 1489029 Opened 6 years ago Closed 6 years ago

Focusmanager testmode triggers crash [@ mozilla::IMEContentObserver::InitWithEditor(nsPresContext*, nsIContent*, mozilla::EditorBase*)] after Assertion failure: aEditorBase, at src/dom/events/IMEContentObserver.cpp:317

Categories

(Core :: DOM: Events, defect, P5)

defect

Tracking

()

RESOLVED INCOMPLETE

People

(Reporter: intermittent-bug-filer, Unassigned)

Details

(Keywords: crash)

Crash Data

Filed by: hskupin [at] mozilla.com https://treeherder.mozilla.org/logviewer.html#?job_id=197634051&repo=try https://queue.taskcluster.net/v1/task/bPDcN-QaQaevGeAGryyB5g/runs/0/artifacts/public/logs/live_backing.log Enabling the focus manager test mode via the preference `focusmanager.testmode=true`, a lot of mochitest, and reftest jobs are failing with an assertion and follow-up crash: https://treeherder.mozilla.org/#/jobs?repo=try&revision=638877e421df199cec5a8bec7a858419204b57c1&selectedJob=197634051 [task 2018-09-05T15:22:29.653Z] 15:22:29 INFO - GECKO(3456) | Assertion failure: aEditorBase, at /builds/worker/workspace/build/src/dom/events/IMEContentObserver.cpp:317 [task 2018-09-05T15:23:16.684Z] 15:23:16 INFO - GECKO(3456) | #01: mozilla::IMEContentObserver::InitWithEditor(nsPresContext*, nsIContent*, mozilla::EditorBase*) [dom/events/IMEContentObserver.cpp:0] [task 2018-09-05T15:23:16.685Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.686Z] 15:23:16 INFO - GECKO(3456) | #02: mozilla::IMEContentObserver::Init(nsIWidget*, nsPresContext*, nsIContent*, mozilla::EditorBase*) [dom/events/IMEContentObserver.cpp:0] [task 2018-09-05T15:23:16.686Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.688Z] 15:23:16 INFO - GECKO(3456) | #03: mozilla::IMEStateManager::CreateIMEContentObserver(mozilla::EditorBase*) [dom/events/IMEStateManager.cpp:1946] [task 2018-09-05T15:23:16.689Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.691Z] 15:23:16 INFO - GECKO(3456) | #04: mozilla::IMEStateManager::OnChangeFocusInternal(nsPresContext*, nsIContent*, mozilla::widget::InputContextAction) [dom/events/IMEStateManager.cpp:702] [task 2018-09-05T15:23:16.692Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.693Z] 15:23:16 INFO - GECKO(3456) | #05: mozilla::IMEStateManager::OnChangeFocus(nsPresContext*, nsIContent*, mozilla::widget::InputContextAction::Cause) [dom/events/IMEStateManager.cpp:453] [task 2018-09-05T15:23:16.695Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.697Z] 15:23:16 INFO - GECKO(3456) | #06: nsFocusManager::Focus(nsPIDOMWindowOuter*, mozilla::dom::Element*, unsigned int, bool, bool, bool, bool, nsIContent*) [dom/base/nsFocusManager.cpp:1981] [task 2018-09-05T15:23:16.700Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.703Z] 15:23:16 INFO - GECKO(3456) | #07: nsFocusManager::SetFocusInner(mozilla::dom::Element*, int, bool, bool) [mfbt/RefPtr.h:79] [task 2018-09-05T15:23:16.705Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.707Z] 15:23:16 INFO - GECKO(3456) | #08: nsFocusManager::SetFocus(mozilla::dom::Element*, unsigned int) [dom/base/nsFocusManager.cpp:510] [task 2018-09-05T15:23:16.711Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.713Z] 15:23:16 INFO - GECKO(3456) | #09: nsPluginInstanceOwner::ProcessMouseDown(mozilla::dom::Event*) [dom/plugins/base/nsPluginInstanceOwner.cpp:1547] [task 2018-09-05T15:23:16.715Z] 15:23:16 INFO - [task 2018-09-05T15:23:16.718Z] 15:23:16 INFO - GECKO(3456) | #10: nsPluginInstanceOwner::HandleEvent(mozilla::dom::Event*) [dom/plugins/base/nsPluginInstanceOwner.cpp:1808]
Hmm... IMEStateManager computes new IME state is PLUGIN (this must be correct, since the stack comes from click event handler of plugin). However, IMEStateManager decided that it does not need to update current widget's IME state (e.g., already so, it'll be outdated focus change, etc). So, the mismatch of IME state causes the crash. I need to investigate this more.
Odd. I cannot reproduce the crash on Windows nor Linux with: EXTRA_TEST_ARGS='--setpref=focusmanager.testmode=true' MOZ_LOG=IMEStateManager:5,sync ./mach mochitest test_bug751809.html
Maybe try it with my patch as used for this try build: https://treeherder.mozilla.org/#/jobs?repo=try&revision=638877e421df199cec5a8bec7a858419204b57c1&selectedJob=197634051 There are also lot of other tests which might trigger the crash earlier? Or it's necessary to run more than a single test?
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.