Closed Bug 1388727 Opened 8 years ago Closed 7 years ago

Crash in nsStyleContext::DoGetStyleDisplay<T>

Categories

(Core :: Layout, defect, P3)

defect

Tracking

()

RESOLVED INCOMPLETE
Tracking Status
firefox-esr52 --- wontfix
firefox56 --- wontfix
firefox57 --- wontfix
firefox58 --- wontfix
firefox59 --- wontfix

People

(Reporter: baffclan, Unassigned)

Details

(Keywords: crash, regression)

Crash Data

This bug was filed from the Socorro interface and is report bp-ce5a6ffd-9057-441d-9987-e60db0170809. ============================================================= Crashing Thread (0) Frame Module Signature Source 0 xul.dll nsStyleContext::DoGetStyleDisplay<1>() obj-firefox/dist/include/nsStyleStructList.h:100 1 xul.dll nsLayoutUtils::GetTouchActionFromFrame(nsIFrame*) layout/base/nsLayoutUtils.cpp:9073 2 xul.dll nsDisplayLayerEventRegions::AddFrame(nsDisplayListBuilder*, nsIFrame*) layout/painting/nsDisplayList.cpp:4572 3 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3212 4 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 5 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 6 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 7 xul.dll nsFlexContainerFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsFlexContainerFrame.cpp:2269 8 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 9 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 10 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 11 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 12 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 13 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 14 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 15 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 16 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 17 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 18 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 19 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 20 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 21 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 22 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 23 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 24 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 25 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 26 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 27 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 28 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 29 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 30 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 31 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 32 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 33 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 34 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 35 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 36 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 37 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 38 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3257 39 xul.dll DisplayLine layout/generic/nsBlockFrame.cpp:6706 40 xul.dll nsBlockFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsBlockFrame.cpp:6798 41 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 42 xul.dll nsCanvasFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsCanvasFrame.cpp:599 43 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:3242 44 xul.dll mozilla::ScrollFrameHelper::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/nsGfxScrollFrame.cpp:3522 45 xul.dll nsIFrame::BuildDisplayListForChild(nsDisplayListBuilder*, nsIFrame*, nsRect const&, nsDisplayListSet const&, unsigned int) layout/generic/nsFrame.cpp:2997 46 xul.dll mozilla::ViewportFrame::BuildDisplayList(nsDisplayListBuilder*, nsRect const&, nsDisplayListSet const&) layout/generic/ViewportFrame.cpp:66 47 xul.dll nsIFrame::BuildDisplayListForStackingContext(nsDisplayListBuilder*, nsRect const&, nsDisplayList*) layout/generic/nsFrame.cpp:2592 48 xul.dll nsLayoutUtils::PaintFrame(gfxContext*, nsIFrame*, nsRegion const&, unsigned int, nsDisplayListBuilderMode, nsLayoutUtils::PaintFrameFlags) layout/base/nsLayoutUtils.cpp:3615 49 xul.dll mozilla::PresShell::Paint(nsView*, nsRegion const&, unsigned int) layout/base/PresShell.cpp:6473 50 xul.dll nsViewManager::ProcessPendingUpdatesPaint(nsIWidget*) view/nsViewManager.cpp:480 51 xul.dll nsViewManager::ProcessPendingUpdatesForView(nsView*, bool) view/nsViewManager.cpp:412 52 xul.dll nsViewManager::ProcessPendingUpdates() view/nsViewManager.cpp:1093 53 xul.dll nsRefreshDriver::Tick(__int64, mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp:2051 54 xul.dll mozilla::RefreshDriverTimer::TickDriver(nsRefreshDriver*, __int64, mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp:330 55 xul.dll mozilla::RefreshDriverTimer::TickRefreshDrivers(__int64, mozilla::TimeStamp, nsTArray<RefPtr<nsRefreshDriver> >&) layout/base/nsRefreshDriver.cpp:300 56 xul.dll mozilla::RefreshDriverTimer::Tick(__int64, mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp:322 57 xul.dll mozilla::VsyncRefreshDriverTimer::RunRefreshDrivers(mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp:763 58 xul.dll mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::TickRefreshDriver(mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp:676 59 xul.dll mozilla::VsyncRefreshDriverTimer::RefreshDriverVsyncObserver::NotifyVsync(mozilla::TimeStamp) layout/base/nsRefreshDriver.cpp:577 60 xul.dll mozilla::layout::VsyncChild::RecvNotify(mozilla::TimeStamp const&) layout/ipc/VsyncChild.cpp:67 61 xul.dll mozilla::layout::PVsyncChild::OnMessageReceived(IPC::Message const&) obj-firefox/ipc/ipdl/PVsyncChild.cpp:155 62 xul.dll mozilla::ipc::PBackgroundChild::OnMessageReceived(IPC::Message const&) obj-firefox/ipc/ipdl/PBackgroundChild.cpp:1608 63 xul.dll mozilla::ipc::MessageChannel::DispatchAsyncMessage(IPC::Message const&) ipc/glue/MessageChannel.cpp:2092 64 xul.dll mozilla::ipc::MessageChannel::DispatchMessageW(IPC::Message&&) ipc/glue/MessageChannel.cpp:2018 65 xul.dll mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) ipc/glue/MessageChannel.cpp:1887 66 xul.dll mozilla::ipc::MessageChannel::MessageTask::Run() ipc/glue/MessageChannel.cpp:1920 67 xul.dll nsThread::ProcessNextEvent(bool, bool*) xpcom/threads/nsThread.cpp:1446 68 xul.dll NS_ProcessNextEvent(nsIThread*, bool) xpcom/threads/nsThreadUtils.cpp:480 69 xul.dll mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:125 70 xul.dll mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:302 71 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc:319 72 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:299 73 xul.dll nsBaseAppShell::Run() widget/nsBaseAppShell.cpp:156 74 xul.dll nsAppShell::Run() widget/windows/nsAppShell.cpp:210 75 xul.dll XRE_RunAppShell() toolkit/xre/nsEmbedFunctions.cpp:882 76 xul.dll mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) ipc/glue/MessagePump.cpp:270 77 xul.dll MessageLoop::RunHandler() ipc/chromium/src/base/message_loop.cc:319 78 xul.dll MessageLoop::Run() ipc/chromium/src/base/message_loop.cc:299 79 xul.dll XRE_InitChildProcess(int, char** const, XREChildData const*) toolkit/xre/nsEmbedFunctions.cpp:699 80 firefox.exe content_process_main(mozilla::Bootstrap*, int, char** const) ipc/contentproc/plugin-container.cpp:64 81 firefox.exe NS_internal_main(int, char**, char**) browser/app/nsBrowserApp.cpp:285 82 firefox.exe wmain toolkit/xre/nsWindowsWMain.cpp:115 83 firefox.exe __scrt_common_main_seh f:/dd/vctools/crt/vcstartup/src/startup/exe_common.inl:253 84 kernel32.dll BaseThreadInitThunk 85 ntdll.dll RtlUserThreadStart Application Basics: Name:Firefox Version: 57.0a1 Build ID: 20170808114032 Update Channel: nightly User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:57.0) Gecko/20100101 Firefox/57.0 OS: Windows_NT 10.0
Component: General → XUL
Component: XUL → Layout
This signature's volume is very low. It is content process top crash #146 in 56 and #300 in Beta 57. I don't see any reports from Nightly 58. Maybe it will go away with Stylo?
OS: Windows 10 → All
Priority: -- → P3
Hardware: x86 → All
I get this crash consistently on http://www.helsinginuutiset.fi/artikkeli/578597-tuleeko-naista-taistelu-maailman-ensimmainen-helsinki-viski-on-valmista and other pages on the same site. Latest nightly with stylo.
You can get the crash instantly on http://www.helsinginuutiset.fi/artikkeli/578597-tuleeko-naista-taistelu-maailman-ensimmainen-helsinki-viski-on-valmista by clicking repeatedly on the shuffling NayaDaya thing right arrow on the page. Mozregression result: 2017-11-16T09:55:54: DEBUG : Using url: https://hg.mozilla.org/integration/mozilla-inbound/json-pushes?changeset=d5e1ed773fefe2eb9d52402dd74b5fea19b8b4a4&full=1 2017-11-16T09:55:55: DEBUG : Found commit message: Bug 1416055 - Enable retained display lists for Nightly builds. r=miko 2017-11-16T09:55:55: INFO : The bisection is done.
ni to get some attention here
Flags: needinfo?(matt.woodrow)
Assignee: nobody → matt.woodrow
Blocks: 1352499
Flags: needinfo?(matt.woodrow)
The top frame is the same, but the rest of the stack is different from the bug as reported. These new crashes look to be the same as bug 1417411, so I'll fix that there, and leave this bug for the longstanding issue with EventRegions.
Assignee: matt.woodrow → nobody
No longer blocks: 1352499
This has increased to become the #3 Windows topcrash in Nightly 20171117100127, with 51 occurrences.
(In reply to Nicholas Nethercote [:njn] from comment #6) > This has increased to become the #3 Windows topcrash in Nightly > 20171117100127, with 51 occurrences. These crashes look to be the bug 1417411 version of this, fixed in the 2017-11-18 nightly. I don't see any crashes from that Nightly (or newer), so I think we're good here.
(In reply to Chris Peterson [:cpeterson] from comment #8) > [Tracking Requested - why for this release]: > > This Retain Display List crash is a top content process crash in Nightly 59 > with 400 crash reports in the last seven days. As explained above, this doesn't need to track, it's a longstanding issue, with a very low crash rate. There was a spike in a similar crash (same top frame, but different stack), which is bug 1417411 and is fixed.
nsStyleContext was renamed ComputedStyle, but looking at ComputedStyle::DoGetStyleDisplay it seems this crash is gone. The few crashes matching that signature appears to be an unrelated issue.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → INCOMPLETE
You need to log in before you can comment on or make changes to this bug.