Stack-overflow in blink::Element::cloneNode |
||||||||||||
Issue descriptionDetailed report: https://clusterfuzz.com/testcase?key=4910205661085696 Fuzzer: inferno_layout_test_unmodified Job Type: linux_asan_content_shell_drt Platform Id: linux Crash Type: Stack-overflow Crash Address: 0x7fff5ec18f28 Crash State: blink::Element::cloneNode blink::ContainerNode::CloneChildNodes Sanitizer: address (ASAN) Reproducer Testcase: https://clusterfuzz.com/download?testcase_id=4910205661085696 Issue filed automatically. See https://github.com/google/clusterfuzz-tools for more information.
,
Aug 17 2017
Stack-overflow, Out of memory and Timeout issues are 'P2'.
,
Aug 22 2017
,
Aug 23 2017
kochi@, could you take a look?
,
Aug 28 2017
Reproduced locally and manually reduced to some extent. cloneNode() seems to recurse infinitely for relatively shallow tree.
,
Aug 30 2017
Issue 760050 has been merged into this issue.
,
Oct 23 2017
Rakina, could you take a look at this?
,
Oct 23 2017
After examining the testcase, it looks like this is not a bug. The testcase is cloning a node (specifically, the root ol node) and appending it to itself, making a chain and doubling the level/depth in every loop. In my dev machine, the stack overflows when the depth reaches 32k. This is expected and not a bug.
,
Oct 23 2017
Please see my comment on issue 777336
,
Oct 24 2017
Will change the recursive code that caused the stack overflow to iterative.
,
Oct 25 2017
You don't need to make this iterative. For deeply nested trees, a stack overflow would happen anywhere in our code base.
,
Nov 1 2017
ClusterFuzz testcase 6026723429974016 is still reproducing on tip-of-tree build (trunk). If this testcase was not reproducible locally or unworkable, ignore this notification and we will file another bug soon with hopefully a better and workable testcase. Otherwise, if this is not intended to be fixed (e.g. this is an intentional crash), please add ClusterFuzz-Ignore label to prevent future bug filing with similar crash stacktrace.
,
Nov 13 2017
,
Nov 13 2017
Adding "ClusterFuzz-Ignore" label as c#12 suggests. |
||||||||||||
►
Sign in to add a comment |
||||||||||||
Comment 1 by ClusterFuzz
, Jul 18 2017