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

Issue 667036 link

Starred by 2 users

Issue metadata

Status: Verified
Owner: ----
Closed: Dec 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Data race in blink::ImageFrame::setSizeAndColorSpace

Project Member Reported by ClusterFuzz, Nov 19 2016

Issue description

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5290027937693696

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race READ 1
Crash Address: 0x7fb8bb2429b0
Crash State:
  blink::ImageFrame::setSizeAndColorSpace
  blink::JPEGImageDecoder::outputScanlines
  blink::JPEGImageReader::decode
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=411233:411257

Minimized Testcase (0.09 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv94wrpkE0lECVPyzNPWABiyZlweRKswDeL7R4kyGTwVmZQ5LUh2XkWQ-wIjBqQ4StSALuLGY1ESDHeAfI62rNWK2zj01CWPtsU0RG1pIBS2SDh0Mtzc7_2yR_Xq_ETzoWNT0thAsWdodC8qnutlVzbsRfUrLIg?testcase_id=5290027937693696
<meta http-equiv="refresh" content="0; url=http://madisonscottishcountrydancers.org/"</html>


Issue filed automatically.

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 

Comment 1 by ajha@chromium.org, Nov 21 2016

Components: Blink>Image
Labels: M-55
Cc: msrchandra@chromium.org
Labels: Test-Predator-Wrong-CLs
Owner: msarett@chromium.org
Status: Assigned (was: Untriaged)
No possible suspects from find it and there is no regression range in the details report.
Assigning to the concern owner using Code Search for the file, "JPEGImageDecoder.cpp"

Suspecting Commit#75bac58d037d14d78babf75e674654062a1c85eb
Suspecting Review URL# https://codereview.chromium.org/2482883002

@msarett -- Could you please look into the issue, kindly re-assign if this is not related to your change.
Thank You.
Project Member

Comment 3 by sheriffbot@chromium.org, Nov 22 2016

Labels: -Restrict-View-EditIssue
Removing EditIssue view restrictions from ClusterFuzz filed bugs. If you believe that this issue should still be restricted, please reapply the label.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Cc: -msrchandra@chromium.org msarett@chromium.org ccameron@chromium.org
Owner: msrchandra@chromium.org
Adding Chris because this appears to be related to the color correct rendering flag.  I don't think this is a big deal, since color correct rendering is test only right now.
Hmm, odd. I've seen some of these before, but they all spontaneously resolved.

Comment 6 by noel@chromium.org, Nov 28 2016

Cc: noel@chromium.org
The clusterfuzz trace suggests that a Deferred image decode happening on the cc raster thread is trying to access the webkit thread (by reading the color correct rendering flag stored therein) ... 

And so a racy crash here if the webkit thread no longer exists, eg. at tab shutdown.  Blink deferred image decodes should not try access webkit thread state, right?
Cc: msrchandra@chromium.org joostouwerling@google.com
 Issue 668556  has been merged into this issue.
Project Member

Comment 8 by ClusterFuzz, Dec 1 2016

ClusterFuzz has detected this issue as fixed in range 435416:435480.

Detailed report: https://cluster-fuzz.appspot.com/testcase?key=5290027937693696

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race READ 1
Crash Address: 0x7fb8bb2429b0
Crash State:
  blink::ImageFrame::setSizeAndColorSpace
  blink::JPEGImageDecoder::outputScanlines
  blink::JPEGImageReader::decode
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=411233:411257
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=435416:435480

Minimized Testcase (0.09 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv94wrpkE0lECVPyzNPWABiyZlweRKswDeL7R4kyGTwVmZQ5LUh2XkWQ-wIjBqQ4StSALuLGY1ESDHeAfI62rNWK2zj01CWPtsU0RG1pIBS2SDh0Mtzc7_2yR_Xq_ETzoWNT0thAsWdodC8qnutlVzbsRfUrLIg?testcase_id=5290027937693696
<meta http-equiv="refresh" content="0; url=http://madisonscottishcountrydancers.org/"</html>


See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.

If you suspect that the result above is incorrect, try re-doing that job on the test case report page.
Project Member

Comment 9 by ClusterFuzz, Dec 1 2016

Labels: ClusterFuzz-Verified
Status: Verified (was: Assigned)
ClusterFuzz testcase is verified as fixed, closing issue.

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.
This was probably fixed by crrev.com/435478 -- that patch made it so that we no longer query the color profile from a global variable during decode.

Now we pass it in at ImageDecoder creation time.

Comment 11 by noel@chromium.org, Dec 5 2016

Yeap, agree.
Owner: ----

Sign in to add a comment