Closed Bug 1467964 Opened 7 years ago Closed 7 years ago

Assertion failure: !mInStyleRefresh, at src/layout/base/RestyleManager.cpp:3113

Categories

(Core :: Layout, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla62
Tracking Status
firefox-esr52 --- unaffected
firefox-esr60 --- unaffected
firefox60 --- unaffected
firefox61 --- wontfix
firefox62 --- fixed

People

(Reporter: tsmith, Assigned: emilio)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, regression, testcase)

Attachments

(2 files)

Reduced with m-c: Assertion failure: !mInStyleRefresh, at src/layout/base/RestyleManager.cpp:3113 Assertion failure: !mInStyleRefresh, at src/layout/base/RestyleManager.cpp:3113 #0 mozilla::RestyleManager::ContentStateChanged(nsIContent*, mozilla::EventStates) src/layout/base/RestyleManager.cpp:3113:3 #1 mozilla::PresShell::ContentStateChanged(nsIDocument*, nsIContent*, mozilla::EventStates) src/layout/base/PresShell.cpp:4392:37 #2 nsIDocument::ContentStateChanged(nsIContent*, mozilla::EventStates) src/dom/base/nsDocument.cpp:5326:3 #3 mozilla::dom::Element::UpdateState(bool) src/dom/base/Element.cpp:267:14 #4 mozilla::dom::Element::SetDirectionality(mozilla::Directionality, bool) src/obj-firefox/dist/include/mozilla/dom/Element.h:450:7 #5 mozilla::WalkDescendantsSetDirectionFromText(mozilla::dom::Element*, bool, nsINode*) src/dom/base/DirectionalityUtils.cpp:403:19 #6 mozilla::nsTextNodeDirectionalityMap::ResetNodeDirection(nsPtrHashKey<mozilla::dom::Element>*, void*) src/dom/base/DirectionalityUtils.cpp:533:21 #7 nsCheapSet<nsPtrHashKey<mozilla::dom::Element> >::EnumerateEntries(nsCheapSetOperator (*)(nsPtrHashKey<mozilla::dom::Element>*, void*), void*) src/xpcom/ds/nsCheapSets.h:79:13 #8 mozilla::nsTextNodeDirectionalityMap::ResetAutoDirection(nsINode*) src/dom/base/DirectionalityUtils.cpp:571:15 #9 mozilla::nsTextNodeDirectionalityMap::ResetTextNodeDirection(nsTextNode*, nsTextNode*) src/dom/base/DirectionalityUtils.cpp:616:37 #10 nsTextNode::UnbindFromTree(bool, bool) src/dom/base/nsTextNode.cpp:154:3 #11 nsIFrame::DestroyAnonymousContent(nsPresContext*, already_AddRefed<nsIContent>&&) src/layout/generic/nsFrame.cpp:251:14 #12 nsIFrame::AutoPostDestroyData::~AutoPostDestroyData() src/layout/generic/nsIFrame.h:660:9 #13 nsIFrame::Destroy() src/layout/generic/nsIFrame.h:681:3 #14 nsContainerFrame::RemoveFrame(mozilla::layout::FrameChildListID, nsIFrame*) src/layout/generic/nsContainerFrame.cpp:179:19 #15 nsCSSFrameConstructor::ContentRemoved(nsIContent*, nsIContent*, nsCSSFrameConstructor::RemoveFlags) src/layout/base/nsCSSFrameConstructor.cpp:8115:5 #16 nsCSSFrameConstructor::RecreateFramesForContent(nsIContent*, nsCSSFrameConstructor::InsertionKind) src/layout/base/nsCSSFrameConstructor.cpp:9178:5 #17 mozilla::RestyleManager::ProcessRestyledFrames(nsStyleChangeList&) src/layout/base/RestyleManager.cpp:1512:25 #18 mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) src/layout/base/RestyleManager.cpp:2996:9 #19 mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) src/layout/base/PresShell.cpp:4285:41 #20 nsIDocument::FlushPendingNotifications(mozilla::ChangesToFlush) src/dom/base/nsDocument.cpp:7445:12 #21 nsIDocument::FlushPendingNotifications(mozilla::FlushType) src/dom/base/nsDocument.cpp:7384:3 #22 nsDocLoader::DocLoaderIsEmpty(bool) src/uriloader/base/nsDocLoader.cpp:694:14 #23 nsDocLoader::OnStopRequest(nsIRequest*, nsISupports*, nsresult) src/uriloader/base/nsDocLoader.cpp:627:5 #24 non-virtual thunk to nsDocLoader::OnStopRequest(nsIRequest*, nsISupports*, nsresult) src/uriloader/base/nsDocLoader.cpp #25 mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) src/netwerk/base/nsLoadGroup.cpp:629:28 #26 imgRequestProxy::RemoveFromLoadGroup() src/image/imgRequestProxy.cpp:445:15 #27 imgRequestProxy::OnLoadComplete(bool) src/image/imgRequestProxy.cpp:1114:7 #28 void mozilla::image::ImageObserverNotifier<mozilla::image::ObserverTable const*>::operator()<void mozilla::image::SyncNotifyInternal<mozilla::image::ObserverTable const*>(mozilla::image::ObserverTable const* const&, bool, unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&)::{lambda(mozilla::image::IProgressObserver*)#7}>(void mozilla::image::SyncNotifyInternal<mozilla::image::ObserverTable const*>(mozilla::image::ObserverTable const* const&, bool, unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&)::{lambda(mozilla::image::IProgressObserver*)#7}) src/image/ProgressTracker.cpp:283:9 #29 void mozilla::image::SyncNotifyInternal<mozilla::image::ObserverTable const*>(mozilla::image::ObserverTable const* const&, bool, unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&) src/image/ProgressTracker.cpp:357:5 #30 mozilla::image::ProgressTracker::SyncNotifyProgress(unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&)::$_1::operator()(mozilla::image::ObserverTable const*) const src/image/ProgressTracker.cpp:378:5 #31 _ZNK7mozilla5image11CopyOnWriteINS0_13ObserverTableEE4ReadIZNS0_15ProgressTracker18SyncNotifyProgressEjRKNS_3gfx12IntRectTypedINS6_12UnknownUnitsEEEE3$_1EEDTclfp_scPKS2_LDnEEET_ src/image/CopyOnWrite.h:154:12 #32 mozilla::image::ProgressTracker::SyncNotifyProgress(unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&) src/image/ProgressTracker.cpp:377:14 #33 mozilla::image::RasterImage::NotifyProgress(unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, mozilla::Maybe<unsigned int> const&, mozilla::image::DecoderFlags, mozilla::image::SurfaceFlags) src/image/RasterImage.cpp:1709:28 #34 mozilla::image::RasterImage::NotifyForLoadEvent(unsigned int) src/image/RasterImage.cpp:979:3 #35 mozilla::image::RasterImage::NotifyDecodeComplete(mozilla::image::DecoderFinalStatus const&, mozilla::image::ImageMetadata const&, mozilla::image::DecoderTelemetry const&, unsigned int, mozilla::gfx::IntRectTyped<mozilla::gfx::UnknownUnits> const&, mozilla::Maybe<unsigned int> const&, mozilla::image::DecoderFlags, mozilla::image::SurfaceFlags) src/image/RasterImage.cpp:1796:7 #36 mozilla::image::IDecodingTask::NotifyDecodeComplete(mozilla::NotNull<mozilla::image::RasterImage*>, mozilla::NotNull<mozilla::image::Decoder*>)::$_2::operator()() const src/image/IDecodingTask.cpp:130:12 #37 mozilla::detail::RunnableFunction<mozilla::image::IDecodingTask::NotifyDecodeComplete(mozilla::NotNull<mozilla::image::RasterImage*>, mozilla::NotNull<mozilla::image::Decoder*>)::$_2>::Run() src/xpcom/threads/nsThreadUtils.h:552:5 #38 mozilla::SchedulerGroup::Runnable::Run() src/xpcom/threads/SchedulerGroup.cpp:337:32 #39 nsThread::ProcessNextEvent(bool, bool*) src/xpcom/threads/nsThread.cpp:1088:14 #40 NS_ProcessNextEvent(nsIThread*, bool) src/xpcom/threads/nsThreadUtils.cpp:519:10 #41 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:97:21 #42 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10 #43 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3 #44 nsBaseAppShell::Run() src/widget/nsBaseAppShell.cpp:157:27 #45 XRE_RunAppShell() src/toolkit/xre/nsEmbedFunctions.cpp:896:22 #46 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) src/ipc/glue/MessagePump.cpp:269:9 #47 MessageLoop::RunInternal() src/ipc/chromium/src/base/message_loop.cc:325:10 #48 MessageLoop::Run() src/ipc/chromium/src/base/message_loop.cc:298:3 #49 XRE_InitChildProcess(int, char**, XREChildData const*) src/toolkit/xre/nsEmbedFunctions.cpp:722:34 #50 content_process_main(mozilla::Bootstrap*, int, char**) src/browser/app/../../ipc/contentproc/plugin-container.cpp:50:30 #51 main src/browser/app/nsBrowserApp.cpp:287:18 #52 __libc_start_main /build/glibc-Cl5G7W/glibc-2.23/csu/../csu/libc-start.c:291 #53 _start (firefox+0x4236e4)
Flags: in-testsuite?
Flags: needinfo?(emilio)
No test-case? :)
Flags: needinfo?(emilio) → needinfo?(twsmith)
Attached file testcase.html
Ha yeah looks like I got distracted while logging this one :P Reduced with m-c: BuildID=20180608095612 SourceStamp=e0595117ff5bda3a63a72ad7b3b8754fec4fb4f0
Flags: needinfo?(twsmith)
Danke :)
Flags: needinfo?(emilio)
Assignee: nobody → emilio
Flags: needinfo?(emilio)
Is this a regression from bug 1451576?
I guess so, yeah...
Blocks: 1451576
Tim, I'd prefer to revert that bug, it's not generally safe to do that, mind if I do that?
Flags: needinfo?(timdream)
Let's revert the patch. I'll communicate to dev-l10n again to ask them to revert the strings.
Flags: needinfo?(timdream)
Comment on attachment 8985054 [details] Bug 1467964: Make NodeAffectsDirAutoAncestor do what it claims re. anonymous nodes. I assume I don't need to review this then. Please ask review again if I should.
Attachment #8985054 - Flags: review?(bugs)
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
Flags: in-testsuite? → in-testsuite+
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: