Chrome Version: 63.0.3214.0
OS: Android
What steps will reproduce the problem?
(1) Find/configure an Android device with the Swype keyboard installed (trial is OK). Note: Swype seems to crash on Android O for unrelated reasons, I suggest using Android N.
(2) Download the attached HTML file to the device (e.g. "adb push ~/sample.html /sdcard/sample.html")
(3) Load the HTML file in a recent DCHECK-enabled Chrome build (navigate to file:///sdcard/sample.html)
(4) Long press somewhere on the page and hit "Select All"
(5) Using the Swype on-screen keyboard (NOT Gboard or a Bluetooth keyboard, the problem will not occur), type a letter (NOT a number or punctuation, the problem will not occur).
In a DCHECK-enabled build, the renderer will crash with the following stack trace:
[FATAL:LayoutObject.h(2620)] Check failed: !IsSetNeedsLayoutForbidden().
Stack Trace:
RELADDR FUNCTION FILE:LINE
000a65bb ~LogMessage /usr/local/google/code/clankium/src/base/logging.cc:560
006d8d3f blink::LayoutObject::SetNeedsLayout(char const*, blink::MarkingBehavior, blink::SubtreeLayoutScope*) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutObject.h:2620
007f7dd3 blink::LayoutObject::SetNeedsLayoutAndFullPaintInvalidation(char const*, blink::MarkingBehavior, blink::SubtreeLayoutScope*) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutObject.h:2639
00a2fbc7 blink::TextAutosizer::ApplyMultiplier(blink::LayoutObject*, float, blink::SubtreeLayoutScope*, blink::TextAutosizer::RelayoutBehavior) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TextAutosizer.cpp:1139
00a2f757 blink::TextAutosizer::Inflate(blink::LayoutObject*, blink::SubtreeLayoutScope*, blink::TextAutosizer::InflateBehavior, float) /data/app/org.chromium.chrome-1/lib/arm/libblink_core.cr.so
00a2f5b3 blink::TextAutosizer::BeginLayout(blink::LayoutBlock*, blink::SubtreeLayoutScope*) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TextAutosizer.cpp:353
00a30bf1 LayoutScope /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TextAutosizer.cpp:1300
00a30c1d TableLayoutScope /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TextAutosizer.cpp:1311
00a2bfc3 blink::TableLayoutAlgorithmAuto::ComputeIntrinsicLogicalWidths(blink::LayoutUnit&, blink::LayoutUnit&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TableLayoutAlgorithmAuto.cpp:259
00a0f003 blink::LayoutTable::ComputePreferredLogicalWidths() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutTable.cpp:988
009d375f blink::LayoutBox::MinPreferredLogicalWidth() const /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBox.cpp:1348
009bea29 blink::LayoutBlock::ComputeChildPreferredLogicalWidths(blink::LayoutObject&, blink::LayoutUnit&, blink::LayoutUnit&) const /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:1571
009be347 blink::LayoutBlock::ComputeBlockPreferredLogicalWidths(blink::LayoutUnit&, blink::LayoutUnit&) const /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:1491
009be0f5 blink::LayoutBlock::ComputeIntrinsicLogicalWidths(blink::LayoutUnit&, blink::LayoutUnit&) const /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:1350
009be6e1 blink::LayoutBlock::ComputePreferredLogicalWidths() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:1390
00a1162f blink::LayoutTableCell::ComputePreferredLogicalWidths() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutTableCell.cpp:194
009d37bf blink::LayoutBox::MaxPreferredLogicalWidth() const /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBox.cpp:1362
00a2b9a1 blink::TableLayoutAlgorithmAuto::RecalcColumn(unsigned int) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TableLayoutAlgorithmAuto.cpp:67
00a2bf2b blink::TableLayoutAlgorithmAuto::FullRecalc() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TableLayoutAlgorithmAuto.cpp:206
00a2bfc9 blink::TableLayoutAlgorithmAuto::ComputeIntrinsicLogicalWidths(blink::LayoutUnit&, blink::LayoutUnit&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/TableLayoutAlgorithmAuto.cpp:261
00a0f003 blink::LayoutTable::ComputePreferredLogicalWidths() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutTable.cpp:988
009d375f blink::LayoutBox::MinPreferredLogicalWidth() const /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBox.cpp:1348
00a0d8a3 blink::LayoutTable::UpdateLogicalWidth() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutTable.cpp:348
00a0e219 blink::LayoutTable::UpdateLayout() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutTable.cpp:604
009c3b87 blink::LayoutBlockFlow::PositionAndLayoutOnceIfNeeded(blink::LayoutBox&, blink::LayoutUnit, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:759
009c3d5f blink::LayoutBlockFlow::LayoutBlockChild(blink::LayoutBox&, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:822
009c356d blink::LayoutBlockFlow::LayoutBlockChildren(bool, blink::SubtreeLayoutScope&, blink::LayoutUnit, blink::LayoutUnit) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:1527
009c2a73 blink::LayoutBlockFlow::LayoutChildren(bool, blink::SubtreeLayoutScope&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:567
009c2889 blink::LayoutBlockFlow::UpdateBlockLayout(bool) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:438
009bc595 blink::LayoutBlock::UpdateLayout() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:427
009c3b87 blink::LayoutBlockFlow::PositionAndLayoutOnceIfNeeded(blink::LayoutBox&, blink::LayoutUnit, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:759
009c3d5f blink::LayoutBlockFlow::LayoutBlockChild(blink::LayoutBox&, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:822
009c356d blink::LayoutBlockFlow::LayoutBlockChildren(bool, blink::SubtreeLayoutScope&, blink::LayoutUnit, blink::LayoutUnit) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:1527
009c2a73 blink::LayoutBlockFlow::LayoutChildren(bool, blink::SubtreeLayoutScope&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:567
009c2889 blink::LayoutBlockFlow::UpdateBlockLayout(bool) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:438
009bc595 blink::LayoutBlock::UpdateLayout() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:427
009c3b87 blink::LayoutBlockFlow::PositionAndLayoutOnceIfNeeded(blink::LayoutBox&, blink::LayoutUnit, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:759
009c3d5f blink::LayoutBlockFlow::LayoutBlockChild(blink::LayoutBox&, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:822
009c356d blink::LayoutBlockFlow::LayoutBlockChildren(bool, blink::SubtreeLayoutScope&, blink::LayoutUnit, blink::LayoutUnit) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:1527
009c2a73 blink::LayoutBlockFlow::LayoutChildren(bool, blink::SubtreeLayoutScope&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:567
009c2889 blink::LayoutBlockFlow::UpdateBlockLayout(bool) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:438
009bc595 blink::LayoutBlock::UpdateLayout() /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlock.cpp:427
009c3b87 blink::LayoutBlockFlow::PositionAndLayoutOnceIfNeeded(blink::LayoutBox&, blink::LayoutUnit, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:759
009c3d5f blink::LayoutBlockFlow::LayoutBlockChild(blink::LayoutBox&, blink::BlockChildrenLayoutInfo&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:822
009c356d blink::LayoutBlockFlow::LayoutBlockChildren(bool, blink::SubtreeLayoutScope&, blink::LayoutUnit, blink::LayoutUnit) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:1527
009c2a73 blink::LayoutBlockFlow::LayoutChildren(bool, blink::SubtreeLayoutScope&) /usr/local/google/code/clankium/src/third_party/WebKit/Source/core/layout/LayoutBlockFlow.cpp:567
Note: this test case was originally submitted for an editing bug in crbug.com/766680 . It's possible the issues might be related.
|
Deleted:
sample.html
2.0 KB
|
Comment 1 by rlanday@chromium.org
, Sep 19 2017