Closed Bug 869096 Opened 11 years ago Closed 6 years ago

Infinite loop of child process sending Msg_UpdateNoSwap to parent in B2G settings app

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED WONTFIX

People

(Reporter: justin.lebar+bug, Unassigned)

Details

With IPC message logging enabled (*), I opened the settings app and tried to enable Wifi.  This was the second time I'd launched the B2G process since rebooting, and due to a bug in B2G, wifi doesn't work.  You can enable it in the settings app, but it doesn't find any networks.

Anyway, I enabled it, observed that it didn't find any networks, and then clicked "back" in the settings app, going back to the main screen.  Suddenly, we entered into an infinite loop of

> [time:1367864925461769][654][PLayersChild] Sending Msg_UpdateNoSwap([TODO])
> [time:1367864925463084][526][PLayersParent] Received Msg_UpdateNoSwap([TODO])

This didn't cease until my screen turned off.

Once I turned the screen back on again, the messages started again.

Nothing on the screen is changing, as far as I can see.

I don't know if this is a Gaia bug or a layers bug, but since nothing seems to be changing onscreen, I filed this in layers.  I'll see if I can get a stack trace to see what's causing us to send this message.

This seems to be consistently reproducible.

(*) To turn on IPC message logging, modify ipc/glue/ProtocolUtils.h::LoggingEnabled(), and then rebuild.  You'll have to run B2G from within adb shell in order to see the messages, which are logged to stderr.

> $ adb shell
> # stop b2g
> # b2g.sh
This probably isn't very interesting, but here's the backtrace.

> #0  mozilla::layers::PLayersChild::SendUpdateNoSwap (this=0x42a18220, cset=..., targetConfig=..., isFirstPaint=@0x439930bc) at PLayersChild.cpp:314
> #1  0x40ccb2e4 in mozilla::layers::ShadowLayerForwarder::EndTransaction (this=0x439930a8, aReplies=<value optimized out>) at ../../../../ff-git2/src/gfx/layers/ipc/ShadowLayers.cpp:377
> #2  0x40caaee2 in mozilla::layers::BasicShadowLayerManager::ForwardTransaction (this=0x43993030) at ../../../../ff-git2/src/gfx/layers/basic/BasicLayerManager.cpp:1204
> #3  0x40cab1bc in mozilla::layers::BasicShadowLayerManager::EndTransaction (this=0x43993030, aCallback=0x40506d91 <mozilla::FrameLayerBuilder::DrawThebesLayer(mozilla::layers::ThebesLayer*, gfxContext*, nsIntRegion const&, nsIntRegion const&, void*)>, aCallbackData=0xbe9397d8, aFlags=mozilla::layers::LayerManager::END_NO_COMPOSITE) at ../../../../ff-git2/src/gfx/layers/basic/BasicLayerManager.cpp:1150
> #4  0x405254b2 in nsDisplayList::PaintForFrame (this=<value optimized out>, aBuilder=0xbe9397d8, aCtx=<value optimized out>, aForFrame=<value optimized out>, aFlags=13) at ../../../../ff-git2/src/layout/base/nsDisplayList.cpp:1159
> #5  0x40525618 in nsDisplayList::PaintRoot (this=0xbe939b60, aBuilder=0xbe9397d8, aCtx=0x0, aFlags=13) at ../../../../ff-git2/src/layout/base/nsDisplayList.cpp:1024
> #6  0x40534ffe in nsLayoutUtils::PaintFrame (aRenderingContext=<value optimized out>, aFrame=0x42a2e800, aDirtyRegion=<value optimized out>, aBackstop=<value optimized out>, aFlags=772) at ../../../../ff-git2/src/layout/base/nsLayoutUtils.cpp:1955
> #7  0x40541238 in PresShell::Paint (this=0x43fbff00, aViewToPaint=<value optimized out>, aDirtyRegion=..., aType=nsIPresShell::PaintType_NoComposite, aWillSendDidPaint=<value optimized out>) at ../../../../ff-git2/src/layout/base/nsPresShell.cpp:5364
> #8  0x40755882 in nsViewManager::ProcessPendingUpdatesForView (this=0x43f33130, aView=0x43fc4a00, aFlushDirtyRegion=<value optimized out>) at ../../../../ff-git2/src/view/src/nsViewManager.cpp:431
> #9  0x4075591e in nsViewManager::ProcessPendingUpdates (this=0x43f33130) at ../../../../ff-git2/src/view/src/nsViewManager.cpp:1221
> #10 0x40544ba6 in nsRefreshDriver::Notify (this=0x43916f50, aTimer=<value optimized out>) at ../../../../ff-git2/src/layout/base/nsRefreshDriver.cpp:436
> #11 0x40c4b3b8 in nsTimerImpl::Fire (this=0x44092700) at ../../../../ff-git2/src/xpcom/threads/nsTimerImpl.cpp:476
> #12 0x40c4b466 in nsTimerEvent::Run (this=<value optimized out>) at ../../../../ff-git2/src/xpcom/threads/nsTimerImpl.cpp:556
> #13 0x40c4959e in nsThread::ProcessNextEvent (this=0x41a068e0, mayWait=<value optimized out>, result=0xbe939f97) at ../../../../ff-git2/src/xpcom/threads/nsThread.cpp:620
> #14 0x40c29976 in NS_ProcessNextEvent_P (thread=0x42a18220, mayWait=true) at ../../../../ff-git2/src/xpcom/glue/nsThreadUtils.cpp:237
Interestingly this chatter does not seem to trigger the symptoms of bug 847592.  That's good...
Mass closing as we are no longer working on b2g/firefox os.
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → WONTFIX
Mass closing as we are no longer working on b2g/firefox os.
You need to log in before you can comment on or make changes to this bug.