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

Issue 688781 link

Starred by 3 users

Issue metadata

Status: WontFix
Owner:
Last visit > 30 days ago
Closed: Mar 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 1
Type: Bug-Regression



Sign in to add a comment

Crash in blink::Node::canParticipateInFlatTree

Project Member Reported by ClusterFuzz, Feb 5 2017

Issue description

Cc: nyerramilli@chromium.org
Labels: -Type-Bug Test-Predator-Wrong-CLs M-58 Type-Bug-Regression
Owner: toyoshim@chromium.org
Status: Assigned (was: Untriaged)
Findit cannot find any culprit results.

using codesearch seeing some changes to 'DocumentLoader.cpp' in
https://chromium.googlesource.com/chromium/src/+/ecbfcdcef3fa7692d28b32aeb0c89e9a5e5c4ebc

toyoshim@ could you please check the issue and help.
Cc: toyoshim@chromium.org
Components: Blink>Editing>Spellcheck Blink>Editing
Owner: yosin@chromium.org
Sorry, I didn't notice this assignment.
I'd reroute this issue to yosin@ from editing team since the stack trace contains blink::SpellChecker::didEndEditingOnTextField.

Comment 3 by yosin@chromium.org, Mar 6 2017

Status: Available (was: Assigned)

Comment 4 by yosin@chromium.org, Mar 6 2017

Owner: ----

Comment 5 by kochi@chromium.org, Mar 16 2017

Owner: kochi@chromium.org
Status: Started (was: Available)

Comment 6 by kochi@chromium.org, Mar 16 2017

Status: WontFix (was: Started)
I manually reduced the minimized repro case (attached as min.html).

Basically, what it does is recursively change all attributes value for
each element under a certain root, and incidentally this test picked up
<input>'s user-agent shadow as the root.

The user-agent shadow looks like "<div id="inner-editor"></div>".  After the
script runs, the id is modified.

The crash happens on the shutdown path:

#3 0x7f2ce5fcecb9 blink::Document::updateStyleAndLayoutTreeForNode()
#4 0x7f2ce63362ed blink::SpellChecker::removeSpellingAndGrammarMarkers()
#5 0x7f2ce6336298 blink::SpellChecker::didEndEditingOnTextField()
#6 0x7f2ce652d422 blink::HTMLInputElement::endEditing()
#7 0x7f2ce5fd2697 blink::Document::dispatchUnloadEvents()
#8 0x7f2ce6bfd05c blink::FrameLoader::dispatchUnloadEvent()

<input> element tries to clean up things, and in spellchecker cleanup,

https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/editing/spellcheck/SpellChecker.cpp?l=772

HTMLElement* innerEditor = textControlElement->innerEditorElement();
removeSpellingAndGrammarMarkers(*innerEditor);

The code tries to pick up the inner editor element, but as its id was replaced,
|innerEditor| gets nullptr.

The code path never happens with real web sites (as opposed to the minimized
script, which uses 'window.internals.shadowRoot()' to inspect user-agent shadow),
this is not a bug to fix.
min.html
543 bytes View Download
Project Member

Comment 7 by ClusterFuzz, Apr 20 2017

ClusterFuzz has detected this issue as fixed in range 465765:465806.

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

Fuzzer: inferno_layout_test_unmodified
Job Type: windows_syzyasan_content_shell
Platform Id: windows

Crash Type: UNKNOWN
Crash Address: 0x0000000b
Crash State:
  blink::Node::canParticipateInFlatTree
  blink::Document::updateStyleAndLayoutTreeForNode
  blink::SpellChecker::didEndEditingOnTextField
  
Memory Tool: SYZYASAN

Regressed: https://clusterfuzz.com/revisions?job=windows_syzyasan_content_shell&range=448154:448156
Fixed: https://clusterfuzz.com/revisions?job=windows_syzyasan_content_shell&range=465765:465806

Reproducer Testcase: https://clusterfuzz.com/download/AMIfv969tseBSjzLzYW2zW2zBRChQD1AiZBHgeodPSoNwxlh1pwfL6nLfIHibVg2ExBCAH-s3fz7nNwccc79EhF4N0dMkUcj3TVTtnQO4XePjoJuKaYgI4dExIakRhMlf5xElsOgU0znzGKqoD9lLSOOdWYbH9pRZQ5qdsOqO1EGO488INKujTYrC85PkS8w9whVNeEP98JxUfn_RunKJz3QM1L-2Afpa8Nqu0C5_jCogn0v1YNahrJtb-jAeo83sNUk4HUMBxkI4RPp4XvI3o7dZJTdlMwmj03QoL62HWEEo-NUM-G57yHeF5VEh02siMqKXESJXE87RAZGb1wpEe3IqXU5DVw3bmYSew-yFnGW7mWF2eoc8oUgd_sLwQ93VhRWMq6ExiiwU6JWpDai7NQly9EmRNGASg?testcase_id=5123562492133376


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.

Sign in to add a comment