Gaia email backend tests went red on sending ActiveSync emails where we XHR POST a composite Blob partially consisting of IndexeDB-backed File instances. b2g-desktop bisection suspectd bug 994190 because the build before was fine but the build after was broken. I've modified the existing test_blob_simple.html IndexedDB mochitest to reproduce this failure. With custom-built firefox builds, the mochitest passes on the commit immediately prior to the landing of bug 994190 and fails on its landing in bug 994190 comment 21. In the gaia email test we see a HTTP connection opened to our httpd.js server and then closed without any payload transmitted and this is easily visible with wireshark. In the mochitest the network ramifications are less obvious since existing connections are open to the mochitest server. However, we do get this handy test error output: 36 INFO Send blob to a worker, use it in an XHR POST without error ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 37 INFO TEST-UNEXPECTED-FAIL | /tests/dom/indexedDB/test/test_blob_simple.html | XHR generated the expected 404 - got error, expected 404 38 INFO Store a blob back in the database, and keep holding on to the blob, verifying that it still can be read. ###!!! [Parent][OnMaybeDequeueOne] Error: Channel closing: too late to send/recv, messages will be lost 39 INFO Got blob from database Note that the choice of causing a 404 is simply because we don't care what the payload is and I have no idea what the mochitest server semantics are.
It'd be good to have tests for ActiveSync! But of course we should fix this bug before that.
This is nasty, but XHR/Necko expect to be able to do main-thread I/O. That worked before (ugh) but remote blobs don't allow it. This patch relaxes that restriction a little.
Comment on attachment 8500608 [details] [diff] [review] Allow some main-thread I/O to make necko happy, v1 Review of attachment 8500608 [details] [diff] [review]: ----------------------------------------------------------------- yuck
Attachment #8500608 - Flags: review?(khuey) → review+
Backed out in https://hg.mozilla.org/integration/mozilla-inbound/rev/5399c9620878 for e10s mochitest-3 bustage: https://treeherder.mozilla.org/ui/logviewer.html#?job_id=2804006&repo=mozilla-inbound
That test also fails on b2g, for the record: https://treeherder.mozilla.org/ui/logviewer.html#?job_id=2806426&repo=mozilla-inbound
Applies on top of previous patch.
Attachment #8501212 - Flags: review?(khuey)
Attachment #8501212 - Flags: review?(khuey) → review+
Status: ASSIGNED → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla35
Hi Dylan, this feature apparently broke even though TBPL remained completely green. Can you find resources to get integration tests added for ActiveSync so that we don't break you again?
The new test coverage added on this bug should cover the ActiveSync use-case going forward, but these are the bugs for getting e-mail coverage up on treeherder: - Bug 975588 covers front-end integration tests - Bug 1086906 (new) covers running the back-end integration tests as part of TBPL/treeherder. (The only thing these tests do not cover is inter-app Blob sharing stuff.) These tests already run on Travis, so it's mainly a question of the logistical issues to get these run and reported on our infra.
asuth is on the case, clearing my ni here
You need to log in before you can comment on or make changes to this bug.