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

Issue 668751 link

Starred by 2 users

Issue metadata

Status: Verified
Owner:
Last visit > 30 days ago
Closed: Nov 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 2
Type: Bug



Sign in to add a comment

Data race in v8::internal::Heap::CreateFillerObjectAt

Project Member Reported by ClusterFuzz, Nov 25 2016

Issue description

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

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race ATOMIC WRITE 8
Crash Address: 0x7f24c21451e8
Crash State:
  v8::internal::Heap::CreateFillerObjectAt
  v8::internal::FreeList::Free
  v8::internal::MarkCompactCollector::Sweeper::RawSweep
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=433807:433985

Minimized Testcase (0.43 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv954PbpGUIcsrlyE1zRAa5GA4Fg6Pn1ONLtPn9kbeuDmhqNolebvWveNpVixFhLO2zGHK_DXsaoKz3_7qDlZF5GXVg03UWiko6Xc9Vzg2doyK1byAdxjzwxxLecQUXHbYqs4r-EsiOAgv15XmVNY9cDYCcZQXw?testcase_id=5706695407042560
 -->
<iframe onload="test()"></iframe>
<script>
var iterationsLeft = 50;
function test()
{
    if (--iterationsLeft) {
        frames[0].history.go();
    } else {
        document.body.textContent = frames[0].document.body.textContent;
    }
}
</script>
<script>
document.documentElement.addEventListener("DOMNodeInserted", test);
document.body.parentNode.insertBefore(document.createElement("canvas"), document.body.nextSibling);
</script>


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 28 2016

Components: Blink>JavaScript
Labels: M-57
Components: -Blink>JavaScript Blink>JavaScript>GC
Owner: hpayer@chromium.org
Status: Assigned (was: Untriaged)
Looks like a race between the sweeper thread and the main thread. Unfortunately the stack trace from the main thread seems to be missing. Not sure how actionable this is. Hannes, could you please triage further or simply close if not actionable? Thanks!
Project Member

Comment 3 by ClusterFuzz, Nov 29 2016

ClusterFuzz has detected this issue as fixed in range 434636:434658.

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

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Data race ATOMIC WRITE 8
Crash Address: 0x7f24c21451e8
Crash State:
  v8::internal::Heap::CreateFillerObjectAt
  v8::internal::FreeList::Free
  v8::internal::MarkCompactCollector::Sweeper::RawSweep
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=433807:433985
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_tsan_chrome_mp&range=434636:434658

Minimized Testcase (0.43 Kb):
Download: https://cluster-fuzz.appspot.com/download/AMIfv954PbpGUIcsrlyE1zRAa5GA4Fg6Pn1ONLtPn9kbeuDmhqNolebvWveNpVixFhLO2zGHK_DXsaoKz3_7qDlZF5GXVg03UWiko6Xc9Vzg2doyK1byAdxjzwxxLecQUXHbYqs4r-EsiOAgv15XmVNY9cDYCcZQXw?testcase_id=5706695407042560
 -->
<iframe onload="test()"></iframe>
<script>
var iterationsLeft = 50;
function test()
{
    if (--iterationsLeft) {
        frames[0].history.go();
    } else {
        document.body.textContent = frames[0].document.body.textContent;
    }
}
</script>
<script>
document.documentElement.addEventListener("DOMNodeInserted", test);
document.body.parentNode.insertBefore(document.createElement("canvas"), document.body.nextSibling);
</script>


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 4 by ClusterFuzz, Nov 29 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.

Sign in to add a comment