Closed Bug 1467964 Opened 2 years ago Closed 2 years ago

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

Categories

(Core :: Layout, defect)

defect
Not set

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)
https://hg.mozilla.org/mozilla-central/rev/3427339d05e8
Status: NEW → RESOLVED
Closed: 2 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla62
You need to log in before you can comment on or make changes to this bug.