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

Issue 610855 link

Starred by 0 users

Issue metadata

Status: Fixed
Owner:
Email to this user bounced
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux
Pri: 1
Type: Bug



Sign in to add a comment

Crash in blink::SVGSMILElement::notifyDependentsIntervalChanged

Project Member Reported by ClusterFuzz, May 10 2016

Issue description

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

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_asan_chrome_mp
Platform Id: linux

Crash Type: UNKNOWN READ
Crash Address: 0x000000000000
Crash State:
  blink::SVGSMILElement::notifyDependentsIntervalChanged
  blink::SVGSMILElement::resolveFirstInterval
  blink::SMILTimeContainer::setElapsed
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_chrome_mp&range=172836:173286

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv97eA9IiIX-oT8Mt8zeS3V5xSg1QibzbapgkYIh8bSmz5UTZ5oxOFOfv5KAldmc54gtGpmvDvkjQb9aXJ_AB3HkNGHYHBIO5kbyDX_euJkYsiCJVBnso0RNXOPb-cxq8lBb8FUrF8jlyAct34A30ApEBTHmumA


Additional requirements: Requires Gestures

Filer: ligimole

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: haraken@chromium.org
Components: Blink
Labels: Te-Logged M-52
Owner: sigbj...@opera.com
Status: Assigned (was: Available)
Possible suspect as per codesearch.

https://chromium.googlesource.com/chromium/src/+/6b2e026b1c11833d558c8fd5c9d427f04ec3757b

Comment 2 by tasak@google.com, May 11 2016

Components: -Blink Blink>Animation

Comment 3 by sigbjo...@opera.com, May 11 2016

Owner: sigbjo...@opera.com
Unlikely suspect, but i can take a look.
Project Member

Comment 4 by bugdroid1@chromium.org, May 11 2016

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

commit 6d735f78334721b46d37f97ad8efb12d6e329e75
Author: sigbjornf <sigbjornf@opera.com>
Date: Wed May 11 14:39:31 2016

Simplify SVGSMILElement::notifyDependentsIntervalChanged loop breaker.

To catch out recursive notifications, notifyDependentsIntervalChanged()
keeps track of the SVGSMILElements that are on the stack and being
notified, so as to bail early in case of loops.

There's no need for that set of SVGSMILElements to be recorded using
a persistent static local as the objects are stack reachable should
a conservative GC be needed, so an 'ordinary' hash set will do.

Not using a persistent reference also addresses a bad interaction with
LSan (Blink has to release all static persistents before shutting
down to prevent false leaks w/ LSan enabled), but SVGImages containing
animations may end up in this code path as part of an image resource
being finalized. Which would then encounter an empty persistent
static reference and fail (see associated bug and stack trace.)

R=haraken
BUG= 610855 

Review-Url: https://codereview.chromium.org/1968683003
Cr-Commit-Position: refs/heads/master@{#392919}

[modify] https://crrev.com/6d735f78334721b46d37f97ad8efb12d6e329e75/third_party/WebKit/Source/core/svg/animation/SVGSMILElement.cpp

Comment 5 by sigbjo...@opera.com, May 11 2016

Status: Fixed (was: Assigned)
The crash condition was LSan-specific.
Project Member

Comment 6 by ClusterFuzz, May 17 2016

ClusterFuzz has detected this issue as fixed in range 393799:393810.

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

Fuzzer: inferno_layout_test_unmodified
Job Type: linux_asan_chrome_mp
Platform Id: linux

Crash Type: UNKNOWN READ
Crash Address: 0x000000000000
Crash State:
  blink::SVGSMILElement::notifyDependentsIntervalChanged
  blink::SVGSMILElement::resolveFirstInterval
  blink::SMILTimeContainer::setElapsed
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_chrome_mp&range=172836:173286
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_asan_chrome_mp&range=393799:393810

Unminimized Testcase: https://cluster-fuzz.appspot.com/download/AMIfv97eA9IiIX-oT8Mt8zeS3V5xSg1QibzbapgkYIh8bSmz5UTZ5oxOFOfv5KAldmc54gtGpmvDvkjQb9aXJ_AB3HkNGHYHBIO5kbyDX_euJkYsiCJVBnso0RNXOPb-cxq8lBb8FUrF8jlyAct34A30ApEBTHmumA


Additional requirements: Requires Gestures

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

Sign in to add a comment