Closed
Bug 1402476
Opened 7 years ago
Closed 7 years ago
stylo: Assertion failure: mOwner == ExpectedOwnerForChild(aFrame) (Missed some frame in the hierarchy?)
Categories
(Core :: CSS Parsing and Computation, defect, P3)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla58
Tracking | Status | |
---|---|---|
firefox-esr52 | --- | unaffected |
firefox56 | --- | unaffected |
firefox57 | --- | fixed |
firefox58 | --- | fixed |
People
(Reporter: truber, Assigned: bzbarsky)
References
(Blocks 2 open bugs)
Details
(Keywords: assertion, testcase)
Attachments
(2 files)
(deleted),
text/html
|
Details | |
(deleted),
patch
|
emilio
:
review+
ritu
:
approval-mozilla-beta+
|
Details | Diff | Splinter Review |
The attached testcase causes an assertion in m-c rev 20170922-14db7c0bcf9a
Assertion failure: mOwner == ExpectedOwnerForChild(aFrame) (Missed some frame in the hierarchy?), at /builds/worker/workspace/build/src/layout/base/ServoRestyleManager.cpp:122
#0: mozilla::ServoRestyleState::ChangesHandledFor, at layout/base/ServoRestyleManager.cpp:121
#1: mozilla::ServoRestyleManager::TextPostTraversalState::ComputeHintIfNeeded, at layout/base/ServoRestyleManager.cpp:495
#2: mozilla::ServoRestyleManager::ProcessPostTraversalForText, at layout/base/ServoRestyleManager.cpp:998
#3: mozilla::ServoRestyleManager::ProcessPostTraversal, at layout/base/ServoRestyleManager.cpp:925
#4: mozilla::ServoRestyleManager::ProcessPostTraversal, at layout/base/ServoRestyleManager.cpp:920
#5: mozilla::ServoRestyleManager::DoProcessPendingRestyles, at layout/base/ServoRestyleManager.cpp:1121
#6: mozilla::PresShell::DoFlushPendingNotifications, at layout/base/PresShell.cpp:4170
#7: nsRefreshDriver::Tick, at layout/base/nsRefreshDriver.cpp:1921
#8: mozilla::RefreshDriverTimer::TickRefreshDrivers, at layout/base/nsRefreshDriver.cpp:307
#9: mozilla::RefreshDriverTimer::Tick, at layout/base/nsRefreshDriver.cpp:329
#10: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver, at layout/base/nsRefreshDriver.cpp:770
#11: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync, at layout/base/nsRefreshDriver.cpp:584
#12: mozilla::layout::VsyncChild::RecvNotify, at layout/ipc/VsyncChild.cpp:67
#13: mozilla::layout::PVsyncChild::OnMessageReceived, at 9a6479c28b0f57ad4e6d1aec1c5258678abc48225caeaa2a25f8a6893b83595687422ba915c00ef9e645c78dda14478aa8e2f891ae54d4764ccdba97f65bc47d/ipc/ipdl/PVsyncChild.cpp:155
#14: mozilla::ipc::MessageChannel::DispatchAsyncMessage, at ipc/glue/MessageChannel.cpp:2115
#15: mozilla::ipc::MessageChannel::DispatchMessage, at ipc/glue/MessageChannel.cpp:2045
#16: mozilla::ipc::MessageChannel::RunMessage, at ipc/glue/MessageChannel.cpp:1891
#17: mozilla::ipc::MessageChannel::MessageTask::Run, at ipc/glue/MessageChannel.cpp:1924
#18: nsThread::ProcessNextEvent, at xpcom/threads/nsThread.cpp:1039
#19: NS_ProcessNextEvent, at xpcom/threads/nsThreadUtils.cpp:521
#20: mozilla::ipc::MessagePump::Run, at ipc/glue/MessagePump.cpp:125
#21: MessageLoop::RunInternal, at ipc/chromium/src/base/message_loop.cc:326
#22: MessageLoop::Run, at ipc/chromium/src/base/message_loop.cc:319
#23: nsBaseAppShell::Run, at widget/nsBaseAppShell.cpp:158
#24: XRE_RunAppShell, at toolkit/xre/nsEmbedFunctions.cpp:880
#25: mozilla::ipc::MessagePumpForChildProcess::Run, at ipc/glue/MessagePump.cpp:269
#26: MessageLoop::RunInternal, at ipc/chromium/src/base/message_loop.cc:326
#27: MessageLoop::Run, at ipc/chromium/src/base/message_loop.cc:319
#28: XRE_InitChildProcess, at toolkit/xre/nsEmbedFunctions.cpp:705
#29: content_process_main, at ipc/contentproc/plugin-container.cpp:63
#30: main, at browser/app/nsBrowserApp.cpp:285
#31: libc-2.26.so+0x20f6a
#32: MOZ_ReportAssertionFailure, at mfbt/Assertions.h:165
Flags: in-testsuite?
Comment 1•7 years ago
|
||
Looks similar to bug 1391736?
Assignee | ||
Comment 2•7 years ago
|
||
Very likely. I will patch that one and then check whether it helps here.
Depends on: 1391736
Updated•7 years ago
|
Priority: -- → P3
Updated•7 years ago
|
Assignee: nobody → bzbarsky
Assignee | ||
Comment 3•7 years ago
|
||
The expected owner is the DOM parent. The first-letter then does some reparenting of the text style later.
Attachment #8914480 -
Flags: review?(emilio)
Comment 4•7 years ago
|
||
Comment on attachment 8914480 [details] [diff] [review]
ExpectedOwnerForChild should not return a first-letter frame for a text child
Review of attachment 8914480 [details] [diff] [review]:
-----------------------------------------------------------------
r=me
Attachment #8914480 -
Flags: review?(emilio) → review+
Pushed by bzbarsky@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/06d4a47016eb
ExpectedOwnerForChild should not return a first-letter frame for a text child. r=emilio
Comment 6•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
Updated•7 years ago
|
status-firefox56:
--- → unaffected
status-firefox-esr52:
--- → unaffected
Flags: in-testsuite? → in-testsuite+
Assignee | ||
Comment 7•7 years ago
|
||
Comment on attachment 8914480 [details] [diff] [review]
ExpectedOwnerForChild should not return a first-letter frame for a text child
Approval Request Comment
[Feature/Bug causing the regression]: Stylo
[User impact if declined]: None, this is debug-only code. But this is
interfering with fuzzing.
[Is this code covered by automated tests?]: Yes.
[Has the fix been verified in Nightly?]: Yes.
[Needs manual test from QE? If yes, steps to reproduce]: No.
[List of other uplifts needed for the feature/fix]: None.
[Is the change risky?]: No.
[Why is the change risky/not risky?]: Debug-only code.
[String changes made/needed]: None.
Attachment #8914480 -
Flags: approval-mozilla-beta?
Comment on attachment 8914480 [details] [diff] [review]
ExpectedOwnerForChild should not return a first-letter frame for a text child
Stylo related, Beta57+
Attachment #8914480 -
Flags: approval-mozilla-beta? → approval-mozilla-beta+
Comment 9•7 years ago
|
||
bugherder uplift |
Comment 10•7 years ago
|
||
(In reply to Boris Zbarsky [:bz] (still digging out from vacation mail) from comment #7)
> [Is this code covered by automated tests?]: Yes.
> [Has the fix been verified in Nightly?]: Yes.
> [Needs manual test from QE? If yes, steps to reproduce]: No.
Setting qe-verify- based on Boris's assessment on manual testing needs and the fact that this fix has automated coverage.
Flags: qe-verify-
Updated•7 years ago
|
You need to log in
before you can comment on or make changes to this bug.
Description
•