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

Issue 843975 link

Starred by 3 users

Issue metadata

Status: Fixed
Owner:
Closed: May 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug-Regression



Sign in to add a comment

Regression : XHR not able to create blob for big images when new instance of Chrome Beta is launched.

Project Member Reported by tushar.b...@synerzip.com, May 17 2018

Issue description

Chrome Version: 67.0.3396.40 (Official Build) beta (64-bit)
OS: Ubuntu

What steps will reproduce the problem?
(1) Download attached "xhr.html"
(2) Edit it and provide the path for Image(having size > 7MB) in xhr.open().
(2) Serve this file using any web server. For ex, you can use 
"python -m SimpleHTTPServer" from terminal.
(3) From terminal open xhr.html in chrome beta using command : 
google-chrome-beta "http://localhost:8000/xhr.html"

What is the expected result?
The provided image should get rendered/displayed on browser.

What happens instead?
We get Error "Failed to load resource: net::ERR_INSUFFICIENT_RESOURCES"

Note: This issue occurs only when we open the xhr.html in new browser instance. If the browser is already opened and we follow the steps above to open xhr.html, then the html gets open in new tab with image.

Did this work before? Yes it is working fine on Google Chrome	66.0.3359.181 (Official Build) (64-bit)


 
xhr.html
503 bytes View Download
Cc: thomasanderson@chromium.org
Labels: Needs-Triage-M67
Labels: -Pri-0 Pri-2
Cc: atul.mog...@synerzip.com

Comment 4 by ricea@chromium.org, May 21 2018

Owner: ricea@chromium.org
Status: Started (was: Untriaged)
Confirmed. Running a bisect.

Comment 5 by ricea@chromium.org, May 21 2018

Owner: mek@chromium.org
Status: Assigned (was: Started)
Bisect result:

You are probably looking for a change made after 547247 (known good), but no later than 547248 (first known bad).
CHANGELOG URL:
The script might not always return single CL as suspect as some perf builds might get missing due to failure.
  https://chromium.googlesource.com/chromium/src/+log/e5d79e6c07b0280e81db5c2b5636b4d1d2511a02..090b1a4fea8bd71d2bd5e3503d3397985ad58022

[XHR] Replace usage of download_to_file with new download_to_blob feature.

download_to_file isn't really implementable with the network service (since
there is no central browser-side place where all fetches pass through), and
because we'd like blobs downloaded by XHR to be managed by the blob system
anyway, this replaces download_to_file with a new download_to_blob feature.

With this, blink::ResourceLoader redirects the datapipe it receives from a
URLLoader to the blob system, and passes the resulting blob back to XHR.

Design doc: https://docs.google.com/document/d/1V_rFqFeYc_XpzEc_hGF9Wlat5mH62lREJ1I1dCJ4lX0/edit#heading=h.2ndyupa99wqr

Bug:  754493 ,  712693 ,  791702 

Change-Id: I258150937c424b72824dadbc2832764ed54c1ca5
Reviewed-on: https://chromium-review.googlesource.com/955957
Reviewed-by: Lei Zhang <thestig@chromium.org>
Reviewed-by: Yutaka Hirano <yhirano@chromium.org>
Reviewed-by: Kinuko Yasuda <kinuko@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#547248}

Comment 6 by mek@chromium.org, May 21 2018

Cc: dmu...@chromium.org
Components: Blink>Storage
Ah yes, a known issue I was hoping to get away with (since who would want to create large blobs right after startup...), but still definitely something we should fix. The problem here is that the blob system (in particular its ability to use the disk) is lazily initialized, and XHR-ing to a blob doesn't make sure initialization has happened.
Project Member

Comment 7 by bugdroid1@chromium.org, May 22 2018

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

commit faea0bfbfb62ce9adac8e9d58adc1e6e689778aa
Author: Marijn Kruisselbrink <mek@chromium.org>
Date: Tue May 22 20:38:05 2018

[BlobStorage] Wait for limits calculation when deciding how to stream to blobs.

This makes sure that we don't incorrectly reject large XHR-to-blob
attempts before we've initialized blob storage limits.

Bug:  843975 
Change-Id: I93b45b020fea4a0964af0f26ff7337e4cf85d3d2
Reviewed-on: https://chromium-review.googlesource.com/1068116
Reviewed-by: Daniel Murphy <dmurph@chromium.org>
Commit-Queue: Marijn Kruisselbrink <mek@chromium.org>
Cr-Commit-Position: refs/heads/master@{#560760}
[modify] https://crrev.com/faea0bfbfb62ce9adac8e9d58adc1e6e689778aa/storage/browser/blob/blob_builder_from_stream.cc
[modify] https://crrev.com/faea0bfbfb62ce9adac8e9d58adc1e6e689778aa/storage/browser/blob/blob_builder_from_stream_unittest.cc
[modify] https://crrev.com/faea0bfbfb62ce9adac8e9d58adc1e6e689778aa/storage/browser/blob/blob_memory_controller.cc
[modify] https://crrev.com/faea0bfbfb62ce9adac8e9d58adc1e6e689778aa/storage/browser/blob/blob_memory_controller.h
[modify] https://crrev.com/faea0bfbfb62ce9adac8e9d58adc1e6e689778aa/storage/browser/blob/blob_registry_impl_unittest.cc

Comment 8 by mek@chromium.org, May 22 2018

Status: Fixed (was: Assigned)
That should fix this for M68, don't think it's worth backporting to M67, since it only effects operations right after launching chrome.

Sign in to add a comment