Closed Bug 1033817 Opened 10 years ago Closed 10 years ago

Unexpected non-Gralloc SharedSurface in IPC path

Categories

(Core :: Graphics: Layers, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED DUPLICATE of bug 1033293

People

(Reporter: gwagner, Unassigned)

Details

Starting current trunk with debug gecko on nexus 4:

[Child 1428] WARNING: NS_ENSURE_TRUE(ParseTypeAttribute(type, &version)) failed: file ../../../../content/base/src/nsScriptLoader.cpp, line 606
[Child 1428] WARNING: NS_ENSURE_TRUE(ParseTypeAttribute(type, &version)) failed: file ../../../../content/base/src/nsScriptLoader.cpp, line 606
[Child 1428] WARNING: NS_ENSURE_TRUE(startupCache) failed: file ../../../dom/xbl/nsXBLDocumentInfo.cpp, line 238
[Child 1428] WARNING: NS_ENSURE_TRUE(startupCache) failed: file ../../../dom/xbl/nsXBLDocumentInfo.cpp, line 306
[Child 1428] WARNING: NS_ENSURE_SUCCESS(rv, rv) failed with result 0x80004005: file ../../../../content/base/src/nsContentUtils.cpp, line 3313
[Child 1428] ###!!! ASSERTION: invalid default font returned by GetDefaultFont: 'defaultFamily', file ../../../gfx/thebes/gfxFont.cpp, line 5101
[Child 1428] ###!!! ASSERTION: invalid default font returned by GetDefaultFont: 'defaultFamily', file ../../../gfx/thebes/gfxFont.cpp, line 5101
0xb47e875e in mozilla::layers::CanvasClientSurfaceStream::Update (this=0xac68ab20, aSize=..., aLayer=0xadf68040) at ../../../gfx/layers/client/CanvasClient.cpp:167
167	    MOZ_ASSERT(false);
(gdb) bt
#0  0xb47e875e in mozilla::layers::CanvasClientSurfaceStream::Update (this=0xac68ab20, aSize=..., aLayer=0xadf68040) at ../../../gfx/layers/client/CanvasClient.cpp:167
#1  0xb47f3410 in mozilla::layers::ClientCanvasLayer::RenderLayer (this=0xadf68040) at ../../../gfx/layers/client/ClientCanvasLayer.cpp:192
#2  0xb47f4ca0 in mozilla::layers::ClientContainerLayer::RenderLayer (this=0xaa9e8c00) at ../../../gfx/layers/client/ClientContainerLayer.h:61
#3  0xb47f4ca0 in mozilla::layers::ClientContainerLayer::RenderLayer (this=0xaeb36000) at ../../../gfx/layers/client/ClientContainerLayer.h:61
#4  0xb47f4ca0 in mozilla::layers::ClientContainerLayer::RenderLayer (this=0xaeb35c00) at ../../../gfx/layers/client/ClientContainerLayer.h:61
#5  0xb47ecef0 in mozilla::layers::ClientLayerManager::EndTransactionInternal (this=0xb08a7e00, aCallback=
    0xb5146079 <mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*)>, aCallbackData=<optimized out>)
    at ../../../gfx/layers/client/ClientLayerManager.cpp:211
#6  0xb47f4a9c in mozilla::layers::ClientLayerManager::EndTransaction (this=0xb08a7e00, 
    aCallback=0xb5146079 <mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, mozilla::layers::DrawRegionClip, nsIntRegion const&, void*)>, aCallbackData=0xbe92c120, 
    aFlags=mozilla::layers::LayerManager::END_DEFAULT) at ../../../gfx/layers/client/ClientLayerManager.cpp:237
#7  0xb518509c in nsDisplayList::PaintForFrame (this=0xbe92c048, aBuilder=0xbe92c120, aCtx=<optimized out>, aForFrame=<optimized out>, aFlags=13) at ../../../layout/base/nsDisplayList.cpp:1393
#8  0xb51852ac in nsDisplayList::PaintRoot (this=0xbe92c048, aBuilder=0xbe92c120, aCtx=0x0, aFlags=13) at ../../../layout/base/nsDisplayList.cpp:1232
#9  0xb5186bfc in nsLayoutUtils::PaintFrame (aRenderingContext=0x0, aFrame=0xb07cf2b8, aDirtyRegion=<optimized out>, aBackstop=4294967295, aFlags=772) at ../../../layout/base/nsLayoutUtils.cpp:2959
#10 0xb51309e2 in PresShell::Paint (this=0xb216c2c0, aViewToPaint=0xb07a96f0, aDirtyRegion=..., aFlags=1) at ../../../layout/base/nsPresShell.cpp:6222
#11 0xb4e07dd8 in nsViewManager::ProcessPendingUpdatesPaint (this=0xb07c7400, aWidget=0xb0a6b2e0) at ../../../view/src/nsViewManager.cpp:443
#12 0xb4e08130 in nsViewManager::ProcessPendingUpdatesForView (this=<optimized out>, aView=<optimized out>, aFlushDirtyRegion=<optimized out>) at ../../../view/src/nsViewManager.cpp:384
#13 0xb5138880 in nsRefreshDriver::Tick (this=0xb6afc120, aNowEpoch=<optimized out>, aNowTime=...) at ../../../layout/base/nsRefreshDriver.cpp:1278
#14 0xb5138ef0 in mozilla::RefreshDriverTimer::Tick (this=0xb074a440) at ../../../layout/base/nsRefreshDriver.cpp:162
#15 0xb437203a in nsTimerImpl::Fire (this=0xb074c060) at ../../../xpcom/threads/nsTimerImpl.cpp:618
#16 0xb43721be in nsTimerEvent::Run (this=0xb0756450) at ../../../xpcom/threads/nsTimerImpl.cpp:711
#17 0xb436fba6 in ProcessNextEvent (aResult=0xbe92c7f7, aMayWait=true, this=0xb6a4d700) at ../../../xpcom/threads/nsThread.cpp:766
#18 nsThread::ProcessNextEvent (this=0xb6a4d700, aMayWait=<optimized out>, aResult=0xbe92c7f7) at ../../../xpcom/threads/nsThread.cpp:685
#19 0xb4329566 in NS_ProcessNextEvent (aThread=0xb6a4d700, aMayWait=<optimized out>) at /Volumes/2mac/moz/ib2g/xpcom/glue/nsThreadUtils.cpp:284
#20 0xb452476e in mozilla::ipc::MessagePump::Run (this=0xb6a01e20, aDelegate=0xb6a701a0) at ../../../ipc/glue/MessagePump.cpp:143
#21 0xb4512d16 in MessageLoop::RunInternal (this=0xb6a701a0) at ../../../ipc/chromium/src/base/message_loop.cc:229
#22 0xb4512d2e in RunHandler (this=0xb6a701a0) at ../../../ipc/chromium/src/base/message_loop.cc:222
#23 MessageLoop::Run (this=0xb6a701a0) at ../../../ipc/chromium/src/base/message_loop.cc:196
#24 0xb4b5b7e2 in nsBaseAppShell::Run (this=0xb2145160) at ../../../widget/xpwidgets/nsBaseAppShell.cpp:164
#25 0xb5412bbe in nsAppStartup::Run (this=0xb2144c40) at ../../../../toolkit/components/startup/nsAppStartup.cpp:278
#26 0xb53f95ea in XREMain::XRE_mainRun (this=0xbe92c98c) at ../../../toolkit/xre/nsAppRunner.cpp:4013
#27 0xb53f97d6 in XREMain::XRE_main (this=0xbe92c98c, argc=<optimized out>, argv=<optimized out>, aAppData=<optimized out>) at ../../../toolkit/xre/nsAppRunner.cpp:4084
#28 0xb53f9930 in XRE_main (argc=1, argv=0xbe92eb44, aAppData=0x24938, aFlags=<optimized out>) at ../../../toolkit/xre/nsAppRunner.cpp:4298
#29 0x0000ae9c in do_main (argv=0xbe92eb44, argc=1) at ../../../b2g/app/nsBrowserApp.cpp:163
---Type <return> to continue, or q <return> to quit---
#30 main (argc=<optimized out>, argv=<optimized out>) at ../../../b2g/app/nsBrowserApp.cpp:256
(gdb) l
162	    return;
163	  }
164	
165	  if (surf->Type() != SharedSurfaceType::Gralloc) {
166	    printf_stderr("Unexpected non-Gralloc SharedSurface in IPC path!");
167	    MOZ_ASSERT(false);
168	    return;
169	  }
170	
171	  SharedSurface_Gralloc* grallocSurf = SharedSurface_Gralloc::Cast(surf);

(gdb) p this
$2 = (mozilla::layers::CanvasClientSurfaceStream * const) 0xac68ab20
(gdb) p *this
$3 = {<mozilla::layers::CanvasClient> = {<mozilla::layers::CompositableClient> = {_vptr.CompositableClient = 0xb62f7f58, mRefCnt = {static isThreadSafe = true, 
        mValue = {<mozilla::detail::AtomicBaseIncDec<unsigned int, (mozilla::MemoryOrdering)2>> = {<mozilla::detail::AtomicBase<unsigned int, (mozilla::MemoryOrdering)2>> = {
              mValue = 1}, <No data fields>}, <No data fields>}}, mCompositableChild = 0xaa45e0a0, mForwarder = 0xae4924c0, mTextureFlags = 40962}, mTextureInfo = {mCompositableType = mozilla::layers::BUFFER_UNKNOWN, 
      mDeprecatedTextureHostFlags = mozilla::layers::DEFAULT, mTextureFlags = 40962}}, mBuffer = {ptr = 0x0}}
(gdb) p stream
$4 = (mozilla::gfx::SurfaceStream *) 0xb121b900
(gdb) p *stream
$5 = {<mozilla::GenericAtomicRefCounted> = {<mozilla::detail::GenericRefCounted<(mozilla::detail::RefCountAtomicity)0>> = {<mozilla::GenericRefCountedBase> = {_vptr.GenericRefCountedBase = 0xb62f60b0}, 
      refCnt = {<mozilla::detail::AtomicBaseIncDec<unsigned int, (mozilla::MemoryOrdering)2>> = {<mozilla::detail::AtomicBase<unsigned int, (mozilla::MemoryOrdering)2>> = {
            mValue = 2}, <No data fields>}, <No data fields>}}, <No data fields>}, mType = mozilla::gfx::TripleBuffer, mProducer = 0xaa45e220, mSurfaces = {
    _M_t = {<std::priv::_Rb_tree_base<mozilla::gfx::SharedSurface*, std::allocator<mozilla::gfx::SharedSurface*> >> = {
        _M_header = {<std::allocator<std::priv::_Rb_tree_node<mozilla::gfx::SharedSurface*> >> = {<std::__stlport_class<std::allocator<std::priv::_Rb_tree_node<mozilla::gfx::SharedSurface*> > >> = {<No data fields>}, <No data fields>}, _M_data = {_M_color = false, _M_parent = 0xac68a5a0, _M_left = 0xac68ad00, _M_right = 0xac68a5a0}}}, _M_node_count = 2, 
      _M_key_compare = {<std::binary_function<mozilla::gfx::SharedSurface*, mozilla::gfx::SharedSurface*, bool>> = {<No data fields>}, <std::__stlport_class<std::less<mozilla::gfx::SharedSurface*> >> = {<No data fields>}, <No data fields>}}}, mScraps = {c = {<std::priv::_Deque_base<mozilla::gfx::SharedSurface*, std::allocator<mozilla::gfx::SharedSurface*> >> = {_M_start = {<std::priv::_Deque_iterator_base<mozilla::gfx::SharedSurface*>> = {
            _M_cur = 0xb121b980, _M_first = 0xb121b980, _M_last = 0xb121ba00, _M_node = 0xadeef3ec}, <No data fields>}, _M_finish = {<std::priv::_Deque_iterator_base<mozilla::gfx::SharedSurface*>> = {_M_cur = 0xb121b980, 
            _M_first = 0xb121b980, _M_last = 0xb121ba00, _M_node = 0xadeef3ec}, <No data fields>}, 
        _M_map = {<std::allocator<mozilla::gfx::SharedSurface**>> = {<std::__stlport_class<std::allocator<mozilla::gfx::SharedSurface**> >> = {<No data fields>}, <No data fields>}, _M_data = 0xadeef3e0}, 
        _M_map_size = {<std::allocator<mozilla::gfx::SharedSurface*>> = {<std::__stlport_class<std::allocator<mozilla::gfx::SharedSurface*> >> = {<No data fields>}, <No data fields>}, _M_data = 8}}, <No data fields>}}, 
  mMonitor = {mMutex = {<mozilla::OffTheBooksMutex> = {<mozilla::BlockingResourceBase> = {static kResourceTypeName = 0xb6282fc0, mChainPrev = 0x0, mDDEntry = 0xadf1e290, static sCallOnce = {initialized = 1, inProgress = 1, 
            status = PR_SUCCESS}, static sResourceAcqnChainFrontTPI = 2, static sDeadlockDetector = 0xb6a3b190}, mLock = 0xaef3fa60}, <No data fields>}, mCondVar = {<mozilla::BlockingResourceBase> = {
        static kResourceTypeName = 0xb6282fc0, mChainPrev = 0x0, mDDEntry = 0xadf1e2c0, static sCallOnce = {initialized = 1, inProgress = 1, status = PR_SUCCESS}, static sResourceAcqnChainFrontTPI = 2, 
        static sDeadlockDetector = 0xb6a3b190}, mLock = 0xb121b950, mCvar = 0xadf1e300}}, mIsAlive = true, mGLContext = 0xac03a800}
Flags: needinfo?(milan)
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → DUPLICATE
Conversation continues in bug 1033293.
Flags: needinfo?(milan)
You need to log in before you can comment on or make changes to this bug.