New issue
Advanced search Search tips

Issue 649525 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 2
Type: Bug



Sign in to add a comment

FATAL:CSSLengthInterpolationType.cpp(125)] Check failed: before == after.

Project Member Reported by mattm@chromium.org, Sep 22 2016

Issue description

Version: 
Chromium	55.0.2869.0 (Developer Build) (64-bit)
Revision	71238feb8a373499b95a8b78572c81a456a37106-refs/heads/master@{#420475}

OS: Mac OS X 10.11.6

What steps will reproduce the problem?
(1) Run debug build of chromium.
(2) Make browser window large-ish (say, vertically maximized and 1/2 width of 30" monitor.)
(3) Load https://www.fluentcity.com/

I wasn't able to repro this on linux. It also didn't seem to repro if the window was too small.


What is the expected output?
Doesn't dcheck.

What do you see instead?
Aw Snap.

18247:1295:0922/160434:FATAL:CSSLengthInterpolationType.cpp(125)] Check failed: before == after. 
0   libbase.dylib                       0x000000011e40ab1e _ZN4base5debug10StackTraceC2Ev + 30
1   libbase.dylib                       0x000000011e40ab85 _ZN4base5debug10StackTraceC1Ev + 21
2   libbase.dylib                       0x000000011e4a1320 _ZN7logging10LogMessageD2Ev + 80
3   libbase.dylib                       0x000000011e49eed5 _ZN7logging10LogMessageD1Ev + 21
4   libblink_core.dylib                 0x00000001321a85db _ZNK5blink26CSSLengthInterpolationType5applyERKNS_17InterpolableValueEPKNS_20NonInterpolableValueERNS_24InterpolationEnvironmentE + 987
5   libblink_core.dylib                 0x0000000132208334 _ZN5blink26InvalidatableInterpolation10applyStackERKN3WTF6VectorINS1_6RefPtrINS_13InterpolationEEELm1ENS1_18PartitionAllocatorEEERNS_24InterpolationEnvironmentE + 820
6   libblink_core.dylib                 0x0000000132578a87 _ZN5blink13StyleResolver23applyAnimatedPropertiesILNS_19CSSPropertyPriorityE2EEEvRNS_18StyleResolverStateERKN3WTF7HashMapINS_14PropertyHandleENS5_6VectorINS5_6RefPtrINS_13InterpolationEEELm1ENS5_18PartitionAllocatorEEENS5_11DefaultHashIS7_E4HashENS5_10HashTraitsIS7_EENSH_ISD_EESC_EE + 343
7   libblink_core.dylib                 0x00000001325762ee _ZN5blink13StyleResolver23applyAnimatedPropertiesERNS_18StyleResolverStateEPKNS_7ElementE + 702
8   libblink_core.dylib                 0x000000013257484a _ZN5blink13StyleResolver15styleForElementEPNS_7ElementEPKNS_13ComputedStyleENS_20StyleSharingBehaviorENS_20RuleMatchingBehaviorE + 3034
9   libblink_core.dylib                 0x00000001326b1481 _ZN5blink7Element28originalStyleForLayoutObjectEv + 337
10  libblink_core.dylib                 0x00000001326b1063 _ZN5blink7Element20styleForLayoutObjectEv + 499
11  libblink_core.dylib                 0x00000001326b20ab _ZN5blink7Element14recalcOwnStyleENS_17StyleRecalcChangeE + 987
12  libblink_core.dylib                 0x00000001326b19e9 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1145
13  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
14  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
15  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
16  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
17  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
18  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
19  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
20  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
21  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
22  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
23  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
24  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
25  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
26  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
27  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
28  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
29  libblink_core.dylib                 0x00000001325c56af _ZN5blink13ContainerNode22recalcDescendantStylesENS_17StyleRecalcChangeE + 911
30  libblink_core.dylib                 0x00000001326b1b21 _ZN5blink7Element11recalcStyleENS_17StyleRecalcChangeEPNS_4TextE + 1457
31  libblink_core.dylib                 0x00000001326136d3 _ZN5blink8Document11updateStyleEv + 1139
32  libblink_core.dylib                 0x000000013260e65f _ZN5blink8Document24updateStyleAndLayoutTreeEv + 1263
33  libblink_core.dylib                 0x000000013261592f _ZN5blink8Document48updateStyleAndLayoutTreeIgnorePendingStylesheetsEv + 271
34  libblink_core.dylib                 0x000000013261529c _ZN5blink8Document44updateStyleAndLayoutIgnorePendingStylesheetsENS0_18RunPostLayoutTasksE + 28
35  libblink_core.dylib                 0x0000000132615254 _ZN5blink8Document51updateStyleAndLayoutIgnorePendingStylesheetsForNodeEPNS_4NodeE + 276
36  libblink_core.dylib                 0x00000001326a9483 _ZN5blink7Element12scrollHeightEv + 51
37  libblink_core.dylib                 0x0000000133b378d1 _ZN5blink17ElementV8InternalL27scrollHeightAttributeGetterERKN2v820FunctionCallbackInfoINS1_5ValueEEE + 129
38  libblink_core.dylib                 0x0000000133b37845 _ZN5blink17ElementV8Internal35scrollHeightAttributeGetterCallbackERKN2v820FunctionCallbackInfoINS1_5ValueEEE + 21
39  ???                                 0x000003ec3081536b 0x0 + 4312960947051
40  ???                                 0x000003ec31130e97 0x0 + 4312970497687
41  ???                                 0x000003ec30816638 0x0 + 4312960951864


Assigning based on blame for the dcheck showing https://codereview.chromium.org/2314453002, please reassign if necessary.
 

Comment 1 by suzyh@chromium.org, Sep 22 2016

Labels: Update-Weekly
Labels: -OS-Mac OS-All
Able to repro on Linux.

Looks like this is due to simple rounding errors. Surprise surprise, floating point equality is causing problems. ):
Project Member

Comment 3 by bugdroid1@chromium.org, Sep 23 2016

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

commit d932f9ab78a0e790b4228b70a48e4fc6cac31e49
Author: alancutter <alancutter@chromium.org>
Date: Fri Sep 23 05:40:41 2016

Use approximation when comparing Length floats in DCHECK

The original DCHECK was asserting on float equality. This was too strict
and was firing for small negligible differences. This change flattens
specified Lengths into a single float and compares them with a constant
slack allowance.

This check is intended to pick up on differences like -5 vs 0 due to
different clamping behaviour, small differences in floating point
arithmetic is fine.

BUG= 649525 

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

[modify] https://crrev.com/d932f9ab78a0e790b4228b70a48e4fc6cac31e49/third_party/WebKit/Source/core/animation/CSSLengthInterpolationType.cpp

Status: Fixed (was: Assigned)

Sign in to add a comment