Closed Bug 1275100 Opened 3 years ago Closed 3 years ago

browser_notifications_2.js is going to permafail when Gecko 49 merges to Aurora

Categories

(Toolkit :: Password Manager, defect, critical)

defect
Not set
critical

Tracking

()

RESOLVED FIXED
mozilla49
Tracking Status
firefox47 --- unaffected
firefox48 --- unaffected
firefox49 + fixed

People

(Reporter: RyanVM, Assigned: gasolin)

References

Details

Attachments

(1 file)

[Tracking Requested - why for this release]: Merge day permafail.

Merge day is in two weeks, so this is pretty urgent :)

13:33:43     INFO -  470 INFO TEST-START | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js
13:33:43     INFO -  JavaScript error: resource://gre/components/nsLoginManager.js, line 278: Error: Can't add a login with a null or empty password.
13:33:43     INFO -  JavaScript error: resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/jsonview/converter-sniffer.js, line 65: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIChannel.contentType]
13:33:44     INFO -  TEST-INFO | started process screentopng
13:33:45     INFO -  TEST-INFO | screentopng: exit 0
13:33:45     INFO -  471 INFO checking window state
13:33:45     INFO -  472 INFO Entering test bound test_empty_password
13:33:45     INFO -  473 INFO TEST-PASS | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | Main action button is disabled - true == true -
13:33:45     INFO -  474 INFO TEST-PASS | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | . Can't add a login with a null or empty password. -
13:33:45     INFO -  475 INFO Console message: [JavaScript Warning: "Key event not available on some keyboard layouts: key=“c” modifiers=“accel,alt”" {file: "chrome://mochikit/content/tests/SimpleTest/EventUtils.js" line: 766}]
13:33:45     INFO -  476 INFO Console message: [JavaScript Warning: "Key event not available on some keyboard layouts: key=“i” modifiers=“accel,alt,shift”" {file: "chrome://mochikit/content/tests/SimpleTest/EventUtils.js" line: 766}]
13:33:45     INFO -  477 INFO Console message: [JavaScript Error: "Error: Can't add a login with a null or empty password." {file: "resource://gre/components/nsLoginManager.js" line: 278}]
13:33:45     INFO -  478 INFO Console message: [JavaScript Error: "[Exception... "[JavaScript Error: "Can't add a login with a null or empty password." {file: "resource://gre/components/nsLoginManager.js" line: 278}]'[JavaScript Error: "Can't add a login with a null or empty password." {file: "resource://gre/components/nsLoginManager.js" line: 278}]' when calling method: [nsILoginManager::addLogin]"  nsresult: "0x80570021 (NS_ERROR_XPC_JAVASCRIPT_ERROR_WITH_DETAILS)"  location: "JS frame :: resource://gre/components/nsLoginManagerPrompter.js :: _showLoginCaptureDoorhanger/persistData :: line 897"  data: yes]"]
13:33:45     INFO -  _showLoginCaptureDoorhanger/persistData@resource://gre/components/nsLoginManagerPrompter.js:897:9
13:33:45     INFO -  _showLoginCaptureDoorhanger/mainAction.callback@resource://gre/components/nsLoginManagerPrompter.js:928:9
13:33:45     INFO -  _onButtonEvent@resource://gre/modules/PopupNotifications.jsm:1151:7
13:33:45     INFO -  oncommand@chrome://browser/content/browser.xul:1:1
13:33:45     INFO -  test_empty_password/<@chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js:39:21
13:33:45     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:319:40
13:33:45     INFO -  TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:400:7
13:33:45     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -  TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:400:7
13:33:45     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -  promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
13:33:45     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -  Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -  this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -  Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -  this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -  this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -  receiveMessage@resource://testing-common/ContentTask.jsm:113:9
13:33:45     INFO -  479 INFO Leaving test bound test_empty_password
13:33:45     INFO -  480 INFO Entering test bound test_toggle_password
13:33:45     INFO -  481 INFO Console message: [JavaScript Error: "NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIChannel.contentType]" {file: "resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/jsonview/converter-sniffer.js" line: 65}]
13:33:45     INFO -  482 INFO TEST-UNEXPECTED-FAIL | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | false == true - JS frame :: chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js :: test_toggle_password/< :: line 74
13:33:45     INFO -  Stack trace:
13:33:45     INFO -      chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js:test_toggle_password/<:74
13:33:45     INFO -      test_toggle_password@chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js:51:9
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:319:40
13:33:45     INFO -      TaskImpl@resource://gre/modules/Task.jsm:280:3
13:33:45     INFO -      createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
13:33:45     INFO -      Task_spawn@resource://gre/modules/Task.jsm:168:12
13:33:45     INFO -      TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:388:16
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -      this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -      Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -      this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -      this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -      promise callback*this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:705:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:324:13
13:33:45     INFO -      promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -      this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -      Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -      this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -      this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:324:13
13:33:45     INFO -      TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:400:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:400:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -      this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -      Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -      this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -      this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -      receiveMessage@resource://testing-common/ContentTask.jsm:113:9
13:33:45     INFO -  Not taking screenshot here: see the one that was previously logged
13:33:45     INFO -  483 INFO TEST-UNEXPECTED-FAIL | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | Password textbox changed to plain text - "password" == "" - JS frame :: chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js :: test_toggle_password/< :: line 75
13:33:45     INFO -  Stack trace:
13:33:45     INFO -      chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js:test_toggle_password/<:75
13:33:45     INFO -      test_toggle_password@chrome://mochitests/content/browser/toolkit/components/passwordmgr/test/browser/browser_notifications_2.js:51:9
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:319:40
13:33:45     INFO -      TaskImpl@resource://gre/modules/Task.jsm:280:3
13:33:45     INFO -      createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
13:33:45     INFO -      Task_spawn@resource://gre/modules/Task.jsm:168:12
13:33:45     INFO -      TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:388:16
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -      this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -      Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -      this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -      this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -      promise callback*this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:705:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:324:13
13:33:45     INFO -      promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -      this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -      Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -      this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -      this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:324:13
13:33:45     INFO -      TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:400:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:400:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      promise callback*TaskImpl_handleResultValue@resource://gre/modules/Task.jsm:395:7
13:33:45     INFO -      TaskImpl_run@resource://gre/modules/Task.jsm:327:13
13:33:45     INFO -      Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:937:23
13:33:45     INFO -      this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:33:45     INFO -      Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:33:45     INFO -      this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:33:45     INFO -      this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:33:45     INFO -      receiveMessage@resource://testing-common/ContentTask.jsm:113:9
13:33:45     INFO -  484 INFO TEST-PASS | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | true == true -
13:33:45     INFO -  485 INFO TEST-PASS | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | Password textbox changed to * text - "password" == "password" -
13:33:45     INFO -  486 INFO Leaving test bound test_toggle_password
13:33:45     INFO -  JavaScript error: resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/jsonview/converter-sniffer.js, line 65: NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIChannel.contentType]
13:33:45     INFO -  487 INFO Console message: [JavaScript Error: "NS_ERROR_NOT_AVAILABLE: Component returned failure code: 0x80040111 (NS_ERROR_NOT_AVAILABLE) [nsIChannel.contentType]" {file: "resource://gre/modules/commonjs/toolkit/loader.js -> resource://devtools/client/jsonview/converter-sniffer.js" line: 65}]
13:33:45     INFO -  MEMORY STAT | vsize 783MB | residentFast 230MB | heapAllocated 100MB
13:33:45     INFO -  488 INFO TEST-OK | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | took 1308ms
13:33:45     INFO -  must wait for focus
13:39:23     INFO -  489 INFO checking window state
13:39:23     INFO -  490 INFO Console message: [JavaScript Error: "1463517233685	Toolkit.GMP	ERROR	GMPInstallManager.simpleCheckAndInstall Could not check for addons: Error: got node name: html, expected: updates (resource://gre/modules/addons/ProductAddonChecker.jsm:153:11) JS Stack trace: parseXML@ProductAddonChecker.jsm:153:11 < promise callback*ProductAddonChecker.getProductAddonList@ProductAddonChecker.jsm:320:12 < GMPInstallManager.prototype.checkForAddons@GMPInstallManager.jsm:107:5 < GMPInstallManager.prototype.simpleCheckAndInstall<@GMPInstallManager.jsm:204:29 < gBrowserInit._delayedStartup/<@browser.js:1319:7 < setTimeout handler*gBrowserInit._delayedStartup@browser.js:1315:5 < EventListener.handleEvent*gBrowserInit.onLoad@browser.js:1021:5 < onload@browser.xul:1:1" {file: "resource://gre/modules/Log.jsm" line: 753}]
13:39:23     INFO -  App_append@resource://gre/modules/Log.jsm:753:9
13:39:23     INFO -  Logger.prototype.log@resource://gre/modules/Log.jsm:389:7
13:39:23     INFO -  LoggerRepository.prototype.getLoggerWithMessagePrefix/proxy.log@resource://gre/modules/Log.jsm:504:44
13:39:23     INFO -  Logger.prototype.error@resource://gre/modules/Log.jsm:397:5
13:39:23     INFO -  GMPInstallManager.prototype.simpleCheckAndInstall<@resource://gre/modules/GMPInstallManager.jsm:285:7
13:39:23     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:320:40
13:39:23     INFO -  Handler.prototype.process@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:940:21
13:39:23     INFO -  this.PromiseWalker.walkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:816:7
13:39:23     INFO -  Promise*this.PromiseWalker.scheduleWalkerLoop@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:747:11
13:39:23     INFO -  this.PromiseWalker.schedulePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:779:7
13:39:23     INFO -  this.PromiseWalker.completePromise@resource://gre/modules/Promise.jsm -> resource://gre/modules/Promise-backend.js:714:7
13:39:23     INFO -  GMPInstallManager.prototype.checkForAddons/<@resource://gre/modules/GMPInstallManager.jsm:116:7
13:39:23     INFO -  promise callback*GMPInstallManager.prototype.checkForAddons@resource://gre/modules/GMPInstallManager.jsm:107:5
13:39:23     INFO -  GMPInstallManager.prototype.simpleCheckAndInstall<@resource://gre/modules/GMPInstallManager.jsm:204:29
13:39:23     INFO -  TaskImpl_run@resource://gre/modules/Task.jsm:319:40
13:39:23     INFO -  TaskImpl@resource://gre/modules/Task.jsm:280:3
13:39:23     INFO -  createAsyncFunction/asyncFunction@resource://gre/modules/Task.jsm:254:14
13:39:23     INFO -  gBrowserInit._delayedStartup/<@chrome://browser/content/browser.js:1319:7
13:39:23     INFO -  setTimeout handler*gBrowserInit._delayedStartup@chrome://browser/content/browser.js:1315:5
13:39:23     INFO -  EventListener.handleEvent*gBrowserInit.onLoad@chrome://browser/content/browser.js:1021:5
13:39:23     INFO -  onload@chrome://browser/content/browser.xul:1:1
13:39:23  WARNING -  TEST-UNEXPECTED-TIMEOUT | toolkit/components/passwordmgr/test/browser/browser_notifications_2.js | application timed out after 330 seconds with no output
Flags: needinfo?(gasolin)
Duplicate of this bug: 1272849
In previous bug 1217134 I identified and moved previous intermittent part to browser_notifications_2.js, add show password related test and removed `skip-if = true` flag seems the try run seems fine.

Do you think I should add back the `skip-if = true` flag for browser_notifications_2.js ?
Flags: needinfo?(gasolin) → needinfo?(MattN+bmo)
(In reply to Fred Lin [:gasolin] from comment #2)
> In previous bug 1217134 I identified and moved previous intermittent part to
> browser_notifications_2.js, add show password related test and removed
> `skip-if = true` flag seems the try run seems fine.
> 
> Do you think I should add back the `skip-if = true` flag for
> browser_notifications_2.js ?

No, that's not relevant to this problem.

This test will fail on merge day because of the signon.rememberSignons.visibilityToggle pref only being true on Nightly: https://mxr.mozilla.org/mozilla-central/source/modules/libpref/init/all.js?rev=cfda20b697dd#4196

The test should explicitly set the pref to true in a "setup" add_task like:
```
add_task(function* setup() {
   yield SpecialPowers.pushPrefEnv({"set": [["signon.rememberSignons.visibilityToggle", true]]});
});
```
Flags: needinfo?(MattN+bmo)
Ooh, sorry for forgot to add that pref in test! Which makes the checkbox not shown in test UI.
Assignee: nobody → gasolin
Tracking for 49 for the permafail potential.
Comment on attachment 8755713 [details]
MozReview Request: Bug 1275100 - Set signon.rememberSignons.visibilityToggle pref in browser_notifications_2; r?MattN

https://reviewboard.mozilla.org/r/54760/#review52502

r=me. Wouldn't hurt to test on an aurora try push.
Attachment #8755713 - Flags: review?(MattN+bmo) → review+
Thanks for review. No idea how to push to aurora yet, I'll set flag once its test fine on Aurora
https://hg.mozilla.org/mozilla-central/rev/97254a1b7096
Status: NEW → RESOLVED
Closed: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla49
You need to log in before you can comment on or make changes to this bug.