New issue
Advanced search Search tips

Issue 837377 link

Starred by 3 users

Issue metadata

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



Sign in to add a comment

Null-dereference READ in blink::Element::InsertedInto

Project Member Reported by ClusterFuzz, Apr 26 2018

Issue description

Detailed report: https://clusterfuzz.com/testcase?key=6103925741322240

Fuzzer: inferno_twister_c
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000010
Crash State:
  blink::Element::InsertedInto
  blink::SVGElement::InsertedInto
  blink::ContainerNode::NotifyNodeInsertedInternal
  
Sanitizer: thread (TSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=524912:524926

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6103925741322240

Issue filed automatically.

See https://github.com/google/clusterfuzz-tools for more information.
 
Project Member

Comment 1 by ClusterFuzz, Apr 26 2018

Components: Blink>DOM Blink>SVG
Labels: Test-Predator-Auto-Components
Automatically applying components based on crash stacktrace and information from OWNERS files.

If this is incorrect, please apply the Test-Predator-Wrong-Components label.
Project Member

Comment 2 by ClusterFuzz, Apr 26 2018

Labels: Test-Predator-Auto-Owner
Owner: bokan@chromium.org
Status: Assigned (was: Untriaged)
Automatically assigning owner based on suspected regression changelist https://chromium.googlesource.com/chromium/src/+/00710b48b6d06931a868dc6982b0daafd8875560 (Simplify scroll to fragment code).

If this is incorrect, please let us know why and apply the Test-Predator-Wrong-CLs label. If you aren't the correct owner for this issue, please unassign yourself as soon as possible so it can be re-triaged.

Comment 3 by bokan@chromium.org, Apr 27 2018

Cc: bokan@chromium.org
Components: -Blink>SVG
Owner: ----
Status: Untriaged (was: Assigned)
I've tried this locally with my patch reverted and it still crashes - we hit this DCHECK:

[117461:117483:0427/184021.351482:FATAL:container_node.cc(315)] Check failed: !target_node->parentNode(). 

This is an issue in DOM so I'm unassigning myself. I've kicked off a regression range task in the bug, hopefully that'll find a better suspect.
Labels: -Pri-1 Pri-2
Status: Available (was: Untriaged)

Comment 5 by fergal@chromium.org, Jun 22 2018

Here's a simpler repro file. It's still quite contrived but I cannot get a simpler one.


repro.svg
2.2 KB Download
Project Member

Comment 6 by bugdroid1@chromium.org, Jun 25 2018

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

commit 93ca91184f00306ac91660014266d6b664f80cfb
Author: Fergal Daly <fergal@chromium.org>
Date: Mon Jun 25 09:09:54 2018

DOM: Handle cross-document node moves correctly.

The current NeedsRecheck checks whether the node's document version has increased
by more than 1 but it does not notice when the node has moved to a new document.

Since we cannot capture the original version of the final document for
comparison, we have to assume that when the document changes, a recheck is
needed.

Bug:  837377 
Change-Id: If83c4eaeb6b737768cc45c2f3a2241b03d3d2e75
Reviewed-on: https://chromium-review.googlesource.com/1109667
Reviewed-by: Kent Tamura <tkent@chromium.org>
Commit-Queue: Fergal Daly <fergal@chromium.org>
Cr-Commit-Position: refs/heads/master@{#569988}
[add] https://crrev.com/93ca91184f00306ac91660014266d6b664f80cfb/third_party/WebKit/LayoutTests/dom/node/appendChild-document-crash.html
[modify] https://crrev.com/93ca91184f00306ac91660014266d6b664f80cfb/third_party/blink/renderer/core/dom/container_node.cc

Project Member

Comment 7 by ClusterFuzz, Jun 25 2018

ClusterFuzz has detected this issue as fixed in range 569987:569988.

Detailed report: https://clusterfuzz.com/testcase?key=6103925741322240

Fuzzer: inferno_twister_c
Job Type: linux_tsan_chrome_mp
Platform Id: linux

Crash Type: Null-dereference READ
Crash Address: 0x000000000010
Crash State:
  blink::Element::InsertedInto
  blink::SVGElement::InsertedInto
  blink::ContainerNode::NotifyNodeInsertedInternal
  
Sanitizer: thread (TSAN)

Regressed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=523922:523942
Fixed: https://clusterfuzz.com/revisions?job=linux_tsan_chrome_mp&range=569987:569988

Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=6103925741322240

See https://github.com/google/clusterfuzz-tools 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 8 by ClusterFuzz, Jun 25 2018

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

If this is incorrect, please add ClusterFuzz-Wrong label and re-open the issue.

Sign in to add a comment