TEST-UNEXPECTED-FAIL | [snip]/mozmill/folder-display/test-columns.js - TEST-UNEXPECTED-FAIL | [snip]/mozmill/tabmail/test-tabmail-closing.js
Categories
(Thunderbird :: General, defect)
Tracking
(thunderbird67 affected, thunderbird68 affected)
People
(Reporter: jorgk-bmo, Unassigned)
References
Details
(Whiteboard: [Thunderbird-testfailure: Z all][Thunderbird-disabled-test][XBL:1])
Attachments
(2 files, 2 obsolete files)
7.35 KB,
patch
|
Details | Diff | Splinter Review | |
4.23 KB,
patch
|
Details | Diff | Splinter Review |
We're seeing a few test failures now that bug 1523957 has landed.
Can the de-XBL team please take a look.
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 1•6 years ago
|
||
TEST-UNEXPECTED-FAIL | Z:\task_1550824134\build\tests\mozmill\folder-display\test-columns.js | test-columns.js::test_column_reordering_persists
TEST-UNEXPECTED-FAIL | Z:\task_1550824134\build\tests\mozmill\folder-display\test-columns.js | test-columns.js::test_reset_to_inbox
TEST-UNEXPECTED-FAIL | Z:\task_1550824321\build\tests\mozmill\tabmail\test-tabmail-closing.js | test-tabmail-closing.js::test_opening_thread_in_tabs_closing_behaviour
And sadly also:
TEST-UNEXPECTED-FAIL | Disconnect Error: Application unexpectedly closed
PROCESS-CRASH | message-header | application crashed [@ static void MOZ_Crash(const char *, int, const char *)]
Looks like we're running into something unexpected here.
Comment 2•6 years ago
|
||
SUMMARY-UNEXPECTED-FAIL | test-columns.js | test-columns.js::test_column_reordering_persists
[task 2019-02-22T08:31:17.783Z] 08:31:17 INFO - EXCEPTION: Found visible column 'subjectCol' but was expecting 'correspondentCol'!
[task 2019-02-22T08:31:17.785Z] 08:31:17 INFO - desired list: threadCol,flaggedCol,attachmentCol,correspondentCol,subjectCol,unreadButtonColHeader,junkStatusCol,tagsCol
[task 2019-02-22T08:31:17.786Z] 08:31:17 INFO - actual list: threadCol,flaggedCol,attachmentCol,subjectCol,unreadButtonColHeader,correspondentCol,junkStatusCol,tagsCol
[task 2019-02-22T08:31:17.787Z] 08:31:17 INFO - at: test-columns.js line 130
[task 2019-02-22T08:31:17.788Z] 08:31:17 INFO - assert_visible_columns test-columns.js:130 11
[task 2019-02-22T08:31:17.789Z] 08:31:17 INFO - test_column_reordering_persists test-columns.js:344 3
[task 2019-02-22T08:31:17.790Z] 08:31:17 INFO - Runner.prototype.wrapper frame.jsm:556 7
[task 2019-02-22T08:31:17.791Z] 08:31:17 INFO - Runner.prototype._runTestModule frame.jsm:626 14
[task 2019-02-22T08:31:17.793Z] 08:31:17 INFO - Runner.prototype.runTestModule frame.jsm:665 8
[task 2019-02-22T08:31:17.794Z] 08:31:17 INFO - Runner.prototype.runTestDirectory frame.jsm:516 12
[task 2019-02-22T08:31:17.795Z] 08:31:17 INFO - runTestDirectory frame.jsm:671 10
[task 2019-02-22T08:31:17.796Z] 08:31:17 INFO - Bridge.prototype._execFunction server.js:191 15
[task 2019-02-22T08:31:17.797Z] 08:31:17 INFO - Bridge.prototype.execFunction server.js:196 21
[task 2019-02-22T08:31:17.798Z] 08:31:17 INFO - Session.prototype.receive server.js:315 6
[task 2019-02-22T08:31:17.799Z] 08:31:17 INFO - AsyncRead.prototype.onDataAvailable server.js:79 16
[task 2019-02-22T08:31:17.800Z] 08:31:17 INFO - SUMMARY-UNEXPECTED-FAIL | test-columns.js | test-columns.js::test_reset_to_inbox
[task 2019-02-22T08:31:17.801Z] 08:31:17 INFO - EXCEPTION: Found visible column 'tagsCol' but was expecting 'dateCol'!
[task 2019-02-22T08:31:17.802Z] 08:31:17 INFO - desired list: threadCol,flaggedCol,attachmentCol,subjectCol,unreadButtonColHeader,correspondentCol,junkStatusCol,dateCol
[task 2019-02-22T08:31:17.802Z] 08:31:17 INFO - actual list: threadCol,flaggedCol,attachmentCol,subjectCol,unreadButtonColHeader,correspondentCol,junkStatusCol,tagsCol
[task 2019-02-22T08:31:17.803Z] 08:31:17 INFO - at: test-columns.js line 130
[task 2019-02-22T08:31:17.804Z] 08:31:17 INFO - assert_visible_columns test-columns.js:130 11
[task 2019-02-22T08:31:17.805Z] 08:31:17 INFO - test_reset_to_inbox test-columns.js:384 3
[task 2019-02-22T08:31:17.805Z] 08:31:17 INFO - Runner.prototype.wrapper frame.jsm:556 7
[task 2019-02-22T08:31:17.806Z] 08:31:17 INFO - Runner.prototype._runTestModule frame.jsm:626 14
[task 2019-02-22T08:31:17.807Z] 08:31:17 INFO - Runner.prototype.runTestModule frame.jsm:665 8
[task 2019-02-22T08:31:17.808Z] 08:31:17 INFO - Runner.prototype.runTestDirectory frame.jsm:516 12
[task 2019-02-22T08:31:17.808Z] 08:31:17 INFO - runTestDirectory frame.jsm:671 10
[task 2019-02-22T08:31:17.809Z] 08:31:17 INFO - Bridge.prototype._execFunction server.js:191 15
[task 2019-02-22T08:31:17.809Z] 08:31:17 INFO - Bridge.prototype.execFunction server.js:196 21
[task 2019-02-22T08:31:17.810Z] 08:31:17 INFO - Session.prototype.receive server.js:315 6
[task 2019-02-22T08:31:17.810Z] 08:31:17 INFO - AsyncRead.prototype.onDataAvailable server.js:79 16
Reporter | ||
Comment 3•6 years ago
|
||
OK. Any ETA for getting this fixed? I'll take a look where the crash comes from and otherwise disable the tests.
Comment 4•6 years ago
|
||
Restore column order is indeed broken, but it appears this broke on Firefox too. I'm verifying and will file a bug if I can confirm.
Haven't investigated the others yet.
Comment 5•6 years ago
|
||
SUMMARY-UNEXPECTED-FAIL | test-tabmail-closing.js | test-tabmail-closing.js::test_opening_thread_in_tabs_closing_behaviour
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - EXCEPTION: tab is undefined
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - at: tabmail.xml line 771
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - closeTab tabmail.xml:771 17
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - test_opening_thread_in_tabs_closing_behaviour test-tabmail-closing.js:112 16
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Runner.prototype.wrapper frame.jsm:556 7
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Runner.prototype._runTestModule frame.jsm:626 14
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Runner.prototype.runTestModule frame.jsm:665 8
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Runner.prototype.runTestDirectory frame.jsm:516 12
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - runTestDirectory frame.jsm:671 10
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Bridge.prototype._execFunction server.js:191 15
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Bridge.prototype.execFunction server.js:196 21
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - Session.prototype.receive server.js:315 6
[task 2019-02-22T08:25:45.314Z] 08:25:45 INFO - AsyncRead.prototype.onDataAvailable server.js:79 16
Don't know what this is about. Strangely enough, it really is from bug 1523957 (confirmed by local backout)
Reporter | ||
Comment 6•6 years ago
|
||
This is the log from the crash:
08:38:20 INFO - TEST-START | Z:\task_1550821834\build\tests\mozmill\message-header\test-header-toolbar.js | test_customize_header_toolbar_separate_window
08:38:20 INFO - JavaScript error: chrome://messenger/content/msgHdrView.js, line 2714: TypeError: openConversation is null
08:38:21 INFO - JavaScript error: resource://gre/modules/XPCOMUtils.jsm, line 316: TypeError: can't redefine non-configurable property "BrowserUtils"
08:38:21 INFO - console.log: === Mozmill: Seen window chrome://messenger/content/messenger.xul
08:38:22 INFO - JavaScript error: resource://gre/modules/addons/XPIProvider.jsm, line 2682: TypeError: addon is null
08:40:21 INFO - mozcrash INFO | Downloading symbols from: https://queue.taskcluster.net/v1/task/C89UQTA8Sv6soGNrLFVqPQ/artifacts/public/build/target.crashreporter-symbols.zip
08:40:24 INFO - mozcrash INFO | Copy/paste: Z:\task_1550821834\build\win32-minidump_stackwalk.exe c:\users\task_1550821834\appdata\local\temp\mozmillprofile\minidumps\ad8e66b8-c912-4b4f-b098-6038c8d50802.dmp c:\users\task_1550821834\appdata\local\temp\tmpnsomxq
08:40:39 INFO - mozcrash INFO | Saved minidump as Z:\task_1550821834\build\blobber_upload_dir\ad8e66b8-c912-4b4f-b098-6038c8d50802.dmp
08:40:39 INFO - mozcrash INFO | Saved app info as Z:\task_1550821834\build\blobber_upload_dir\ad8e66b8-c912-4b4f-b098-6038c8d50802.extra
08:40:39 INFO - Timeout: bridge.execFunction("334ff200-367d-11e9-8815-02918a42a484", bridge.registry["{34b315dd-efb0-441a-b04e-914a5887a04d}"]["runTestDirectory"], ["Z:\task_1550821834\build\tests\mozmill\message-header"])
08:40:39 WARNING - TEST-UNEXPECTED-FAIL | Disconnect Error: Application unexpectedly closed
08:40:39 INFO - Timeout: bridge.set("7dab48de-367d-11e9-b776-02918a42a484", ChromeUtils.import('chrome://mozmill/content/modules/mozmill.jsm'))
However,
mozmake mozmill-one SOLO_TEST=message-header/test-header-toolbar.js
passes locally.
Searching the log
https://taskcluster-artifacts.net/SIbvvMk8QomEAFXdnilSFQ/0/public/logs/live_backing.log
for "Application unexpectedly closed" gets us to the stack:
0 libmozglue.dylib!MOZ_Crash(char const*, int, char const*) [Assertions.h:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 314 + 0x0]
1 libmozglue.dylib!MOZ_CrashPrintf [Assertions.cpp:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 55 + 0x7]
2 XUL!InvalidArrayIndex_CRASH(unsigned long, unsigned long) [nsTArray.cpp:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 27 + 0x13]
3 XUL!mozilla::a11y::Accessible** nsTArray_Impl<mozilla::a11y::Accessible*, nsTArrayInfallibleAllocator>::InsertElementAt<mozilla::a11y::Accessible*&, nsTArrayInfallibleAllocator>(unsigned long, mozilla::a11y::Accessible*&) [nsTArray.h:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 2330 + 0x8]
4 XUL!mozilla::a11y::Accessible::InsertChildAt(unsigned int, mozilla::a11y::Accessible*) [Accessible.cpp:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 2078 + 0x8]
5 XUL!mozilla::a11y::AccessibleWrap::InsertChildAt(unsigned int, mozilla::a11y::Accessible*) [AccessibleWrap.mm:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 119 + 0x5]
6 XUL!mozilla::a11y::DocAccessible::MoveChild(mozilla::a11y::Accessible*, mozilla::a11y::Accessible*, int) [DocAccessible.cpp:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 2125 + 0xf]
7 XUL!mozilla::a11y::DocAccessible::CacheChildrenInSubtree(mozilla::a11y::Accessible*, mozilla::a11y::Accessible**) [DocAccessible.cpp:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 2153 + 0x10]
8 XUL!mozilla::a11y::DocAccessible::CreateSubtree(mozilla::a11y::Accessible*) [DocAccessible-inl.h:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 131 + 0x5]
I don't want to paste more, but later we see:
13 XUL!mozilla::RefreshDriverTimer::Tick(mozilla::layers::BaseTransactionId<mozilla::VsyncIdType>, mozilla::TimeStamp) [nsRefreshDriver.cpp:9c16e1ffb7feb63f29cf8e6a183f2761e0b896b5 : 336 + 0xe]
so maybe something timer-driven is going wrong. Looks like the issue is related to tree changes.
Victor, any idea how to debug this further?
Reporter | ||
Comment 7•6 years ago
|
||
Running the whole directory like so
mozmake mozmill-one SOLO_TEST=message-header
crashes:
Hit MOZ_CRASH(ElementAt(aIndex = 2, aLength = 0)) at c:/mozilla-source/comm-central/xpcom/ds/nsTArray.cpp:29
Looks like it does crash in message-header/test-header-toolbar.js but not when the test is run stand-alone.
Comment hidden (obsolete) |
Reporter | ||
Comment 9•6 years ago
|
||
Hmm, switching off all seven subtests in message-header/test-header-toolbar.js makes the entire directory pass with 45 subtests pass.
Reporter | ||
Comment 10•6 years ago
|
||
Looks like switching off these six might do the trick:
https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=d6df804c7bf201b4ac790f5ac7d91985e67038b6
Reporter | ||
Comment 11•6 years ago
|
||
Turned out that 10 tests are failing in total, so I've switching those off.
Reporter | ||
Comment 12•6 years ago
|
||
Comment 13•6 years ago
|
||
Comment 14•6 years ago
|
||
For test-tabmail-closing.js the culprit is in MozTree constructor,
_handleEnter() -> changeOpenState() -> this.view.toggleOpenState(row);
Somehow the toggleOpenState mess things up. But I still don't understand why this is has anything to do with the tabs.
Comment 15•6 years ago
|
||
(In reply to Magnus Melin [:mkmelin] from comment #14)
For test-tabmail-closing.js the culprit is in MozTree constructor,
_handleEnter() -> changeOpenState() -> this.view.toggleOpenState(row);
Somehow the toggleOpenState mess things up. But I still don't understand why this is has anything to do with the tabs.
Strange that this changed as a result of Custom Element migration - should be the same as the previous <handler>: https://hg.mozilla.org/mozilla-central/rev/a6606e852767#l22.735.
Unless if there's some difference between when the handler is being installed vs the constructor running, or when exactly XBL handlers execute in response to the event, or something related to events in Shadow DOM. I haven't seen this before in previous bindings, but it's possible.
Where is the enter key being pressed that's triggering the bad call to _handleEnter()?
Reporter | ||
Comment 16•6 years ago
|
||
Maybe unrelated, but just pasting it here:
JavaScript strict warning: chrome://messenger/content/tabmail.xml, line 652: ReferenceError: reference to undefined property "moving"
Comment 17•6 years ago
|
||
(In reply to Brian Grinstead [:bgrins] from comment #15)
Where is the enter key being pressed that's triggering the bad call to
_handleEnter()?
Mystery solved. Thunderbird sets onkeydown="ThreadPaneKeyDown(event); for the tree
https://searchfox.org/comm-central/rev/10f11d2e56748e92fa3365cbe1e68a55a20d2a67/mail/base/content/messenger.xul#559
In ThreadPaneKeyDown event.stopImmediatePropagation(); is called.
In XBL, the event handler would get called after onkeydown is executed. But since the event was then stopped by ThreadPaneKeyDown the event would not reach the xbl tree event handler (and thus the tree wouldn't toggle state in this case).
The Enter event comes from that in the test suite we use Enter to open the selected messages. In this case it's a collapsed thread, and that used to mean open each message of the thread in a separate tab. Now that the internal tree handles the enter event first, the thread will first toggle open and therefore only the first message will get opened.
It's slightly unclear if this behaviour of the tree is intended. I.e. should the onkeydown get priority or not. Standards wise I think the order the listeners are run is set to undefined. Or not, as this in the tree widget internals. If you compare it to an <a> element, there setting an onclick handler inline does let you cancel the internal handling of that click.
(As for the actual tested behaviour in Thunderbird, that behaviour should probably be removed - I don't see why anyone would like to open all messages of a thread in separate tabs.)
Brian, Victor, what do you think?
Comment 18•6 years ago
|
||
Just had the idea to change the handlers in tree.js so that event handlers are added in connectedCallback and not in the constructor. This fixes the issue.
Reporter | ||
Comment 19•6 years ago
|
||
So which of the ten tests can be enabled again after bug 1531282 lands? Most are disabled due to bug 1529900. Only mail/test/mozmill/tabmail/test-tabmail-closing.js? mail/test/mozmill/message-header/test-header-toolbar.js is related to the crash, see comment #6 and bug 1530207.
Reporter | ||
Comment 20•6 years ago
|
||
OK, message-header/test-header-toolbar.js passes now, as does tabmail/test-tabmail-closing.js.
The six tests disabled in folder-display/test-columns.js still fail (I tried) due to bug 1529900.
Comment 21•6 years ago
|
||
Comment 22•6 years ago
|
||
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 23•6 years ago
|
||
OK, the patch from bug 1529900 has been merged into M-C right now, so let's see what is working again:
https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=a271de6e53437eaa96d3a3ff0f130db193bc4bb4
Reporter | ||
Comment 24•6 years ago
|
||
The sad news is that two tests are still failing and the crash from bug 1530207 is still there:
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1552298892/build/tests/mozmill/folder-display/test-columns.js | test-columns.js::test_column_reordering_persists
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1552298892/build/tests/mozmill/folder-display/test-columns.js | test-columns.js::test_reset_to_inbox
The crash comes form test-header-toolbar.js, leaving the three tests in there disabled, mitigates it. Here's another try with only four tests re-enabled (9 - three from test-header-toolbar.js - the two above):
https://treeherder.mozilla.org/#/jobs?repo=try-comm-central&revision=378263b12a32274e3cca0d52d2687fab706302b3
Time for some action for the de-XBL team. Over to you, Magnus.
Reporter | ||
Comment 25•6 years ago
|
||
Weird, in the latest try run, also the re-enabled tests fail now:
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1552307720/build/tests/mozmill/folder-display/test-columns.js | test-columns.js::test_apply_to_folder_no_children
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1552307720/build/tests/mozmill/folder-display/test-columns.js | test-columns.js::test_apply_to_folder_and_children
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1552307720/build/tests/mozmill/folder-display/test-columns.js | test-columns.js::test_apply_to_folder_no_children_swapped
TEST-UNEXPECTED-FAIL | /Users/cltbld/tasks/task_1552307720/build/tests/mozmill/folder-display/test-columns.js | test-columns.js::test_apply_to_folder_and_children_swapped
Gotta try it locally.
Reporter | ||
Comment 26•6 years ago
|
||
Hmm, restoring the column order works, so it looks like the tests need to be adapted.
Yikes, EXCEPTION: aFolder is undefined
, that's since the tests are interdependent and folderSource = create_folder("ColumnsApplySource");
happens inside the still disabled test_reset_to_inbox()
.
Moving that to setupModule()
fixes the issue. So only two tests to look at:
test_column_reordering_persists()
fails with:
EXCEPTION: Found visible column 'subjectCol' but was expecting 'correspondentCol'!
test_reset_to_inbox()
doesn't fail if enabled individually. So only one test fails.
Reporter | ||
Updated•6 years ago
|
Reporter | ||
Comment 27•6 years ago
|
||
OK, we can enable five tests here.
Reporter | ||
Comment 28•6 years ago
|
||
Sorry, count is 4: test_column_reordering_persists()
plus three in test-header-toolbar.js which don't fail in when the test is run individually, but cause the crash from bug 1530207.
Comment 29•6 years ago
|
||
Reporter | ||
Comment 30•6 years ago
|
||
`test_column_reordering_persists() will most likely need to be adjusted, like other tests in:
https://hg.mozilla.org/comm-central/rev/bdc549022762
Comment 31•6 years ago
|
||
I think there is some real problem that the thread pane columns really can't be reordered in the test (clean?) profile, not even manually by drag and drop:
When it first calls tree.js::_ensureColumnOrder() on the id='threadTree', it has zero columns, but that still sets _columnsDirty=false
Then later even if it gets columns, they do not get the 'ordinal' attributes and can't be reordered
Even manual drag and drop reordering of columns does not work in the clean test profile
But on a dev profile it works (as columns have 'ordinal' attributes, possibly restored from xulstore)
Without 'ordinal' attributes tree.js::_reorderColumn() fails as both 'moved' and 'before' columns return .ordinal=1 and the function will fail to do anything.
Reporter | ||
Comment 32•6 years ago
|
||
I tried FF Nightly, "View Certificates" in the security section of the preferences. The columns "Certificate Name", etc. can be reordered (and restored) on a fresh profile. So something wrong in TB.
Magnus, any comments?
Reporter | ||
Updated•6 years ago
|
Updated•6 years ago
|
Reporter | ||
Comment 33•6 years ago
|
||
Bug 1540394 will be merged soon, so we can re-enable test_column_reordering_persists()
. I'll move the three failures in test-header-toolbar.js to bug 1530207.
Reporter | ||
Comment 34•6 years ago
|
||
test-columns.js::test_column_reordering_persists passes now, so I will re-enable the test and we can close this bug.
Comment 35•6 years ago
|
||
Pushed by mozilla@jorgk.com:
https://hg.mozilla.org/comm-central/rev/3cdb38f6af78
Re-enable test-columns.js::test_column_reordering_persists. r=me
Description
•