Corrupted image during progressive JPEG loading
Categories
(Core :: Graphics: WebRender, defect, P2)
Tracking
()
People
(Reporter: mail, Assigned: nical)
References
(Regression)
Details
(Keywords: regression, reproducible)
Attachments
(2 files)
914.59 KB,
image/png
|
Details | |
47 bytes,
text/x-phabricator-request
|
RyanVM
:
approval-mozilla-beta+
|
Details | Review |
User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:67.0) Gecko/20100101 Firefox/67.0
Steps to reproduce:
Loading a large (>8192px) progressive JPEG image
Actual results:
While the image is loading, Firefox 67 displays the intermediate progressive scans incorrectly and fails to display the image correctly even when fully loaded.
After a page refresh, when the image is loaded from cache and the intermediate scans are not displayed, the image shows correctly.
Expected results:
The image should display correctly during load.
Test case and screencap:
https://phoboslab.org/files/bugs/progressive-jpeg/
Comment 1•5 years ago
|
||
I can reproduce the issue on Nightly69.0a1(20190616093534) windows10 if WebRender is enabled.
Comment 2•5 years ago
|
||
#1 Regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=3b50a5b394b9467ba99fa0e956b53c49b66f3238&tochange=df30b0f614c904678b72d66616a65b989f9a87e9
Regressed by:
df30b0f614c904678b72d66616a65b989f9a87e9 Nicolas Silva — Bug 1494403 - Separate the Blob related apis. r=jrmuizel
b75eb61d2048a0a0dabeb08ad390a0286358b55e WR Updater Bot — Bug 1509495 - Update reftest annotations for changes in WR PR #3277. r=kats
6d9d2397f1153e5e9062f342015f28ca3576bfee WR Updater Bot — Bug 1509495 - Update webrender to commit af2b372624db589115511b4705849a33e6acd35d (WR PR #3277). r=kats
#2 regression window:
https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=c4eb9f94bc4c52e0489f8e5b7f7fc931ef013816&tochange=d65d6d242070557db836baa1fcc3d26529590efa
Regressed by:
d65d6d242070557db836baa1fcc3d26529590efa WR Updater Bot — Bug 1514735 - Update webrender to commit 4de718f9ea3435c099cabafc02e8b51da539bc62 (WR PR #3428). r=kats
Updated•5 years ago
|
Updated•5 years ago
|
Updated•5 years ago
|
Comment 3•5 years ago
|
||
Bug 1509495 seems like a culprit.
https://github.com/servo/webrender/compare/523be3a9461de2716828cd2271aabaffc5e4caa0...af2b372624db589115511b470584
Dirty rect calculation of ImageResult::Multi in update_image_template() seemed to trigger the regression. When I changed local_dirty_rect to always to use DirtyRect::All, I did not see the problem.
https://searchfox.org/mozilla-central/source/gfx/wr/webrender/src/resource_cache.rs#882
Updated•5 years ago
|
Comment 4•5 years ago
|
||
The problem seemed to happen when Image is tiled because of its big size and it is updated by update_image_template().
Updated•5 years ago
|
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Assignee | ||
Comment 6•5 years ago
|
||
Comment 9•5 years ago
|
||
bugherder |
Comment 10•5 years ago
|
||
Please nominate this for Beta approval when you get a chance.
Assignee | ||
Comment 11•5 years ago
|
||
Comment on attachment 9077638 [details]
Bug 1559688 - Clip tile dirty rects to the tile's total rect. r=aosmond
Beta/Release Uplift Approval Request
- User impact if declined: Incorrect rendering of large progressively loaded images
- Is this code covered by automated tests?: No
- Has the fix been verified in Nightly?: Yes
- Needs manual test from QE?: No
- If yes, steps to reproduce:
- List of other uplifts needed: None
- Risk to taking this patch: Low
- Why is the change risky/not risky? (and alternatives if risky): The change is very straightforward and simple.
- String changes made/needed: None.
Comment 12•5 years ago
|
||
Comment on attachment 9077638 [details]
Bug 1559688 - Clip tile dirty rects to the tile's total rect. r=aosmond
Fix for corruption of large progressive JPEG images with WebRender enabled. Approved for 69.0b6.
Comment 13•5 years ago
|
||
bugherder uplift |
Updated•5 years ago
|
Updated•5 years ago
|
Comment 14•5 years ago
|
||
Hi, I retested this issue on Windows 10 with Nvidia GT 730 with Firefox Beta 69.0b6 and 70.0a1 (2019-07-18) and the issue no longer occurs. I will mark this issue accordingly.
Description
•