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

Issue 602802 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
NOT IN USE
Closed: Apr 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

ASSERTION FAILED: *m_baseComputedStyle == *computedStyle

Project Member Reported by dalecur...@chromium.org, Apr 12 2016

Issue description

Trying to load http://qa.jwplayer.com/~todd/jw74-chromium.html in a release build on Linux w/ dcheck_always_on=true causes the following failure:

ASSERTION FAILED: *m_baseComputedStyle == *computedStyle
../../third_party/WebKit/Source/core/animation/ElementAnimations.cpp(110) : void blink::ElementAnimations::updateBaseComputedStyle(const blink::ComputedStyle *)
1   0x7fbd80e5d3ef blink::StyleResolver::styleForElement(blink::Element*, blink::ComputedStyle const*, blink::StyleSharingBehavior, blink::RuleMatchingBehavior)
2   0x7fbd80a76086 blink::Element::originalStyleForLayoutObject()
3   0x7fbd80a75e4e blink::Element::styleForLayoutObject()
4   0x7fbd80a7689f blink::Element::recalcOwnStyle(blink::StyleRecalcChange)
5   0x7fbd80a76332 blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*)
6   0x7fbd80a13d37 blink::ContainerNode::recalcChildStyle(blink::StyleRecalcChange)
7   0x7fbd80a76518 blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*)
8   0x7fbd80a13d37 blink::ContainerNode::recalcChildStyle(blink::StyleRecalcChange)
9   0x7fbd80a76518 blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*)
10  0x7fbd80a13d37 blink::ContainerNode::recalcChildStyle(blink::StyleRecalcChange)
11  0x7fbd80a76518 blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*)
12  0x7fbd80a13d37 blink::ContainerNode::recalcChildStyle(blink::StyleRecalcChange)
13  0x7fbd80a76518 blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*)
14  0x7fbd80a13d37 blink::ContainerNode::recalcChildStyle(blink::StyleRecalcChange)
15  0x7fbd80a76518 blink::Element::recalcStyle(blink::StyleRecalcChange, blink::Text*)
16  0x7fbd80a378cc blink::Document::updateStyle()
17  0x7fbd80a34242 blink::Document::updateLayoutTree()
18  0x7fbd80a38856 blink::Document::updateLayout()
19  0x7fbd80b54878 blink::EventHandler::updateCursor()
20  0x7fbd88f81509 blink::TimerBase::runInternal()
21  0x7fbd88f8160e
22  0x7fbd84529b0f
23  0x7fbd8e50b76c base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)
24  0x7fbd8451c547 scheduler::TaskQueueManager::ProcessTaskFromWorkQueue(scheduler::internal::WorkQueue*, scheduler::internal::TaskQueueImpl::Task*)
25  0x7fbd8451b19f scheduler::TaskQueueManager::DoWork(base::TimeTicks, bool)
26  0x7fbd8451d804
27  0x7fbd8e50b76c base::debug::TaskAnnotator::RunTask(char const*, base::PendingTask const&)
28  0x7fbd8e533835 base::MessageLoop::RunTask(base::PendingTask const&)
29  0x7fbd8e533b98 base::MessageLoop::DeferOrRunPendingTask(base::PendingTask const&)
30  0x7fbd8e533fcc base::MessageLoop::DoDelayedWork(base::TimeTicks*)
31  0x7fbd8e5356bd base::MessagePumpDefault::Run(base::MessagePump::Delegate*)



 
Oh, you need to hit play on the video too.

Comment 2 by timloh@chromium.org, Apr 13 2016

Cc: r...@opera.com
Labels: Needs-Bisect

Comment 4 by r...@opera.com, Apr 13 2016

Cc: -r...@opera.com
Owner: r...@opera.com
Status: Assigned (was: Untriaged)
Can reproduce with Linux content_shell on master.

Comment 5 by r...@opera.com, Apr 13 2016

Cc: e...@chromium.org
Components: Blink>Fonts
This presumably regressed with https://chromium.googlesource.com/chromium/src/+/348fdd6

Font comparisons are always false when -webkit-font-feature-settings is set after that change due to a pointer comparison.

That also causes subtree recalcs to unnecessarily propagate the Font whenever an element with that property set is recalculated.

Comment 6 by r...@opera.com, Apr 13 2016

Status: Started (was: Assigned)
Reported a separate  issue 602959  for the root cause.
Project Member

Comment 8 by bugdroid1@chromium.org, Apr 13 2016

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

commit 3b6513eaede077dc4171f5a05157a8658279a68a
Author: rune <rune@opera.com>
Date: Wed Apr 13 15:58:35 2016

Compare font-feature-settings as part of Font::operator==().

We only did a pointer comparison which always failed when doing a style
recalc since a style recalc always creates a new FontFeatureSetting
object.

R=eae@chromium.org
BUG= 602802 , 602959 

Review URL: https://codereview.chromium.org/1887613002

Cr-Commit-Position: refs/heads/master@{#387001}

[add] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/LayoutTests/fast/css/font-feature-settings-assert-expected.txt
[add] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/LayoutTests/fast/css/font-feature-settings-assert.html
[add] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/LayoutTests/fast/css/invalidation/font-feature-settings-expected.txt
[add] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/LayoutTests/fast/css/invalidation/font-feature-settings.html
[modify] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/Source/platform/fonts/FontDescription.h
[modify] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/Source/platform/fonts/FontFeatureSettings.cpp
[modify] https://crrev.com/3b6513eaede077dc4171f5a05157a8658279a68a/third_party/WebKit/Source/platform/fonts/FontFeatureSettings.h

Comment 9 by r...@opera.com, Apr 13 2016

Status: Fixed (was: Started)
Thanks for the fast turn around!

Sign in to add a comment