Closed Bug 897239 Opened 7 years ago Closed 7 years ago

Regression: nsDisplayScrollLayer should always be defined: 'hasCount', file /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp, line 3340

Categories

(Core :: Layout, defect)

x86_64
Linux
defect
Not set

Tracking

()

RESOLVED DUPLICATE of bug 896250

People

(Reporter: dhylands, Assigned: dhylands)

References

Details

Attachments

(1 file)

I updated my unagai tree today (it was previously on July 17) and when I launch settings and touch Wifi or Bluetooth, I get the following assert

 nsDisplayScrollLayer should always be defined: 'hasCount', file /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp, line 3340

This is running a DEBUG build.

Backtrace:

(gdb) bt
#0  0x41ed736e in mozalloc_abort (msg=<value optimized out>) at /home/work/B2G-unagi/birch/memory/mozalloc/mozalloc_abort.cpp:30
#1  0x40b498fc in Abort (aSeverity=<value optimized out>, aStr=0x420abecf "nsDisplayScrollLayer should always be defined", aExpr=<value optimized out>, aFile=<value optimized out>, aLine=3340)
    at /home/work/B2G-unagi/birch/xpcom/base/nsDebugImpl.cpp:430
#2  NS_DebugBreak (aSeverity=<value optimized out>, aStr=0x420abecf "nsDisplayScrollLayer should always be defined", aExpr=<value optimized out>, aFile=<value optimized out>, aLine=3340)
    at /home/work/B2G-unagi/birch/xpcom/base/nsDebugImpl.cpp:387
#3  0x40d5a52c in nsDisplayScrollLayer::GetScrollLayerCount (this=<value optimized out>) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:3340
#4  0x40d5a54c in nsDisplayScrollLayer::RemoveScrollLayerCount (this=0xd0c) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:3350
#5  0x40d5a572 in nsDisplayScrollInfoLayer::ShouldFlattenAway (this=0xd0c, aBuilder=0xbec0e428) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:3397
#6  0x40d6050e in nsDisplayList::ComputeVisibilityForSublist (this=0x4520a9f8, aBuilder=0xbec0e428, aVisibleRegion=<value optimized out>, aListVisibleBounds=<value optimized out>, 
    aAllowVisibleRegionExpansion=...) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:1016
#7  0x40d60a34 in nsDisplayWrapList::ComputeVisibility (this=0x4520a9c8, aBuilder=0xbec0e428, aVisibleRegion=0xbec0db88, aAllowVisibleRegionExpansion=...)
    at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:2766
#8  0x40d5d6c8 in nsDisplayItem::RecomputeVisibility (this=0x4520a9c8, aBuilder=0xbec0e428, aVisibleRegion=0xbec0db88) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:1530
#9  0x40d5d790 in nsDisplayTransform::ComputeVisibility (this=0x4520a998, aBuilder=0xbec0e428, aVisibleRegion=<value optimized out>, aAllowVisibleRegionExpansion=<value optimized out>)
    at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:4074
#10 0x40d5d6c8 in nsDisplayItem::RecomputeVisibility (this=0x4520a998, aBuilder=0xbec0e428, aVisibleRegion=0xbec0ddd0) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:1530
#11 0x40d28018 in mozilla::FrameLayerBuilder::DrawThebesLayer (aLayer=0x440dc640, aContext=0x44a6d7f0, aRegionToDraw=..., aRegionToInvalidate=..., aCallbackData=0xbec0e428)
    at /home/work/B2G-unagi/birch/layout/base/FrameLayerBuilder.cpp:3238
#12 0x416e9184 in mozilla::layers::ClientThebesLayer::PaintBuffer (this=0x440dc640, aContext=<value optimized out>, aRegionToDraw=..., aExtendedRegionToDraw=..., aRegionToInvalidate=..., 
    aDidSelfCopy=false) at /home/work/B2G-unagi/birch/gfx/layers/client/ClientThebesLayer.cpp:149
#13 0x416e960e in mozilla::layers::ClientThebesLayer::PaintThebes (this=0x440dc640) at /home/work/B2G-unagi/birch/gfx/layers/client/ClientThebesLayer.cpp:92
#14 0x416e98c8 in mozilla::layers::ClientThebesLayer::RenderLayer (this=0x440dc640) at /home/work/B2G-unagi/birch/gfx/layers/client/ClientThebesLayer.cpp:123
#15 0x416e7686 in ClientContainerLayer::RenderLayer (this=0x4515b000) at /home/work/B2G-unagi/birch/gfx/layers/client/ClientContainerLayer.h:191
#16 0x416e83ea in mozilla::layers::ClientLayerManager::EndTransactionInternal (this=0x40327030, 
    aCallback=0x40d27d5d <mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*)>, aCallbackData=<value optimized out>)
    at /home/work/B2G-unagi/birch/gfx/layers/client/ClientLayerManager.cpp:176
#17 0x416e8cd2 in mozilla::layers::ClientLayerManager::EndTransaction (this=0x40327030, 
    aCallback=0x40d27d5d <mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*)>, aCallbackData=0xbec0e428, 
    aFlags=mozilla::layers::LayerManager::END_NO_COMPOSITE) at /home/work/B2G-unagi/birch/gfx/layers/client/ClientLayerManager.cpp:199
#18 0x40d5dd98 in nsDisplayList::PaintForFrame (this=<value optimized out>, aBuilder=0xbec0e428, aCtx=<value optimized out>, aForFrame=<value optimized out>, aFlags=13)
    at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:1201
#19 0x40d5dfa4 in nsDisplayList::PaintRoot (this=0xbec0e7c0, aBuilder=0xbec0e428, aCtx=0x0, aFlags=13) at /home/work/B2G-unagi/birch/layout/base/nsDisplayList.cpp:1062
#20 0x40d77fde in nsLayoutUtils::PaintFrame (aRenderingContext=<value optimized out>, aFrame=0x44ac3298, aDirtyRegion=<value optimized out>, aBackstop=<value optimized out>, aFlags=772)
    at /home/work/B2G-unagi/birch/layout/base/nsLayoutUtils.cpp:2084
#21 0x40d8c724 in PresShell::Paint (this=0x40392630, aViewToPaint=<value optimized out>, aDirtyRegion=<value optimized out>, aFlags=1) at /home/work/B2G-unagi/birch/layout/base/nsPresShell.cpp:5613
#22 0x4119bc92 in nsViewManager::ProcessPendingUpdatesForView (this=0x44a70a00, aView=0x44a71ce0, aFlushDirtyRegion=<value optimized out>) at /home/work/B2G-unagi/birch/view/src/nsViewManager.cpp:410
#23 0x4119bd48 in nsViewManager::ProcessPendingUpdates (this=<value optimized out>) at /home/work/B2G-unagi/birch/view/src/nsViewManager.cpp:1031
#24 0x40d971fe in nsRefreshDriver::Tick (this=0x12b0329, aNowEpoch=2435516125, aNowTime=...) at /home/work/B2G-unagi/birch/layout/base/nsRefreshDriver.cpp:1225
#25 0x40d97774 in mozilla::RefreshDriverTimer::TickDriver (aTimer=<value optimized out>, aClosure=<value optimized out>) at /home/work/B2G-unagi/birch/layout/base/nsRefreshDriver.cpp:171
#26 mozilla::RefreshDriverTimer::Tick (aTimer=<value optimized out>, aClosure=<value optimized out>) at /home/work/B2G-unagi/birch/layout/base/nsRefreshDriver.cpp:163
#27 mozilla::RefreshDriverTimer::TimerTick (aTimer=<value optimized out>, aClosure=<value optimized out>) at /home/work/B2G-unagi/birch/layout/base/nsRefreshDriver.cpp:188
#28 0x40b40322 in nsTimerImpl::Fire (this=0x4407d7e0) at /home/work/B2G-unagi/birch/xpcom/threads/nsTimerImpl.cpp:543
#29 0x40b40512 in nsTimerEvent::Run (this=0x44063030) at /home/work/B2G-unagi/birch/xpcom/threads/nsTimerImpl.cpp:627
#30 0x40b3c798 in nsThread::ProcessNextEvent (this=0x40302320, mayWait=<value optimized out>, result=0xbec0edcf) at /home/work/B2G-unagi/birch/xpcom/threads/nsThread.cpp:621
#31 0x40b0394e in NS_ProcessNextEvent (thread=0x40302320, mayWait=false) at /home/work/B2G-unagi/objdir-gecko-debug-eng-birch/xpcom/build/nsThreadUtils.cpp:238
#32 0x4076e28c in mozilla::ipc::MessagePump::Run (this=0x40301b50, aDelegate=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/glue/MessagePump.cpp:81
#33 0x4076e40c in mozilla::ipc::MessagePumpForChildProcess::Run (this=0x40301b50, aDelegate=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/glue/MessagePump.cpp:234
#34 0x40b69b92 in MessageLoop::RunInternal (this=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/chromium/src/base/message_loop.cc:219
#35 0x40b69baa in MessageLoop::RunHandler (this=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/chromium/src/base/message_loop.cc:212
#36 MessageLoop::Run (this=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/chromium/src/base/message_loop.cc:186
#37 0x41699c02 in nsBaseAppShell::Run (this=0x43b36d60) at /home/work/B2G-unagi/birch/widget/xpwidgets/nsBaseAppShell.cpp:163
#38 0x406c4f7e in XRE_RunAppShell () at /home/work/B2G-unagi/birch/toolkit/xre/nsEmbedFunctions.cpp:676
#39 0x4076e376 in mozilla::ipc::MessagePumpForChildProcess::Run (this=0x40301b50, aDelegate=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/glue/MessagePump.cpp:201
#40 0x40b69b92 in MessageLoop::RunInternal (this=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/chromium/src/base/message_loop.cc:219
#41 0x40b69baa in MessageLoop::RunHandler (this=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/chromium/src/base/message_loop.cc:212
#42 MessageLoop::Run (this=0xbec0f88c) at /home/work/B2G-unagi/birch/ipc/chromium/src/base/message_loop.cc:186
#43 0x406c5858 in XRE_InitChildProcess (aArgc=2, aArgv=0xbec0f9a0, aProcess=1077163008) at /home/work/B2G-unagi/birch/toolkit/xre/nsEmbedFunctions.cpp:513
#44 0x00008786 in main (argc=7, argv=0xbec0fa24) at /home/work/B2G-unagi/birch/ipc/app/MozillaRuntimeMain.cpp:85
and the winner is: https://hg.mozilla.org/projects/birch/rev/4c89002460da

With that commit applied, I get the assert. With the previous commit applied (https://hg.mozilla.org/projects/birch/rev/b9fe5a05edd9) I don't.
Depends on: 873378
This fixes the settings app (and makes MaxActiveLayers return the right thing).
Attachment #780105 - Flags: review?(roc)
Assignee: nobody → dhylands
I predict that you are going to back out due to Android reftest-2 failures.

See bug 896250 comment 20 :)
Nevermind, looks like that test doesn't run on Birch.
(In reply to Markus Stange [:mstange] from comment #5)
> Nevermind, looks like that test doesn't run on Birch.

...which just means it'll start failing when birch is merged to m-c.
Flags: needinfo?(dhylands)
Backed out.
https://hg.mozilla.org/projects/birch/rev/978e9a797ab2
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → DUPLICATE
Whiteboard: [fixed-in-birch]
Duplicate of bug: 896250
Flags: needinfo?(dhylands)
You need to log in before you can comment on or make changes to this bug.