New issue
Advanced search Search tips

Issue 628520 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: Jul 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Linux , Windows
Pri: 1
Type: Bug



Sign in to add a comment

FrameCaret should use a position in FrameSelection instead of holding a postiion itself

Project Member Reported by ClusterFuzz, Jul 15 2016

Issue description

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

Fuzzer: bj_broddelwerk
Job Type: linux_debug_chrome
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  caretPositionIsValidForDocument(*m_frame->document()) in FrameCaret.cpp
  blink::FrameCaret::invalidateCaretRect
  blink::FrameSelection::invalidateCaretRect
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_debug_chrome&range=396634:396810

Minimized Testcase (1.65 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96JamvPGPGp6bVLzqAJYCWqRby2HG44sDtYgR4k4JC35n9hKS8ADARsucFNGnAKANUPUfQCm18QX7vfMg7z3uyVr8Kl_V32Xlcdn1KxbJX1CA0LNow9nkJXSDaE7rPnFSAOl5mGij10rWuhQJrDACesh8AplA?testcase_id=6138124816351232

Filer: nyerramilli

See https://dev.chromium.org/Home/chromium-security/bugs/reproducing-clusterfuzz-bugs for more information.
 
Cc: nyerramilli@chromium.org
Components: Tools>Test>FindIt>NoResult
Labels: findit-wrong Te-Logged
Owner: bokan@chromium.org
Status: Assigned (was: Available)
providing findit results for internal purpose:
Suspected CLs	Findit could not determine the memory tool from the stacktrace. Is it in a new format?

unable to find the culprit, assigning to https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/OWNERS

bokan@, Could you please check the above issue & help us in finding an owner it its not yours.

Comment 2 by tkent@chromium.org, Jul 15 2016

Components: Blink>TextSelection
Owner: ----
Status: Untriaged (was: Assigned)

Comment 3 by yosin@chromium.org, Jul 19 2016

Labels: OS-Windows
Status: Available (was: Untriaged)
Summary: FrameCaret should use a position in FrameSelection instead of holding a postiion itself (was: caretPositionIsValidForDocument(*m_frame->document()) in FrameCaret.cpp)
DOM tree at assertion:
m_caretPosition.m_position.showTreeForThis() = HTML, 1
*HTML	00000493FBAA3090
	STYLE	00000493FBAA3278
	HEAD	00000493FBAA30F8
		#text	00000493FBAA3228 "\n"

FrameCaret::m_caretPosition can have different position at FrameSelection::updateIfNeeded()


Comment 4 by yosin@chromium.org, Jul 19 2016

Owner: yosin@chromium.org
Status: Started (was: Available)
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 21 2016

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

commit ec7e0ef4bfdb8f0cd0c9a45ed9d45755d9a3c684
Author: yosin <yosin@chromium.org>
Date: Thu Jul 21 07:07:44 2016

Make FrameCaret to retrieve caret position from SelectionEditor

This patch makes |FrameCaret| to use caret position from |SelectionEditor|
instead of holding caret position in |FrameCaret| to get rid of code of
maintaining caret position between |FrameCaret| and |SelectionEditor|
synchronize for improving code health.

The root cause of  crbug.com/628520  is missing synchronization code in
|FrameSelection::updateIfNeeded()|. This patch is simpler than adding
synchronization code in |FrameSelection::updateIfNeeded()|.

BUG= 628520 
TEST=run_webkit_unit_tests --gtest_filter=FrameSelectionTest.updateIfNeededAndFrameCaret

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

[modify] https://crrev.com/ec7e0ef4bfdb8f0cd0c9a45ed9d45755d9a3c684/third_party/WebKit/Source/core/editing/FrameCaret.cpp
[modify] https://crrev.com/ec7e0ef4bfdb8f0cd0c9a45ed9d45755d9a3c684/third_party/WebKit/Source/core/editing/FrameCaret.h
[modify] https://crrev.com/ec7e0ef4bfdb8f0cd0c9a45ed9d45755d9a3c684/third_party/WebKit/Source/core/editing/FrameSelection.cpp
[modify] https://crrev.com/ec7e0ef4bfdb8f0cd0c9a45ed9d45755d9a3c684/third_party/WebKit/Source/core/editing/FrameSelectionTest.cpp

Project Member

Comment 6 by ClusterFuzz, Jul 22 2016

ClusterFuzz has detected this issue as fixed in range 406657:406809.

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

Fuzzer: bj_broddelwerk
Job Type: linux_debug_chrome
Platform Id: linux

Crash Type: CHECK failure
Crash Address: 
Crash State:
  caretPositionIsValidForDocument(*m_frame->document()) in FrameCaret.cpp
  blink::FrameCaret::invalidateCaretRect
  blink::FrameSelection::invalidateCaretRect
  
Regressed: https://cluster-fuzz.appspot.com/revisions?job=linux_debug_chrome&range=396634:396810
Fixed: https://cluster-fuzz.appspot.com/revisions?job=linux_debug_chrome&range=406657:406809

Minimized Testcase (1.65 Kb): https://cluster-fuzz.appspot.com/download/AMIfv96JamvPGPGp6bVLzqAJYCWqRby2HG44sDtYgR4k4JC35n9hKS8ADARsucFNGnAKANUPUfQCm18QX7vfMg7z3uyVr8Kl_V32Xlcdn1KxbJX1CA0LNow9nkJXSDaE7rPnFSAOl5mGij10rWuhQJrDACesh8AplA?testcase_id=6138124816351232

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 ClusterFuzz, Jul 22 2016

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

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

Comment 8 by tkent@chromium.org, Oct 12 2016

Components: -Blink>TextSelection Blink>Editing>Selection
Components: -Tools>Test>FindIt>NoResult
Project Member

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