Closed
Bug 1395526
Opened 8 years ago
Closed 8 years ago
Intermittent browser/components/places/tests/browser/browser_copy_query_without_tree.js | Uncaught exception - at PlacesTransactions.jsm:1632 - TypeError: creationInfo is null
Categories
(Firefox :: Bookmarks & History, defect, P2)
Firefox
Bookmarks & History
Tracking
()
RESOLVED
FIXED
Firefox 58
People
(Reporter: intermittent-bug-filer, Assigned: standard8)
Details
(Keywords: intermittent-failure, Whiteboard: [stockwell fixed:race])
Attachments
(1 file)
Filed by: archaeopteryx [at] coole-files.de
https://treeherder.mozilla.org/logviewer.html#?job_id=127317069&repo=mozilla-inbound
https://archive.mozilla.org/pub/firefox/tinderbox-builds/mozilla-inbound-win64/mozilla-inbound_win8_64_test-mochitest-clipboard-e10s-bm109-tests1-windows-build458.txt.gz
01:02:02 INFO - *** Start BrowserChrome Test Results ***
01:02:02 INFO - checking window state
01:02:02 INFO - TEST-START | browser/components/places/tests/browser/browser_copy_query_without_tree.js
01:02:02 INFO - GECKO(3088) | console.error:
01:02:02 INFO - GECKO(3088) | Message: TypeError: creationInfo is null
01:02:02 INFO - GECKO(3088) | Stack:
01:02:02 INFO - GECKO(3088) | execute@resource://gre/modules/PlacesTransactions.jsm:1632:5
01:02:02 INFO - GECKO(3088) | Async*transact/promise<@resource://gre/modules/PlacesTransactions.jsm:546:26
01:02:02 INFO - GECKO(3088) | async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - GECKO(3088) | promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - GECKO(3088) | transact@resource://gre/modules/PlacesTransactions.jsm:543:19
01:02:02 INFO - GECKO(3088) | transact@resource://gre/modules/PlacesTransactions.jsm:231:16
01:02:02 INFO - GECKO(3088) | paste/<@chrome://browser/content/places/controller.js:1294:30
01:02:02 INFO - GECKO(3088) | async*batch/<@resource://gre/modules/PlacesTransactions.jsm:566:20
01:02:02 INFO - GECKO(3088) | async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - GECKO(3088) | promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - GECKO(3088) | batch@resource://gre/modules/PlacesTransactions.jsm:561:12
01:02:02 INFO - GECKO(3088) | batch@resource://gre/modules/PlacesTransactions.jsm:340:14
01:02:02 INFO - GECKO(3088) | paste@chrome://browser/content/places/controller.js:1279:15
01:02:02 INFO - GECKO(3088) | async*copy_toolbar_shortcut@chrome://mochitests/content/browser/browser/components/places/tests/browser/browser_copy_query_without_tree.js:24:9
01:02:02 INFO - GECKO(3088) | Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:803:21
01:02:02 INFO - GECKO(3088) | TaskImpl_run@resource://gre/modules/Task.jsm:331:42
01:02:02 INFO - GECKO(3088) | TaskImpl@resource://gre/modules/Task.jsm:280:3
01:02:02 INFO - GECKO(3088) | asyncFunction@resource://gre/modules/Task.jsm:252:14
01:02:02 INFO - GECKO(3088) | Task_spawn@resource://gre/modules/Task.jsm:166:12
01:02:02 INFO - GECKO(3088) | Tester_execTest@chrome://mochikit/content/browser-test.js:794:9
01:02:02 INFO - GECKO(3088) | Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:694:7
01:02:02 INFO - GECKO(3088) | SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59
01:02:02 INFO - GECKO(3088) | console.error:
01:02:02 INFO - GECKO(3088) | Message: TypeError: creationInfo is null
01:02:02 INFO - GECKO(3088) | Stack:
01:02:02 INFO - GECKO(3088) | execute@resource://gre/modules/PlacesTransactions.jsm:1632:5
01:02:02 INFO - GECKO(3088) | Async*transact/promise<@resource://gre/modules/PlacesTransactions.jsm:546:26
01:02:02 INFO - GECKO(3088) | async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - GECKO(3088) | promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - GECKO(3088) | transact@resource://gre/modules/PlacesTransactions.jsm:543:19
01:02:02 INFO - GECKO(3088) | transact@resource://gre/modules/PlacesTransactions.jsm:231:16
01:02:02 INFO - GECKO(3088) | paste/<@chrome://browser/content/places/controller.js:1294:30
01:02:02 INFO - GECKO(3088) | async*batch/<@resource://gre/modules/PlacesTransactions.jsm:566:20
01:02:02 INFO - GECKO(3088) | async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - GECKO(3088) | promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - GECKO(3088) | batch@resource://gre/modules/PlacesTransactions.jsm:561:12
01:02:02 INFO - GECKO(3088) | batch@resource://gre/modules/PlacesTransactions.jsm:340:14
01:02:02 INFO - GECKO(3088) | paste@chrome://browser/content/places/controller.js:1279:15
01:02:02 INFO - GECKO(3088) | async*copy_toolbar_shortcut@chrome://mochitests/content/browser/browser/components/places/tests/browser/browser_copy_query_without_tree.js:24:9
01:02:02 INFO - GECKO(3088) | Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:803:21
01:02:02 INFO - GECKO(3088) | TaskImpl_run@resource://gre/modules/Task.jsm:331:42
01:02:02 INFO - GECKO(3088) | TaskImpl@resource://gre/modules/Task.jsm:280:3
01:02:02 INFO - GECKO(3088) | asyncFunction@resource://gre/modules/Task.jsm:252:14
01:02:02 INFO - GECKO(3088) | Task_spawn@resource://gre/modules/Task.jsm:166:12
01:02:02 INFO - GECKO(3088) | Tester_execTest@chrome://mochikit/content/browser-test.js:794:9
01:02:02 INFO - GECKO(3088) | Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:694:7
01:02:02 INFO - GECKO(3088) | SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59
01:02:02 INFO - GECKO(3088) | console.error:
01:02:02 INFO - GECKO(3088) | Message: TypeError: creationInfo is null
01:02:02 INFO - GECKO(3088) | Stack:
01:02:02 INFO - GECKO(3088) | execute@resource://gre/modules/PlacesTransactions.jsm:1632:5
01:02:02 INFO - GECKO(3088) | Async*transact/promise<@resource://gre/modules/PlacesTransactions.jsm:546:26
01:02:02 INFO - GECKO(3088) | async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - GECKO(3088) | promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - GECKO(3088) | transact@resource://gre/modules/PlacesTransactions.jsm:543:19
01:02:02 INFO - GECKO(3088) | transact@resource://gre/modules/PlacesTransactions.jsm:231:16
01:02:02 INFO - GECKO(3088) | paste/<@chrome://browser/content/places/controller.js:1294:30
01:02:02 INFO - GECKO(3088) | async*batch/<@resource://gre/modules/PlacesTransactions.jsm:566:20
01:02:02 INFO - GECKO(3088) | async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - GECKO(3088) | promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - GECKO(3088) | batch@resource://gre/modules/PlacesTransactions.jsm:561:12
01:02:02 INFO - GECKO(3088) | batch@resource://gre/modules/PlacesTransactions.jsm:340:14
01:02:02 INFO - GECKO(3088) | paste@chrome://browser/content/places/controller.js:1279:15
01:02:02 INFO - GECKO(3088) | async*copy_toolbar_shortcut@chrome://mochitests/content/browser/browser/components/places/tests/browser/browser_copy_query_without_tree.js:24:9
01:02:02 INFO - GECKO(3088) | Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:803:21
01:02:02 INFO - GECKO(3088) | TaskImpl_run@resource://gre/modules/Task.jsm:331:42
01:02:02 INFO - GECKO(3088) | TaskImpl@resource://gre/modules/Task.jsm:280:3
01:02:02 INFO - GECKO(3088) | asyncFunction@resource://gre/modules/Task.jsm:252:14
01:02:02 INFO - GECKO(3088) | Task_spawn@resource://gre/modules/Task.jsm:166:12
01:02:02 INFO - GECKO(3088) | Tester_execTest@chrome://mochikit/content/browser-test.js:794:9
01:02:02 INFO - GECKO(3088) | Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:694:7
01:02:02 INFO - GECKO(3088) | SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59
01:02:02 INFO - TEST-INFO | started process screenshot
01:02:02 INFO - TEST-INFO | screenshot: exit 0
01:02:02 INFO - Buffered messages logged at 01:02:02
01:02:02 INFO - Entering test bound copy_toolbar_shortcut
01:02:02 INFO - must wait for load
01:02:02 INFO - must wait for focus
01:02:02 INFO - TEST-PASS | browser/components/places/tests/browser/browser_copy_query_without_tree.js | Clipboard has the given value -
01:02:02 INFO - Buffered messages finished
01:02:02 INFO - TEST-UNEXPECTED-FAIL | browser/components/places/tests/browser/browser_copy_query_without_tree.js | Uncaught exception - at resource://gre/modules/PlacesTransactions.jsm:1632 - TypeError: creationInfo is null
01:02:02 INFO - Stack trace:
01:02:02 INFO - execute@resource://gre/modules/PlacesTransactions.jsm:1632:5
01:02:02 INFO - Async*transact/promise<@resource://gre/modules/PlacesTransactions.jsm:546:26
01:02:02 INFO - async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - transact@resource://gre/modules/PlacesTransactions.jsm:543:19
01:02:02 INFO - transact@resource://gre/modules/PlacesTransactions.jsm:231:16
01:02:02 INFO - paste/<@chrome://browser/content/places/controller.js:1294:30
01:02:02 INFO - async*batch/<@resource://gre/modules/PlacesTransactions.jsm:566:20
01:02:02 INFO - async*enqueue/promise<@resource://gre/modules/PlacesTransactions.jsm:472:58
01:02:02 INFO - promise callback*enqueue@resource://gre/modules/PlacesTransactions.jsm:472:19
01:02:02 INFO - batch@resource://gre/modules/PlacesTransactions.jsm:561:12
01:02:02 INFO - batch@resource://gre/modules/PlacesTransactions.jsm:340:14
01:02:02 INFO - paste@chrome://browser/content/places/controller.js:1279:15
01:02:02 INFO - async*copy_toolbar_shortcut@chrome://mochitests/content/browser/browser/components/places/tests/browser/browser_copy_query_without_tree.js:24:9
01:02:02 INFO - Async*Tester_execTest/<@chrome://mochikit/content/browser-test.js:803:21
01:02:02 INFO - Tester_execTest@chrome://mochikit/content/browser-test.js:794:9
01:02:02 INFO - Tester.prototype.nextTest</<@chrome://mochikit/content/browser-test.js:694:7
01:02:02 INFO - SimpleTest.waitForFocus/waitForFocusInner/focusedOrLoaded/<@chrome://mochikit/content/tests/SimpleTest/SimpleTest.js:795:59
01:02:02 INFO - Leaving test bound copy_toolbar_shortcut
Summary: Intermittent browser/components/places/tests/browser/browser_copy_query_without_tree.js | Uncaught exception - at resource://gre/modules/PlacesTransactions.jsm:1632 - TypeError: creationInfo is null → Intermittent browser/components/places/tests/browser/browser_copy_query_without_tree.js | Uncaught exception - at PlacesTransactions.jsm:1632 - TypeError: creationInfo is null
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
this failure has increased recently with 31 instances in the last 7 days:
https://brasstacks.mozilla.com/orangefactor/index.html?display=Bug&bugid=1395526
these are primarily on opt/pgo builds, not really on debug.
::mak, is this something you can help set a priority on and work on it or find someone to work on it when appropriate?
Flags: needinfo?(mak77)
Whiteboard: [stockwell needswork]
| Assignee | ||
Comment 5•8 years ago
|
||
I'll take it.
Assignee: nobody → standard8
Flags: needinfo?(mak77)
Priority: P5 → P2
| Comment hidden (Intermittent Failures Robot) |
| Assignee | ||
Comment 7•8 years ago
|
||
FTR, I tried a push to try server with added debug, unfortunately I couldn't get it to fail on a simple opt build with 500 retriggers...
Next steps are to try and simplify the debug & land it, or see if I can get a pgo build running.
| Assignee | ||
Comment 8•8 years ago
|
||
Now with the try server link: https://treeherder.mozilla.org/#/jobs?repo=try&revision=87767ee64908ae282b6eba80027e71f830d81f3c
| Assignee | ||
Comment 9•8 years ago
|
||
New try build with some lower-impact debug and hopefully with pgo builds: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5b106fcf6227476ca14306eb4d05a5de6dfec844
| Comment hidden (mozreview-request) |
| Assignee | ||
Comment 11•8 years ago
|
||
| mozreview-review | ||
Comment on attachment 8913726 [details]
Bug 1395526 - Avoid potential race with places initialisation when clipboard tests are starting to avoid intermittents.
https://reviewboard.mozilla.org/r/185122/#review190146
This has had 82 green runs on try with an expanded debug version. I've just triggered some more with this landable version.
::: browser/components/places/tests/browser/head.js:79
(Diff revision 1)
> * @param aFlavor
> * Data flavor to expect.
> */
> function promiseClipboard(aPopulateClipboardFn, aFlavor) {
> - return new Promise(resolve => {
> - waitForClipboard(data => !!data, aPopulateClipboardFn, resolve, aFlavor);
> + return new Promise((resolve, reject) => {
> + waitForClipboard(data => !!data, aPopulateClipboardFn, resolve, reject, aFlavor);
Note: this is a separate bug fix - the fourth argument to waitForClipboard was missing, that meant we could wait on any flavor rather than the one we wanted.
| Comment hidden (Intermittent Failures Robot) |
Comment 13•8 years ago
|
||
| mozreview-review | ||
Comment on attachment 8913726 [details]
Bug 1395526 - Avoid potential race with places initialisation when clipboard tests are starting to avoid intermittents.
https://reviewboard.mozilla.org/r/185122/#review190524
::: browser/components/nsBrowserGlue.js:1633
(Diff revision 1)
> Cu.reportError(ex);
> }).then(() => {
> // NB: deliberately after the catch so that we always do this, even if
> // we threw halfway through initializing in the Task above.
> Services.obs.notifyObservers(null, "places-browser-init-complete");
> + this._placesBrowserInitComplete = true;
nit: in one case you set the var before notifying, in the other case you set it after notifying, you should probably set it always before, just for consistency.
::: browser/components/places/tests/browser/browser_copy_query_without_tree.js:31
(Diff revision 1)
> +
> + try {
> - await library.ContentTree.view.controller.paste();
> + await library.ContentTree.view.controller.paste();
> + } catch (ex) {
> + Assert.ok(false, `paste threw error: ${ex}`);
> + }
I was actually expecting add_task to already fail and print out the exception if an await throws... is it not the case?
::: browser/components/places/tests/browser/head.js:478
(Diff revision 1)
> };
> +
> +function promisePlacesInitComplete() {
> + return new Promise(resolve => {
> + const gBrowserGlue = Cc["@mozilla.org/browser/browserglue;1"]
> + .getService(Ci.nsIObserver);
nit: align dot on [
::: browser/components/places/tests/browser/head.js:484
(Diff revision 1)
> +
> + let observer = (aSubject, aTopic2, aData) => {
> + Services.obs.removeObserver(observer, aTopic2);
> + resolve({subject: aSubject, data: aData});
> + };
> + Services.obs.addObserver(observer, "places-browser-init-complete");
TestUtils.topicObserved
(there is potential for a follow up mentored bug to use that in Places instead of promiseTopicObserved)
::: browser/components/places/tests/browser/head.js:486
(Diff revision 1)
> + Services.obs.removeObserver(observer, aTopic2);
> + resolve({subject: aSubject, data: aData});
> + };
> + Services.obs.addObserver(observer, "places-browser-init-complete");
> +
> + gBrowserGlue.observe({wrappedJSObject: fxAccounts}, "browser-glue-test",
maybe not fxAccounts :)
Attachment #8913726 -
Flags: review?(mak77) → review+
| Assignee | ||
Comment 14•8 years ago
|
||
| mozreview-review-reply | ||
Comment on attachment 8913726 [details]
Bug 1395526 - Avoid potential race with places initialisation when clipboard tests are starting to avoid intermittents.
https://reviewboard.mozilla.org/r/185122/#review190524
> I was actually expecting add_task to already fail and print out the exception if an await throws... is it not the case?
I think I did that as part of debugging or something, and forgot to take out the try/catch. In any case, I think you're right, so I'll take it out.
| Comment hidden (mozreview-request) |
Comment 16•8 years ago
|
||
Pushed by mbanner@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/15ae046e02c5
Avoid potential race with places initialisation when clipboard tests are starting to avoid intermittents. r=mak
Comment 17•8 years ago
|
||
| bugherder | ||
Status: NEW → RESOLVED
Closed: 8 years ago
status-firefox58:
--- → fixed
Resolution: --- → FIXED
Target Milestone: --- → Firefox 58
Comment 18•8 years ago
|
||
I don't see these failures on Beta. I assume this is tied to async Places transactions.
status-firefox57:
--- → disabled
Whiteboard: [stockwell needswork] → [stockwell fixed:race]
| Comment hidden (Intermittent Failures Robot) |
| Comment hidden (Intermittent Failures Robot) |
You need to log in
before you can comment on or make changes to this bug.
Description
•