FileReader freezes Browser in 55.0.2

RESOLVED FIXED in Firefox 57

Status

()

Core
DOM
RESOLVED FIXED
10 months ago
10 months ago

People

(Reporter: Christian, Assigned: baku)

Tracking

({hang})

55 Branch
mozilla57
Points:
---

Firefox Tracking Flags

(firefox57 fixed)

Details

Attachments

(2 attachments)

(Reporter)

Description

10 months ago
Created attachment 8900619 [details]
poc.htm

User Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:55.0) Gecko/20100101 Firefox/55.0
Build ID: 20170814072924

Steps to reproduce:

1. Create an empty Blob
2. Fill it with 4 KB junks until the overall size is 4 MB
3. Create a FileReader
4. Attempt to read Blob content with FileReader.readAsArrayBuffer()


Actual results:

Tab content freezes (OSX and Windows 10, x64)


Expected results:

Some FileReader.on* should be called.

Updated

10 months ago
Component: Untriaged → DOM
Keywords: hang
Product: Firefox → Core

Updated

10 months ago
Flags: needinfo?(amarchesini)
(Assignee)

Updated

10 months ago
Assignee: nobody → amarchesini
Flags: needinfo?(amarchesini)
(Assignee)

Comment 1

10 months ago
Created attachment 8901075 [details] [diff] [review]
multiplex.patch

In this POC we end up doing a lot of QI for each reading of the blob.
This is because this POC creates a 1024 nested blobs and each operation checks if the inputStream of the main blob is seekable, asyncInputStream or IPC serializable. Each time, each operation has to QI each sub blob inputStream.

This patch introduces boolean values for mIsSeekable, mIsCloneable and so on and these values are set when a new inputStream is added to the nsMultiplexInputStream interface.
Attachment #8901075 - Flags: review?(bugs)

Updated

10 months ago
Attachment #8901075 - Flags: review?(bugs) → review+

Comment 2

10 months ago
Pushed by amarchesini@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4970f731aeba
nsMultiplexInputStream should not QI each stream when checking if seekable, cloneable or IPC serializable, r=smaug

Comment 3

10 months ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/4970f731aeba
Status: UNCONFIRMED → RESOLVED
Last Resolved: 10 months ago
status-firefox57: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla57

Updated

10 months ago
Depends on: 1397331
You need to log in before you can comment on or make changes to this bug.