Closed Bug 913171 Opened 7 years ago Closed 7 years ago

Intermittent browser_thumbnails_background.js | Captured URL should be currently expected URL (i.e., capture() callbacks should be called in the correct order) | Thumbnail should be cached after capture

Categories

(Toolkit :: General, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED FIXED
mozilla26
Tracking Status
firefox25 --- fixed
firefox26 --- fixed
firefox-esr24 --- unaffected

People

(Reporter: RyanVM, Assigned: adw)

References

Details

(Keywords: intermittent-failure)

Attachments

(1 file)

https://tbpl.mozilla.org/php/getParsedLog.php?id=27437011&tree=Mozilla-Inbound

Rev3 Fedora 12x64 mozilla-inbound debug test mochitest-browser-chrome on 2013-09-05 08:07:47 PDT for push 5ed972e07d6a
slave: talos-r3-fed64-070

09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Captured URL should be URL passed to capture
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should be cached after capture: /tmp/tmpNTfJmi/thumbnails/f1777111f5d0f1c81ffa04de751128fa.png
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should not be cached yet.
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should not be cached yet.
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should not be cached yet.
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should not be cached yet.
09:31:43     INFO -  ++DOMWINDOW == 5 (0x1cd5398) [serial = 5] [outer = 0x18e52b8]
09:31:43     INFO -  ++DOMWINDOW == 6 (0x1cca9d8) [serial = 6] [outer = 0x18e52b8]
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | onDone called, so URLs should still remain
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Captured URL should be currently expected URL (i.e., capture() callbacks should be called in the correct order)
09:31:43     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should be cached after capture: /tmp/tmpNTfJmi/thumbnails/5740159e94e307a748f7fc31995ce6a3.png
09:31:43     INFO -  ++DOMWINDOW == 7 (0x1dac968) [serial = 7] [outer = 0x18e52b8]
09:31:43     INFO -  ++DOMWINDOW == 8 (0x1cc38b8) [serial = 8] [outer = 0x18e52b8]
09:31:45     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | onDone called, so URLs should still remain
09:31:45  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Captured URL should be currently expected URL (i.e., capture() callbacks should be called in the correct order) - Got http://mochi.test:8888/browser/toolkit/components/thumbnails/test/thumbnails_background.sjs?%7B%22wait%22%3A2002%7D, expected http://www.example.com/1
09:31:45     INFO -  Stack trace:
09:31:45     INFO -      JS frame :: chrome://mochikit/content/browser-test.js :: test_is :: line 591
09:31:45     INFO -      JS frame :: chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js :: onDone :: line 63
09:31:45     INFO -      JS frame :: resource://gre/modules/BackgroundPageThumbs.jsm :: callOnDonesFn :: line 345
09:31:45     INFO -      JS frame :: resource://gre/modules/BackgroundPageThumbs.jsm :: <TOP_LEVEL> :: line 356
09:31:45     INFO -      JS frame :: resource://gre/modules/BackgroundPageThumbs.jsm :: <TOP_LEVEL> :: line 317
09:31:45     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
09:31:45     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail shouldn't exist for timed out capture: /tmp/tmpNTfJmi/thumbnails/432964589d83dbdfc7e8e27c1734638e.png
09:31:45     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | onDone called, so URLs should still remain
09:31:45  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Captured URL should be currently expected URL (i.e., capture() callbacks should be called in the correct order) - Got http://www.example.com/1, expected http://mochi.test:8888/browser/toolkit/components/thumbnails/test/thumbnails_background.sjs?%7B%22wait%22%3A2002%7D
09:31:45     INFO -  Stack trace:
09:31:45     INFO -      JS frame :: chrome://mochikit/content/browser-test.js :: test_is :: line 591
09:31:45     INFO -      JS frame :: chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js :: onDone :: line 63
09:31:45     INFO -      JS frame :: resource://gre/modules/BackgroundPageThumbs.jsm :: callOnDonesFn :: line 345
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 118
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 43
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 185
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 118
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 43
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 185
09:31:45     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 226
09:31:45     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 568
09:31:45     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 350
09:31:45     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
09:31:45  WARNING -  TEST-UNEXPECTED-FAIL | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | Thumbnail should be cached after capture: /tmp/tmpNTfJmi/thumbnails/91ebecd4eecce0a2f69b2803ce631bde.png
09:31:45     INFO -  Stack trace:
09:31:45     INFO -      JS frame :: chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js :: onDone :: line 71
09:31:45     INFO -      JS frame :: resource://gre/modules/BackgroundPageThumbs.jsm :: callOnDonesFn :: line 345
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 118
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 43
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 185
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 118
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: then :: line 43
09:31:45     INFO -      JS frame :: resource://gre/modules/commonjs/sdk/core/promise.js :: resolve :: line 185
09:31:45     INFO -      JS frame :: resource://gre/modules/Task.jsm :: TaskImpl_run :: line 226
09:31:45     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 568
09:31:45     INFO -      JS frame :: resource://gre/modules/Promise.jsm :: <TOP_LEVEL> :: line 350
09:31:45     INFO -      native frame :: <unknown filename> :: <TOP_LEVEL> :: line 0
09:31:45     INFO -  ++DOMWINDOW == 9 (0x1e25d48) [serial = 9] [outer = 0x18e52b8]
09:31:45     INFO -  ++DOMWINDOW == 10 (0x1da0e78) [serial = 10] [outer = 0x18e52b8]
09:31:45     INFO -  TEST-PASS | chrome://mochitests/content/browser/toolkit/components/thumbnails/test/browser_thumbnails_background.js | onDone called, so URLs should still remain
Attached patch patchSplinter Review
It's funny we were talking about not calling captureCallback until PT._store completes in bug 906713, because I think that's the problem here.

0. http://www.example.com/0 has finished, the capture queue looks like:
   [http://www.example.com/1, wait, "http://www.example.com/2"]
1. http://www.example.com/1 finishes:
   a. Capture.prototype.receiveMessage is called for it, then _done
   b. _done calls this.captureCallback, which is BPT._onCaptureOrTimeout
2. BPT._onCaptureOrTimeout removes http://www.example.com/1 from queue, queue
   is now:
   [wait, "http://www.example.com/2"]
3. calls BPT._processCaptureQueue
4. calls start() on wait, which starts timeout timer
5. now http://www.example.com/1's _done finally gets around to calling
   PT._store, which is async and apparently takes longer than wait's timeout
6. wait's timer fires, and test's onDone is called
Attachment #802007 - Flags: review?(mhammond)
Comment on attachment 802007 [details] [diff] [review]
patch

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

sounds legit!
Attachment #802007 - Flags: review?(mhammond) → review+
https://hg.mozilla.org/integration/fx-team/rev/8a3f175f8d75
Assignee: nobody → adw
Status: NEW → ASSIGNED
https://hg.mozilla.org/mozilla-central/rev/8a3f175f8d75
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla26
(In reply to TBPL Robot from comment #47)
> honzab.moz%firemni.cz
> https://tbpl.mozilla.org/php/getParsedLog.php?id=27979013&tree=Gum

This is on projects/gum, that is currently not merged to m-c cs that contains fix for this intermittent.  I'm just marking the gum tree.
Depends on: 924665
Blocks: 931889
You need to log in before you can comment on or make changes to this bug.