New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 786539 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Last visit > 30 days ago
Closed: Dec 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

Five http/tests/local/fileapi tests are failing on Site Isolation Linux

Project Member Reported by alex...@chromium.org, Nov 17 2017

Issue description

See https://build.chromium.org/p/chromium.fyi/builders/Site%20Isolation%20Linux/builds/22758, where the failures started.

The following tests are failing:

* http/tests/local/fileapi/send-dragged-file-form-iso-2022-jp.html
* http/tests/local/fileapi/send-dragged-file-form-utf-8.html
* http/tests/local/fileapi/send-dragged-file-form-windows-1252.html
* http/tests/local/fileapi/send-dragged-file-form-x-user-defined.html
* http/tests/local/fileapi/send-dragged-file-form.html
* virtual/mojo-loading/http/tests/local/fileapi/send-dragged-file-form-iso-2022-jp.html
* virtual/mojo-loading/http/tests/local/fileapi/send-dragged-file-form-utf-8.html
* virtual/mojo-loading/http/tests/local/fileapi/send-dragged-file-form-windows-1252.html
* virtual/mojo-loading/http/tests/local/fileapi/send-dragged-file-form-x-user-defined.html
* virtual/mojo-loading/http/tests/local/fileapi/send-dragged-file-form.html

They were all added in https://chromium-review.googlesource.com/c/chromium/src/+/755342

Sample failure output for a couple of tests:

http/tests/local/fileapi/send-dragged-file-form.html:
This is a testharness.js-based test.
FAIL Upload file-for-drag-to-send3.txt (ASCII) in UTF-8 form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
Harness: the test ran to completion.

http/tests/local/fileapi/send-dragged-file-form-x-user-defined.html:
This is a testharness.js-based test.
FAIL Upload file-for-drag-to-send3.txt (ASCII) in x-user-defined form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
FAIL Upload file-for-drag-to-send3-ïŸ°ïž“ïžƒïž .txt (x-user-defined) in x-user-defined form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
FAIL Upload file-for-drag-to-send3-☺😂.txt (windows-1252) in x-user-defined form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
FAIL Upload file-for-drag-to-send3-★星★.txt (JIS X 0201 and JIS X 0208) in x-user-defined form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
FAIL Upload file-for-drag-to-send3-☺😂.txt (Unicode) in x-user-defined form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
FAIL Upload file-for-drag-to-send3-ABC~‾¥≈¤・・•∙·☼★星🌟星★☼·∙•・・¤≈¥‾~XYZ.txt (Unicode) in x-user-defined form promise_test: Unhandled rejection with value: object "TypeError: Cannot read property 'body' of null"
Harness: the test ran to completion.

bsittler@: can you please take a look?  You can repro locally by passing --additional-drt-flag=--site-per-process to run-webkit-tests.  If your new tests have cross-origin iframes, they would become out-of-process iframes with --site-per-process, and there might be an issue with that and drag-and-drop (or this could be a test issue).  +paulmeyer@, who worked on drag-and-drop support for OOPIFs, just in case.

I'll go ahead and disable these tests on our bots in the meantime.

 
Components: Internals>Sandbox>SiteIsolation

Comment 2 Deleted

Comment 3 by creis@chromium.org, Nov 17 2017

Might be due to the same problem mentioned in issue 616626.
Thanks! Like some of the other "local" tests these ones currently rely on access to "http:" content from a "file:" test page. Now that I'm aware of this breakage I'm working to convert them to postMessage-to-parent.
... and re #c3 - yes, this is due to site isolation breaking the assumptions of "local" tests (which run in a very special not-quite-web environment to be able to test drag-and-drop file upload and other browser features not normally accessible to a layout test.)
Project Member

Comment 6 by bugdroid1@chromium.org, Nov 17 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/d124182ee9dd067f36cea8c440405f2e5f03cd29

commit d124182ee9dd067f36cea8c440405f2e5f03cd29
Author: Alex Moshchuk <alexmos@chromium.org>
Date: Fri Nov 17 21:48:37 2017

Disable five http/tests/local/fileapi tests for --site-per-process

Bug:  786539 
Change-Id: I016358c8033c71d4475944881d105eb6e85fe46e
NOTRY: true
Reviewed-on: https://chromium-review.googlesource.com/777839
Reviewed-by: Charlie Reis <creis@chromium.org>
Commit-Queue: Alex Moshchuk <alexmos@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517571}
[modify] https://crrev.com/d124182ee9dd067f36cea8c440405f2e5f03cd29/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process

Comment 7 by mek@chromium.org, Nov 17 2017

Seems like the easier fix would be to fix https://bugs.webkit.org/show_bug.cgi?id=25909 and make drag-and-drop work from http?
Project Member

Comment 8 by bugdroid1@chromium.org, Nov 18 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/126a0e6e97f36b67ddcc38569e946c5621aeb643

commit 126a0e6e97f36b67ddcc38569e946c5621aeb643
Author: Benjamin C. Wiley Sittler <bsittler@chromium.org>
Date: Sat Nov 18 03:38:46 2017

Forms: use http: rather than file: to accomodate OOPIF

Bug:  786539 
Bug:  661819 
Change-Id: I26167fe8cf6f5959420d15fbed9e49a118f445b7
Cq-Include-Trybots: master.tryserver.chromium.linux:linux_site_isolation
Reviewed-on: https://chromium-review.googlesource.com/778019
Commit-Queue: Benjamin Wiley Sittler <bsittler@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Reviewed-by: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#517694}
[modify] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/FlagExpectations/site-per-process
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/resources/delete-temp-file.cgi
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/resources/send-dragged-file-form-helper.js
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/resources/write-temp-file.cgi
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/send-dragged-file-form-iso-2022-jp.html
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/send-dragged-file-form-utf-8.html
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/send-dragged-file-form-windows-1252.html
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/send-dragged-file-form-x-user-defined.html
[rename] https://crrev.com/126a0e6e97f36b67ddcc38569e946c5621aeb643/third_party/WebKit/LayoutTests/http/tests/fileapi/send-dragged-file-form.html

Status: Fixed (was: Assigned)
I believe this is now fixed as the tests seem to be passing and the FlagExpectations are removed.
Status: Assigned (was: Fixed)
These are failing again after r521947 landed:
https://ci.chromium.org/buildbot/chromium.fyi/Site%20Isolation%20Linux/23393
https://ci.chromium.org/buildbot/chromium.fyi/Site%20Isolation%20Win/21610

Can you take another look?
My apologies for that - this will be fixed by https://chromium-review.googlesource.com/c/chromium/src/+/807465 


Project Member

Comment 12 by bugdroid1@chromium.org, Dec 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/36fe3be5307e91c7cefa3491835d890c3424613a

commit 36fe3be5307e91c7cefa3491835d890c3424613a
Author: Benjamin C. Wiley Sittler <bsittler@chromium.org>
Date: Wed Dec 06 17:19:10 2017

Forms: Remove CGIs and eventSender from multipart form-based file upload tests

Use mutable DataTransferItemList instead of eventSender, drag-n-drop,
CGIs, or Unicode files on the host filesystem to exercise multipart
form file upload filename encoding.

Add separate non-upload tests for dragging Unicode-named files from
the host filesystem onto <input type=file>.

This also stops relying on script-triggered onchange for input type=file, it
may be a bug - see  crbug.com/792336  for discussion.

Finally, this re-fixes the out-of-process IFRAME breakage reintroduced in
https://crrev.com/521947

Technique from:

https://github.com/whatwg/html/issues/2861#issuecomment-348888148

Bug:  661819 
Bug:  786539 
Change-Id: I7d6c9d03770759d1552a4456d869eb544cb652a0
Reviewed-on: https://chromium-review.googlesource.com/807465
Reviewed-by: Emil A Eklund <eae@chromium.org>
Reviewed-by: Victor Costan <pwnall@chromium.org>
Commit-Queue: Benjamin Wiley Sittler <bsittler@chromium.org>
Cr-Commit-Position: refs/heads/master@{#522122}
[rename] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/fileapi/resources/send-file-form-helper.js
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/fileapi/send-file-form-iso-2022-jp.html
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/fileapi/send-file-form-utf-8.html
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/fileapi/send-file-form-windows-1252.html
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/fileapi/send-file-form-x-user-defined.html
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/fileapi/send-file-form.html
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/local/fileapi/resources/select-dragged-file-input-helper.js
[rename] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/local/fileapi/select-dragged-file-input-utf-8.html
[add] https://crrev.com/36fe3be5307e91c7cefa3491835d890c3424613a/third_party/WebKit/LayoutTests/http/tests/local/fileapi/select-dragged-file-input.html
[delete] https://crrev.com/811333893d25ec4c391e6dd968e4960c08251d4c/third_party/WebKit/LayoutTests/http/tests/local/fileapi/send-dragged-file-form-iso-2022-jp.html
[delete] https://crrev.com/811333893d25ec4c391e6dd968e4960c08251d4c/third_party/WebKit/LayoutTests/http/tests/local/fileapi/send-dragged-file-form-windows-1252.html
[delete] https://crrev.com/811333893d25ec4c391e6dd968e4960c08251d4c/third_party/WebKit/LayoutTests/http/tests/local/fileapi/send-dragged-file-form-x-user-defined.html
[delete] https://crrev.com/811333893d25ec4c391e6dd968e4960c08251d4c/third_party/WebKit/LayoutTests/http/tests/local/fileapi/send-dragged-file-form.html

Status: Fixed (was: Assigned)
Thanks for the quick turnaround!  We're hoping this soon won't be a problem anymore because we're aiming to get waterfall/CQ coverage in  issue 786554 .

Sign in to add a comment