The default bug view has changed. See this FAQ.

Permanent orange: TEST-UNEXPECTED-FAIL | test-plugin-crashing.js | test-plugin-crashing.js::test_crashed_plugin_notification_bar / test_crashed_plugin_notification_inline

RESOLVED FIXED in Thunderbird 22.0

Status

Thunderbird
Mail Window Front End
RESOLVED FIXED
4 years ago
4 years ago

People

(Reporter: mconley, Assigned: mconley)

Tracking

({intermittent-failure})

Trunk
Thunderbird 22.0
x86
All
intermittent-failure
Dependency tree / graph

Thunderbird Tracking Flags

(thunderbird21+ fixed)

Details

(Whiteboard: [tb-orange])

Attachments

(2 attachments, 2 obsolete attachments)

These just showed up recently on our Mozmill tests:

They're disabled for OSX, which is why we're still green there.

TEST-UNEXPECTED-FAIL | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::test_crashed_plugin_notification_bar
TEST-UNEXPECTED-FAIL | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::test_crashed_plugin_notification_inline
OS: Mac OS X → All
Version: 20 → Trunk
TEST-PASS | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::setupTest
TEST-START | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test_crashed_plugin_notification_bar
Step Pass: {"function": "controller.waitFor()"}
--DOMWINDOW == 24 (0xb205060) [serial = 27] [outer = (nil)] [url = chrome://messenger/content/msgAccountCentral.xul]
Test Failure: Timeout waiting for alert
++DOCSHELL 0x94da2f0 == 13 [id = 14]
++DOMWINDOW == 25 (0x9921240) [serial = 35] [outer = (nil)]
++DOMWINDOW == 26 (0xb200400) [serial = 36] [outer = 0x9921240]
TEST-START | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | teardownTest
TEST-PASS | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::teardownTest
TEST-UNEXPECTED-FAIL | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::test_crashed_plugin_notification_bar

and

TEST-PASS | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::setupTest
TEST-START | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test_crashed_plugin_notification_inline
Step Pass: {"function": "controller.waitFor()"}
Step Pass: {"function": "controller.waitFor()"}
Test Failure: Expected the status to be "noReport" or "please"
++DOCSHELL 0xa789b90 == 14 [id = 15]
++DOMWINDOW == 29 (0x9ec46c0) [serial = 39] [outer = (nil)]
++DOMWINDOW == 30 (0x9915728) [serial = 40] [outer = 0x9ec46c0]
TEST-START | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | teardownTest
TEST-PASS | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::teardownTest
TEST-UNEXPECTED-FAIL | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::test_crashed_plugin_notification_inline
My suspicion for a regression point would be:

http://hg.mozilla.org/mozilla-central/rev/528411b6f628 - Bug 648675
Keywords: intermittent-failure
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Ok, on deeper investigation, I think this is due to bug 817881 - the test plugin got moved, and Mozmill doesn't set up our test profiles to deal with that.
Assignee: nobody → mconley
Alright, I'm reasonably certain this is at least partly caused by bug 817881 - the Mozmill test profile has no notion of a test plugin since it got moved.
Blocks: 817881
Created attachment 720515 [details] [diff] [review]
Patch v1
My patch adds a --plugins-path argument to runtest.py and runtestlist.py. It also changes testsuite-targets.mk so that make mozmill and make mozmill-one pass $DIST/plugins as the plugins-path.
This is still failing on Try because buildbot is not passing --plugins-path to runtestlist.py (see http://hg.mozilla.org/build/buildbotcustom/file/f9dfa9d97996/process/factory.py#l5073) - my buildbot failures can be seen here:

https://tbpl.mozilla.org/php/getParsedLog.php?id=20277578&tree=Thunderbird-Try

Mark, do you know what changes I need to make so that buildbot calls runtestlist.py with --plugins-path?
Flags: needinfo?(mbanner)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
(In reply to Mike Conley (:mconley) from comment #51)
> This is still failing on Try because buildbot is not passing --plugins-path
> to runtestlist.py (see
> http://hg.mozilla.org/build/buildbotcustom/file/f9dfa9d97996/process/factory.
> py#l5073) - my buildbot failures can be seen here:
> 
> https://tbpl.mozilla.org/php/getParsedLog.php?id=20277578&tree=Thunderbird-
> Try
> 
> Mark, do you know what changes I need to make so that buildbot calls
> runtestlist.py with --plugins-path?

Yep, we'd need to modify this command line to include that option (packaged tests don't have the benefit of the make system):

http://hg.mozilla.org/build/buildbotcustom/annotate/f9dfa9d97996/process/factory.py#l5154

My only question would be is do we need to port a dummy option for --plugins-path to all trees to avoid issues with it being passed on e.g. comm-esr17 but being aborted as an unrecognized option.
Flags: needinfo?(mbanner)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Depends on: 847491
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Created attachment 722940 [details] [diff] [review]
[checked in] Partial fix

According to try server this fixes one of the permanent errors. The patch here is porting the browser plugin UI changes from bug 648675.


I suspect the other error is in the unit test itself, but I need to do a bit more guesswork to determine that.
Attachment #722940 - Flags: review?(mconley)
Try server build is here: https://tbpl.mozilla.org/?tree=Thunderbird-Try&rev=34de03f68317
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment on attachment 722940 [details] [diff] [review]
[checked in] Partial fix

LGTM - thanks Mark.

Any luck tracking down that last failure?
Attachment #722940 - Flags: review?(mconley) → review+
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment on attachment 722940 [details] [diff] [review]
[checked in] Partial fix

https://hg.mozilla.org/comm-central/rev/fa2bf329a0be

No luck on the other failure yet, though I suspect it could be something to do with the unit test code itself.
Attachment #722940 - Attachment description: Partial fix → [checked in] Partial fix
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
Comment hidden (Treeherder Robot)
So, here's where I'm having difficulty.

With the latest trunk, when running content-tabs/test-plugin-crashing.js, I seem to skip all of the tests. This is because it looks like the crash reporter is not enabled.

So, if I enable the crash reporter in setupModule, I can run the tests...but then I'm getting "Timeout waiting for crash" errors. It looks like when the test runs, it cannot find the plugin when loading the test, so I get a "install a missing plugin" box instead (PluginNotFound events are being fired).

Are you not experiencing this as well, Mark?
Flags: needinfo?(mbanner)
(In reply to Mike Conley (:mconley) from comment #134)
> So, if I enable the crash reporter in setupModule, I can run the tests...but
> then I'm getting "Timeout waiting for crash" errors. It looks like when the
> test runs, it cannot find the plugin when loading the test, so I get a
> "install a missing plugin" box instead (PluginNotFound events are being
> fired).

Ok, so I think we need to take your patch for the plugin location issue as long as specifying --plugins-dir is optional.

Like you say, we definitely need the crash reporter enabled.

When I get that, then I can reproduce the error - it seems that the plugin crashed, but it isn't actually providing the option to submit the failure, not quite sure why yet.
Flags: needinfo?(mbanner)
(In reply to Mark Banner (:standard8) from comment #135)
> Ok, so I think we need to take your patch for the plugin location issue as
> long as specifying --plugins-dir is optional.

i.e. we need it for local run tests, but we don't need it for the packaged tests as tinderbox does that for us.
Comment hidden (Treeherder Robot)
Ok, I was eventually able to get a test running, and experimented with resizing the window:

https://tbpl.mozilla.org/?tree=Thunderbird-Try&rev=1f5f9f1c992e

Looks like Mike has done the same though:

https://tbpl.mozilla.org/?tree=Thunderbird-Try&rev=1b2ef94f22f8

(well using 400px rather than 500px), but still might work.

I'm currently going back and re-analysing the code to see if there's an unintentional bug here or not.
Created attachment 730104 [details] [diff] [review]
Fix the final orange

Ok, so I've convinced myself that this is working fine. There's three levels of UI depending on the size of the plugin window:

* way too small => shows notification bar
* too small => shows plugin has crashed but no submit UI
* size is ok => shows plugin crashed and submit UI

This seems to be intentional and as per FF's code. I've also manually tested all three of these cases.

In the patch the change to plugin.html isn't strictly necessary but I think it'll help aid debugging in future if we get more issues.

(We can still land the plugin setup bits of your patch as well).
Attachment #730104 - Flags: review?(mconley)
Comment on attachment 730104 [details] [diff] [review]
Fix the final orange

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

This looks fine - great investigating work, Mark!

Going to fold this up into my plugins-path patch and re-post for final review.
Attachment #730104 - Flags: review?(mconley) → review+
Created attachment 730127 [details] [diff] [review]
Patch v2 - fixes final orange and adds --plugin-path
Attachment #720515 - Attachment is obsolete: true
Attachment #730104 - Attachment is obsolete: true
Comment on attachment 730127 [details] [diff] [review]
Patch v2 - fixes final orange and adds --plugin-path

I made --plugins-path optional runtestlist.py. Is that enough, or did we want to make it optional for runtest.py as well?
Attachment #730127 - Flags: review?(mbanner)
Comment on attachment 730127 [details] [diff] [review]
Patch v2 - fixes final orange and adds --plugin-path

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

I think as long as it runs on try server (which you've already done), and from make mozmill, then we should be fine.
Attachment #730127 - Flags: review?(mbanner) → review+
Landed on comm-central as https://hg.mozilla.org/comm-central/rev/4da3cfc1e642
status-thunderbird21: --- → affected
tracking-thunderbird21: --- → ?
Status: NEW → RESOLVED
Last Resolved: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 22.0
Comment on attachment 722940 [details] [diff] [review]
[checked in] Partial fix

I'm pretty sure we need both of these on comm-aurora.
Attachment #722940 - Flags: approval-comm-aurora?
Attachment #730127 - Flags: approval-comm-aurora?
Comment on attachment 722940 [details] [diff] [review]
[checked in] Partial fix

Yep, looks like it.
Attachment #722940 - Flags: approval-comm-aurora? → approval-comm-aurora+
Attachment #730127 - Flags: approval-comm-aurora? → approval-comm-aurora+
https://hg.mozilla.org/releases/comm-aurora/rev/b4ef7d7d286c
https://hg.mozilla.org/releases/comm-aurora/rev/2b518e617ffd
status-thunderbird21: affected → fixed
tracking-thunderbird21: ? → +
This failure still persists on Linux.

From https://tbpl.mozilla.org/php/getParsedLog.php?id=25082087&tree=Thunderbird-Trunk&full=1#error0

TEST-START | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test_crashed_plugin_notification_inline
Step Pass: {"function": "controller.waitFor()"}
Step Pass: {"function": "controller.waitFor()"}
Test Failure: Expected the status to be "noReport" or "please". Instead, it was null
WARNING: NS_ENSURE_TRUE(piTarget) failed: file ../../../../../mozilla/content/events/src/nsEventDispatcher.cpp, line 488
++DOMWINDOW == 42 (0x4f2d268) [serial = 72] [outer = 0x2c96268]
--DOMWINDOW == 41 (0x502d608) [serial = 69] [outer = 0x4f6abe8] [url = about:blank]
--DOMWINDOW == 40 (0x4cb7a48) [serial = 65] [outer = 0x4c863f8] [url = about:blank]
--DOMWINDOW == 39 (0x4e63a88) [serial = 61] [outer = 0x4bbf5d8] [url = about:blank]
--DOMWINDOW == 38 (0x4e4e6f8) [serial = 57] [outer = 0x4e0d4f8] [url = http://localhost:43336/whatsnew1.html]
--DOMWINDOW == 37 (0x4e0d4f8) [serial = 54] [outer = (nil)] [url = http://localhost:43336/whatsnew1.html]
--DOMWINDOW == 36 (0x391adb8) [serial = 53] [outer = (nil)] [url = http://localhost:43336/whatsnew.html]
--DOCSHELL 0x4e09a10 == 16 [id = 20]
--DOCSHELL 0x28ed1b0 == 15 [id = 19]
--DOCSHELL 0x1e1ed50 == 14 [id = 21]
--DOCSHELL 0x4d4b130 == 13 [id = 23]
--DOCSHELL 0x4542800 == 12 [id = 22]
--DOCSHELL 0x4f6c6e0 == 11 [id = 24]
++DOCSHELL 0x50088d0 == 12 [id = 25]
++DOMWINDOW == 37 (0x4f4aaf8) [serial = 73] [outer = (nil)]
++DOMWINDOW == 38 (0x4fff708) [serial = 74] [outer = 0x4f4aaf8]
TEST-START | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | teardownTest
TEST-PASS | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::teardownTest
TEST-UNEXPECTED-FAIL | /home/cltbld/talos-slave/test/build/mozmill/content-tabs/test-plugin-crashing.js | test-plugin-crashing.js::test_crashed_plugin_notification_inline

And I have a fix for this, should I open a new bug, or reopen this bug?
Its random rather than permanent, so please file a new bug - we also closed this ages ago, so generally we file a new bug anyway.
Thank you! Opened a new bug now. bug 891745.
You need to log in before you can comment on or make changes to this bug.