Closed Bug 1048422 Opened 10 years ago Closed 10 years ago

dom/inputmethod/mochitest/test_basic.html is perma-failing (The input context type should match. - got text, expected input )

Categories

(Core :: DOM: Device Interfaces, defect)

defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1048423

People

(Reporter: RyanVM, Assigned: janjongboom)

References

()

Details

(Keywords: intermittent-failure)

Attachments

(1 obsolete file)

Looks like this failure started on jgraham's push for bug 1042921. However, it seems highly unlikely that his patch actually caused this failure vs. causing a previously-hidden failure to appear.

So there are two issues here:
1.) The test is perma-failing
2.) The harness isn't failing the run because of it

This bug is on file for fixing the test itself. If a harness fix comes first, I will disable this test for now so that we don't potentially miss other similar failures down the road.
Bug 1048423 tracks the harness side of this.
Depends on: 1048423
Blocks: 1042921
Would have helped if I'd included a log link. The failure is occurring on all platforms.

https://tbpl.mozilla.org/php/getParsedLog.php?id=45164240&tree=Mozilla-Inbound&full=1#error0

03:16:22     INFO -  1609 INFO TEST-START | /tests/dom/inputmethod/mochitest/test_basic.html
03:16:22     INFO -  1610 INFO ++DOMWINDOW == 73 (0x123f76400) [pid = 1348] [serial = 323] [outer = 0x12229b400]
03:16:22     INFO -  System JS : ERROR jar:file:///builds/slave/talos-slave/test/build/application/FirefoxNightlyDebug.app/Contents/MacOS/omni.ja!/components/nsHandlerService.js:891 - NS_ERROR_FAILURE: Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIProperties.get]
03:16:22     INFO -  1611 INFO [Child 1354] WARNING: NS_ENSURE_TRUE(mDocShell) failed: file /builds/slave/m-in-osx64-d-00000000000000000/build/embedding/browser/webBrowser/nsWebBrowser.cpp, line 365
03:16:22     INFO -  1612 INFO [Child 1354] WARNING: NS_ENSURE_TRUE(domWindow) failed: file /builds/slave/m-in-osx64-d-00000000000000000/build/embedding/browser/webBrowser/nsDocShellTreeOwner.cpp, line 86
03:16:22     INFO -  1613 INFO [Parent 1348] WARNING: RemoveObserver() called for unregistered observer: file /builds/slave/m-in-osx64-d-00000000000000000/build/hal/Hal.cpp, line 204
03:16:22     INFO -  1614 INFO [Parent 1348] WARNING: RemoveObserver() called for unregistered observer: file /builds/slave/m-in-osx64-d-00000000000000000/build/hal/Hal.cpp, line 204
03:16:22     INFO -  1615 INFO [Parent 1348] WARNING: RemoveObserver() called for unregistered observer: file /builds/slave/m-in-osx64-d-00000000000000000/build/hal/Hal.cpp, line 204
03:16:22     INFO -  1616 INFO [Parent 1348] WARNING: RemoveObserver() called for unregistered observer: file /builds/slave/m-in-osx64-d-00000000000000000/build/hal/Hal.cpp, line 204
03:16:22     INFO -  1617 INFO ###!!! [Child][MessageChannel] Error: Closed channel: cannot send/recv
03:16:22     INFO -  1618 INFO [Child 1354] WARNING: content process _exit()ing: file /builds/slave/m-in-osx64-d-00000000000000000/build/dom/ipc/ContentChild.cpp, line 1482
03:16:22     INFO -  1619 INFO ++DOCSHELL 0x12514a000 == 12 [pid = 1348] [id = 32]
03:16:22     INFO -  1620 INFO ++DOMWINDOW == 74 (0x123f70000) [pid = 1348] [serial = 324] [outer = 0x0]
03:16:22     INFO -  1621 INFO ###################################### forms.js loaded
03:16:22     INFO -  1622 INFO ############################### browserElementPanning.js loaded
03:16:22     INFO -  1623 INFO [Parent 1348] WARNING: Subdocument container has no frame: file /builds/slave/m-in-osx64-d-00000000000000000/build/layout/base/nsDocumentViewer.cpp, line 2515
03:16:22     INFO -  1624 INFO ++DOMWINDOW == 75 (0x124b61c00) [pid = 1348] [serial = 325] [outer = 0x123f70000]
03:16:22     INFO -  1625 INFO [Parent 1348] WARNING: NS_ENSURE_TRUE(mMutable) failed: file /builds/slave/m-in-osx64-d-00000000000000000/build/netwerk/base/src/nsSimpleURI.cpp, line 265
03:16:22     INFO -  1626 INFO ######################## BrowserElementChildPreload.js loaded
03:16:22     INFO -  1627 INFO ++DOMWINDOW == 76 (0x124bd5400) [pid = 1348] [serial = 326] [outer = 0x123f70000]
03:16:22     INFO -  1628 INFO [Parent 1348] WARNING: NS_ENSURE_TRUE(aSelection->GetRangeCount()) failed: file /builds/slave/m-in-osx64-d-00000000000000000/build/editor/libeditor/base/nsEditor.cpp, line 3836
03:16:22     INFO -  1629 INFO [Parent 1348] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file /builds/slave/m-in-osx64-d-00000000000000000/build/editor/libeditor/base/nsEditor.cpp, line 3815
03:16:22     INFO -  1630 INFO [Parent 1348] WARNING: NS_ENSURE_SUCCESS(res, res) failed with result 0x80004005: file /builds/slave/m-in-osx64-d-00000000000000000/build/editor/libeditor/text/nsTextEditRules.cpp, line 441
03:16:22     INFO -  1631 INFO file_test_app.html was loaded.[Parent 1348] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80520012: file /builds/slave/m-in-osx64-d-00000000000000000/build/js/xpconnect/loader/mozJSComponentLoader.cpp, line 966
03:16:22     INFO -  1632 INFO System JS : ERROR resource://gre/modules/XPCOMUtils.jsm:243 - NS_ERROR_FILE_NOT_FOUND: Component returned failure code: 0x80520012 (NS_ERROR_FILE_NOT_FOUND) [nsIXPCComponents_Utils.import]
03:16:22     INFO -  1633 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | inputcontextchange event was fired.
03:16:22     INFO -  1634 INFO TEST-UNEXPECTED-FAIL | /tests/dom/inputmethod/mochitest/test_basic.html | The input context type should match. - got text, expected input
03:16:22     INFO -  TEST-INFO | expected PASS
03:16:22     INFO -  1635 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | The inputType should match.
03:16:22     INFO -  1636 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | The input mode should match.
03:16:22     INFO -  1637 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | The language should match.
03:16:22     INFO -  1638 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | Should get the text around the cursor.
03:16:22     INFO -  1639 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | selectionStart was set successfully.
03:16:22     INFO -  1640 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | selectionEnd was set successfully.
03:16:22     INFO -  1641 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | sendKey should changed the input field correctly.
03:16:23     INFO -  1642 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | deleteSurroundingText finished
03:16:23     INFO -  1643 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | deleteSurroundingText should changed the input field correctly.
03:16:23     INFO -  1644 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | replaceSurroundingText finished
03:16:23     INFO -  1645 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | replaceSurroundingText changed the input field correctly.
03:16:23     INFO -  1646 INFO System JS : WARNING resource://gre/components/nsInputListAutoComplete.js:26 - assignment to undeclared variable entries
03:16:23     INFO -  1647 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | setComposition finished
03:16:23     INFO -  1648 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | endComposition changed the input field correctly.
03:16:23     INFO -  1649 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | onselectionchange fired
03:16:23     INFO -  1650 INFO TEST-PASS | /tests/dom/inputmethod/mochitest/test_basic.html | onsurroundingtextchange fired
03:16:23     INFO -  1651 INFO TEST-OK | /tests/dom/inputmethod/mochitest/test_basic.html | took 1057ms
Apparently we can in fact can get an intermittent orange out of this. Setting the bug flags so we can star it from TBPL.
Summary: dom/inputmethod/mochitest/test_basic.html is perma-failing → dom/inputmethod/mochitest/test_basic.html is perma-failing (The input context type should match. - got text, expected input )
Let's see if I can repro this locally.
Assignee: nobody → janjongboom
I think the cause was found in Bug 1048423 Comment 2.

This is a fallout of bug 1042921. We have a TODO reporting "The input context type should match. - got text, expected input", which is recognized as a perma-failing mistakenly.

:chmanchester is solving this with bug 1048423.
Attached patch Patch v1 (obsolete) — Splinter Review
So I don't know why this would ever fail, this test is even called like:

  todo_is(gContext.type, 'input', 'The input context type should match.');

so it should just ignore it, like it does in my b2g desktop mochitest run (adds a TODO: 1). Anyway, the valid values for inputContext.type are 'contenteditable', 'textarea' or 'type' (as seen in https://github.com/mozilla/gecko-dev/blob/master/dom/inputmethod/MozKeyboard.js#L319), so let's just fix the test.
Attachment #8467666 - Flags: review?(xyuan)
Try on just one platform, as it fails everywhere: https://tbpl.mozilla.org/?tree=Try&rev=31e9ec9cdc10
(In reply to Jan Jongboom [:janjongboom] (Telenor) from comment #12)
> So I don't know why this would ever fail, this test is even called like:
> 
>   todo_is(gContext.type, 'input', 'The input context type should match.');

Recent harness changes mean that this todo_is is incorrectly identified - bug 1048423 has a fix to the harness (see comment 10).
Comment on attachment 8467666 [details] [diff] [review]
Patch v1

Review of attachment 8467666 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/inputmethod/mochitest/test_basic.html
@@ +35,5 @@
>        inputmethod_cleanup();
>        return;
>      }
>  
> +    is(gContext.type, 'text', 'The input context type should match.');

Please add a TODO comment here.
Attachment #8467666 - Flags: review?(xyuan) → review+
Jan, we don't need to fix this bug any more as :edmorley's bug 1048423, which is landing, will fix this.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
No longer depends on: 1048423
Attachment #8467666 - Attachment is obsolete: true
I still don't get why this is a todo though. Are we going to be changing gContext.type at some point?
Flags: needinfo?(xyuan)
(In reply to Jan Jongboom [:janjongboom] (Telenor) from comment #18)
> I still don't get why this is a todo though. Are we going to be changing
> gContext.type at some point?

Yes, we want to change gContext.type as the following:

...

interface InputContext: EventTarget {
   // The tag name of input field, which is enum of "input", "textarea", or "contenteditable"
   readonly DOMString type;
...

see https://wiki.mozilla.org/WebAPI/KeboardIME#Proposed_API for details.
Flags: needinfo?(xyuan)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: