Closed
Bug 1390726
Opened 7 years ago
Closed 7 years ago
stylo: "Assertion failure: !postTraversalRequired" on windows for toolkit/components/tooltiptext/tests/browser_bug329212.js
Categories
(Core :: CSS Parsing and Computation, defect, P3)
Core
CSS Parsing and Computation
Tracking
()
RESOLVED
FIXED
mozilla57
Tracking | Status | |
---|---|---|
firefox57 | --- | fixed |
People
(Reporter: xidorn, Assigned: xidorn)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
Not sure exactly what's happening. This test crashes on Windows with the following stack:
> Assertion failure: !postTraversalRequired, at layout/style/ServoStyleSet.cpp:1030
> #01: nsCSSFrameConstructor::StyleChildRangeForReconstruct (layout\base\nscssframeconstructor.cpp:7602)
> #02: nsCSSFrameConstructor::ContentRangeInserted (layout\base\nscssframeconstructor.cpp:8187)
> #03: nsCSSFrameConstructor::RecreateFramesForContent (layout\base\nscssframeconstructor.cpp:10156)
> #04: mozilla::RestyleManager::ProcessRestyledFrames (layout\base\restylemanager.cpp:1534)
> #05: mozilla::ServoRestyleManager::DoProcessPendingRestyles (layout\base\servorestylemanager.cpp:1110)
> #06: mozilla::PresShell::DoFlushPendingNotifications (layout\base\presshell.cpp:4200)
> #07: nsRefreshDriver::Tick (layout\base\nsrefreshdriver.cpp:1901)
> #08: mozilla::RefreshDriverTimer::TickDriver (layout\base\nsrefreshdriver.cpp:338)
> #09: mozilla::RefreshDriverTimer::TickRefreshDrivers (layout\base\nsrefreshdriver.cpp:309)
> #10: mozilla::RefreshDriverTimer::Tick (layout\base\nsrefreshdriver.cpp:331)
> #11: mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers (layout\base\nsrefreshdriver.cpp:771)
> #12: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver (layout\base\nsrefreshdriver.cpp:686)
> #13: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync (layout\base\nsrefreshdriver.cpp:587)
> #14: mozilla::layout::VsyncChild::RecvNotify (layout\ipc\vsyncchild.cpp:70)
> #15: mozilla::layout::PVsyncChild::OnMessageReceived (obj-firefox-stylo\ipc\ipdl\pvsyncchild.cpp:155)
> #16: mozilla::ipc::PBackgroundChild::OnMessageReceived (obj-firefox-stylo\ipc\ipdl\pbackgroundchild.cpp:1716)
> #17: mozilla::ipc::MessageChannel::DispatchAsyncMessage (ipc\glue\messagechannel.cpp:2100)
> #18: mozilla::ipc::MessageChannel::DispatchMessageW (ipc\glue\messagechannel.cpp:2027)
> #19: mozilla::ipc::MessageChannel::RunMessage (ipc\glue\messagechannel.cpp:1883)
> #20: mozilla::ipc::MessageChannel::MessageTask::Run (ipc\glue\messagechannel.cpp:1916)
> #21: nsThread::ProcessNextEvent (xpcom\threads\nsthread.cpp:1570)
> #22: NS_ProcessNextEvent (xpcom\threads\nsthreadutils.cpp:521)
> #23: mozilla::ipc::MessagePump::Run (ipc\glue\messagepump.cpp:97)
> #24: mozilla::ipc::MessagePumpForChildProcess::Run (ipc\glue\messagepump.cpp:302)
> #25: MessageLoop::RunHandler (ipc\chromium\src\base\message_loop.cc:320)
> #26: MessageLoop::Run (ipc\chromium\src\base\message_loop.cc:300)
> #27: nsBaseAppShell::Run (widget\nsbaseappshell.cpp:160)
> #28: nsAppShell::Run (widget\windows\nsappshell.cpp:212)
> #29: XRE_RunAppShell (toolkit\xre\nsembedfunctions.cpp:882)
> #30: mozilla::ipc::MessagePumpForChildProcess::Run (ipc\glue\messagepump.cpp:270)
> #31: MessageLoop::RunHandler (ipc\chromium\src\base\message_loop.cc:320)
> #32: MessageLoop::Run (ipc\chromium\src\base\message_loop.cc:300)
> #33: XRE_InitChildProcess (toolkit\xre\nsembedfunctions.cpp:703)
> #34: content_process_main (ipc\contentproc\plugin-container.cpp:65)
> #35: NS_internal_main (browser\app\nsbrowserapp.cpp:288)
> #36: wmain (toolkit\xre\nswindowswmain.cpp:118)
> #37: __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:259)
> #38: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x12774]
> #39: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x70d51]
Assignee | ||
Comment 1•7 years ago
|
||
So when this happens, it seems restyle data has WAS_RESTYLED flag set, and thus it returns true for postTraversalRequired.
Assignee | ||
Comment 2•7 years ago
|
||
It's not clear to me what should we do here, and why it happens on Windows only.
Priority: -- → P3
Comment 3•7 years ago
|
||
I think this should be fixed now. StyleChildRangeForReconstruct should pass ServoTraversalFlags::Forgetful, which should cause us to call clear_restyle_flags_and_damage in clear_state_after_traversing, which should clear the flag. Can you verify and re-enable the test?
Flags: needinfo?(xidorn+moz)
Assignee | ||
Comment 4•7 years ago
|
||
This test still fatally asserts, but it doesn't assert on "!postTraversalRequired", instead it asserts "oldStyleContext->ComputedData() != newContext->ComputedData()" which sounds like bug 1384232.
Flags: needinfo?(xidorn+moz)
Assignee | ||
Comment 5•7 years ago
|
||
It looks like I can reliably reproduce that assertion with opening toolkit\components\tooltiptext\tests\title_test.svg.
Assignee | ||
Comment 7•7 years ago
|
||
It doesn't seem to crash anymore locally. I'll do a try push and see if everything is fine.
Assignee | ||
Comment 8•7 years ago
|
||
Comment hidden (mozreview-request) |
Assignee | ||
Comment 10•7 years ago
|
||
mozreview-review |
Comment on attachment 8904086 [details]
Bug 1390726 - Enable browser_bug329212.js for stylo windows.
https://reviewboard.mozilla.org/r/175840/#review180822
Attachment #8904086 -
Flags: review+
Comment 11•7 years ago
|
||
Pushed by xquan@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/ee17f3b7ad64
Enable browser_bug329212.js for stylo windows. r=xidorn
Comment 12•7 years ago
|
||
bugherder |
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla57
Updated•6 years ago
|
Assignee: nobody → xidorn+moz
You need to log in
before you can comment on or make changes to this bug.
Description
•