Closed Bug 1337248 Opened 5 years ago Closed 5 years ago

stylo: mochitest fatally asserts with Assertion failure: recreateContext

Categories

(Core :: CSS Parsing and Computation, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla54
Tracking Status
firefox54 --- fixed

People

(Reporter: xidorn, Unassigned)

References

Details

Attachments

(1 file)

It seems that I cannot run any mochitest with patch in bug 1335987 applied. Running "./mach mochitest --disable-e10s layout/style/test" would crash with the following stack very quick:
Assertion failure: recreateContext, at c:/mozilla-source/stylo/layout/base/ServoRestyleManager.cpp:189
#01: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#02: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#03: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#04: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#05: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#06: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#07: mozilla::ServoRestyleManager::RecreateStyleContexts (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:256)
#08: mozilla::ServoRestyleManager::ProcessPendingRestyles (c:\mozilla-source\stylo\layout\base\servorestylemanager.cpp:361)
#09: mozilla::PresShell::FlushPendingNotifications (c:\mozilla-source\stylo\layout\base\presshell.cpp:4173)
#10: nsRefreshDriver::Tick (c:\mozilla-source\stylo\layout\base\nsrefreshdriver.cpp:1837)
#11: mozilla::RefreshDriverTimer::TickDriver (c:\mozilla-source\stylo\layout\base\nsrefreshdriver.cpp:326)
#12: mozilla::RefreshDriverTimer::TickRefreshDrivers (c:\mozilla-source\stylo\layout\base\nsrefreshdriver.cpp:297)
#13: mozilla::RefreshDriverTimer::Tick (c:\mozilla-source\stylo\layout\base\nsrefreshdriver.cpp:317)
#14: mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers (c:\mozilla-source\stylo\layout\base\nsrefreshdriver.cpp:669)
#15: mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver (c:\mozilla-source\stylo\layout\base\nsrefreshdriver.cpp:590)
#16: mozilla::detail::RunnableMethodImpl<mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver * __ptr64 const,void (__cdecl mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::*)(mozilla::TimeStamp) __ptr64,1,0,mozilla::TimeStamp>::Run (c:\mozilla-source\stylo\obj-firefox-stylo\dist\include\nsthreadutils.h:869)
#17: nsThread::ProcessNextEvent (c:\mozilla-source\stylo\xpcom\threads\nsthread.cpp:1262)
#18: NS_ProcessNextEvent (c:\mozilla-source\stylo\xpcom\threads\nsthreadutils.cpp:389)
#19: mozilla::ipc::MessagePump::Run (c:\mozilla-source\stylo\ipc\glue\messagepump.cpp:96)
#20: MessageLoop::RunHandler (c:\mozilla-source\stylo\ipc\chromium\src\base\message_loop.cc:232)
#21: MessageLoop::Run (c:\mozilla-source\stylo\ipc\chromium\src\base\message_loop.cc:212)
#22: nsBaseAppShell::Run (c:\mozilla-source\stylo\widget\nsbaseappshell.cpp:158)
#23: nsAppShell::Run (c:\mozilla-source\stylo\widget\windows\nsappshell.cpp:264)
#24: nsAppStartup::Run (c:\mozilla-source\stylo\toolkit\components\startup\nsappstartup.cpp:283)
#25: XREMain::XRE_mainRun (c:\mozilla-source\stylo\toolkit\xre\nsapprunner.cpp:4461)
#26: XREMain::XRE_main (c:\mozilla-source\stylo\toolkit\xre\nsapprunner.cpp:4638)
#27: XRE_main (c:\mozilla-source\stylo\toolkit\xre\nsapprunner.cpp:4729)
#28: do_main (c:\mozilla-source\stylo\browser\app\nsbrowserapp.cpp:235)
#29: NS_internal_main (c:\mozilla-source\stylo\browser\app\nsbrowserapp.cpp:307)
#30: wmain (c:\mozilla-source\stylo\toolkit\xre\nswindowswmain.cpp:118)
#31: __scrt_common_main_seh (f:\dd\vctools\crt\vcstartup\src\startup\exe_common.inl:253)
#32: BaseThreadInitThunk[C:\WINDOWS\System32\KERNEL32.DLL +0x8364]
#33: RtlUserThreadStart[C:\WINDOWS\SYSTEM32\ntdll.dll +0x670d1]
Emilio, did you do a try push for bug 1335987?
Flags: needinfo?(emilio+bugs)
Since mochitest is not green yet, having a try push may not help a lot...
(In reply to Bobby Holley (:bholley) (busy with Stylo) from comment #1)
> Emilio, did you do a try push for bug 1335987?

Whoops, I did, but I might have added the assertion after that (thought that the assertion was trivially correct).

That being said, I can't repro at all apparently with the branch I have recently? This may be because of the recent animation changes? Will rebase and see.
Flags: needinfo?(emilio+bugs)
I can't reproduce this at all with origin/bookmarks/stylo + my patch. Xidorn, do you have any other patch locally applied?
Flags: needinfo?(xidorn+moz)
I manual-typed a simplified version of the command... which doesn't crash... I actually use a slightly more complicated command which crashes:
> ./mach mochitest --disable-e10s -f plain --keep-open true layout/style/test/

Sorry for the confusion.
Flags: needinfo?(xidorn+moz)
Since "--keep-open true" is necessary to trigger this assertion, I guess this is not necessarily a big blocker for now then...
No longer blocks: stylo-style-mochitest
Attached patch patchSplinter Review
This patch just removes the assertion, which doesn't hold in the case of explicit change hints going through the restyle manager.
Attachment #8834349 - Flags: review?(xidorn+moz)
Comment on attachment 8834349 [details] [diff] [review]
patch

Review of attachment 8834349 [details] [diff] [review]:
-----------------------------------------------------------------

Not sure what does it mean... redirect to bholley.
Attachment #8834349 - Flags: review?(xidorn+moz) → review?(bobbyholley)
Comment on attachment 8834349 [details] [diff] [review]
patch

Review of attachment 8834349 [details] [diff] [review]:
-----------------------------------------------------------------

Ah yes, good point!
Attachment #8834349 - Flags: review?(bobbyholley) → review+
Pushed by ecoal95@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/ffd74513a734
remove bogus assertion in presence of explicit change hints. r=bholley
https://hg.mozilla.org/mozilla-central/rev/ffd74513a734
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla54
You need to log in before you can comment on or make changes to this bug.