Closed Bug 1281169 Opened 8 years ago Closed 8 years ago

AsyncTransactionTracker.h: Assertion fails: MOZ_ASSERT(mWaitCount > 0)

Categories

(Core :: Graphics: Layers, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla50
Tracking Status
firefox50 --- fixed

People

(Reporter: tzimmermann, Assigned: sotaro)

References

Details

Attachments

(1 file, 3 obsolete files)

This is fallout from bug 1252835. The full stack trace is shown below.

Program received signal SIGSEGV, Segmentation fault.
0xb36593e2 in DecrementWaitCount (this=<optimized out>) at ../../dist/include/mozilla/layers/AsyncTransactionTracker.h:45
45          MOZ_ASSERT(mWaitCount > 0);
(gdb) bt
#0  0xb36593e2 in DecrementWaitCount (this=<optimized out>) at ../../dist/include/mozilla/layers/AsyncTransactionTracker.h:45
#1  mozilla::layers::TextureClient::ClearWaitFenceHandleOnImageBridge (this=this@entry=0xae09e560, aMutex=...)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:806
#2  0xb3683bd8 in mozilla::layers::ImageBridgeChild::CancelWaitFenceHandle (this=0xad6fa600, aClient=0xae09e560)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/ipc/ImageBridgeChild.cpp:361
#3  0xb366a168 in mozilla::layers::TextureClient::Destroy (this=this@entry=0xae09e560, aForceSync=aForceSync@entry=false)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:366
#4  0xb366a286 in mozilla::layers::TextureClient::~TextureClient (this=this@entry=0xae09e560, __in_chrg=<optimized out>)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:546
#5  0xb366a392 in mozilla::layers::TextureClient::~TextureClient (this=0xae09e560, __in_chrg=<optimized out>)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:547
#6  0xb3535774 in mozilla::AtomicRefCountedWithFinalize<mozilla::layers::TextureClient>::Release (this=0xae09e564)
    at ../../../../dist/include/mozilla/layers/AtomicRefCountedWithFinalize.h:151
#7  0xb3655e08 in assign_with_AddRef (aRawPtr=0x0, this=<optimized out>) at ../../dist/include/mozilla/RefPtr.h:55
#8  operator= (aRhs=0x0, this=<optimized out>) at ../../dist/include/mozilla/RefPtr.h:174
#9  mozilla::layers::TextureClientReleaseTask::Run (this=<optimized out>) at ../../dist/include/mozilla/layers/TextureClient.h:762
#10 0xb2faf352 in nsThread::ProcessNextEvent (this=0xb646dd40, aMayWait=<optimized out>, aResult=0xbe8bd5a7)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/xpcom/threads/nsThread.cpp:1029
#11 0xb2fc9888 in NS_ProcessNextEvent (aThread=aThread@entry=0xb646dd40, aMayWait=aMayWait@entry=false)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/xpcom/glue/nsThreadUtils.cpp:290
#12 0xb324a2aa in mozilla::ipc::MessagePump::Run (this=0xb6438c68, aDelegate=0xb64956c0)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/glue/MessagePump.cpp:100
#13 0xb322f044 in MessageLoop::RunInternal (this=this@entry=0xb64956c0)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/chromium/src/base/message_loop.cc:235
#14 0xb322f18c in RunHandler (this=0xb64956c0) at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/chromium/src/base/message_loop.cc:228
#15 MessageLoop::Run (this=0xb64956c0) at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/chromium/src/base/message_loop.cc:208
#16 0xb4347472 in nsBaseAppShell::Run (this=0xb6766700) at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/widget/nsBaseAppShell.cpp:156
#17 0xb487c538 in nsAppStartup::Run (this=0xb67628b0) at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/toolkit/components/startup/nsAppStartup.cpp:284
#18 0xb48be7d6 in XREMain::XRE_mainRun (this=this@entry=0xbe8bd778) at ../../../../hg.mozilla.org/mozilla-central/toolkit/xre/nsAppRunner.cpp:4391
#19 0xb48beb52 in XREMain::XRE_main (this=this@entry=0xbe8bd778, argc=argc@entry=1, argv=argv@entry=0xb6403150, aAppData=aAppData@entry=0xb6febc88 <_ZL8sAppData>)
    at ../../../../hg.mozilla.org/mozilla-central/toolkit/xre/nsAppRunner.cpp:4495
#20 0xb48bedbe in XRE_main (argc=1, argv=0xb6403150, aAppData=0xb6febc88 <_ZL8sAppData>, aFlags=<optimized out>)
    at ../../../../hg.mozilla.org/mozilla-central/toolkit/xre/nsAppRunner.cpp:4600
#21 0xb6fc64e2 in do_main (argc=argc@entry=1, argv=argv@entry=0xb6403150) at ../../../../hg.mozilla.org/mozilla-central/b2g/app/nsBrowserApp.cpp:166
#22 0xb6fc6602 in b2g_main (argc=1, argv=<optimized out>) at ../../../../hg.mozilla.org/mozilla-central/b2g/app/nsBrowserApp.cpp:298
#23 0xb6fc62c4 in RunProcesses (aReservedFds=..., argv=0xbe8bea64, argc=1) at ../../../../hg.mozilla.org/mozilla-central/b2g/app/B2GLoader.cpp:232
#24 main (argc=1, argv=0xbe8bea64) at ../../../../hg.mozilla.org/mozilla-central/b2g/app/B2GLoader.cpp:299
Hi Sotaro,

this bug was introduced by bug 1252835. All the checks for mWaitCount > 0 are present and succeed. But then the final assertion fails. So this looks like a race between two threads freeing the same TextureClient concurrently.

I'd provide a fix, but I'd need some guidance on possible bug sources and were to look.
Flags: needinfo?(sotaro.ikeda.g)
Checks like the one at [1] are unprotected by the monitor in |AsyncTransactionWaiter|.

https://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/TextureClient.cpp#802
I removed the texture release from the IPC thread (?), because this is later also done on the allocator's thread. Now I get at least into b2g's home screen. But there, the UI blocks completely. A short stack trace is shown below.

(gdb) thread
[Current thread is 1 (Thread 318.318)]
(gdb) bt
#0  syscall () at bionic/libc/arch-arm/bionic/syscall.S:44
#1  0xb6d60a84 in __futex (timeout=0xbef032a0, value=0, op=128, ftx=0xac7fa514) at bionic/libc/private/bionic_futex.h:45
#2  __futex_wait_ex (timeout=0xbef032a0, value=0, shared=<optimized out>, ftx=0xac7fa514) at bionic/libc/private/bionic_futex.h:66
#3  __pthread_cond_timedwait_relative (cond=cond@entry=0xac7fa514, mutex=mutex@entry=0xad6785b0, reltime=0xbef032a0) at bionic/libc/bionic/pthread_cond.cpp:156
#4  0xb6d60ac8 in __pthread_cond_timedwait (cond=0xac7fa514, mutex=0xad6785b0, abstime=<optimized out>, clock=<optimized out>) at bionic/libc/bionic/pthread_cond.cpp:179
#5  0xb6f23228 in __wrap_pthread_cond_timedwait (cond=0xac7fa514, mtx=0xad6785b0, abstime=0xbef032f8) at ../../../../hg.mozilla.org/mozilla-central/mozglue/build/Nuwa.cpp:1272
#6  0xb6b249d2 in pt_TimedWait (cv=0xac7fa514, ml=0xad6785b0, timeout=timeout@entry=10000)
    at ../../../../../../hg.mozilla.org/mozilla-central/nsprpub/pr/src/pthreads/ptsynch.c:264
#7  0xb6b2510e in PR_WaitCondVar (cvar=0xac7fa510, timeout=10000) at ../../../../../../hg.mozilla.org/mozilla-central/nsprpub/pr/src/pthreads/ptsynch.c:398
#8  0xb2ddc800 in mozilla::CondVar::Wait (this=this@entry=0xaa2b0480, aInterval=10000)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/xpcom/glue/BlockingResourceBase.cpp:499
#9  0xb349b45a in Wait (aInterval=<optimized out>, this=<optimized out>) at ../../dist/include/mozilla/Monitor.h:40
#10 mozilla::layers::AsyncTransactionWaiter::WaitComplete (this=0xaa2b0468)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/ipc/AsyncTransactionTracker.cpp:24
#11 0xb3479c10 in mozilla::layers::TextureClient::Lock (this=0xab8dad40, aMode=<optimized out>)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:447
#12 0xb3489b18 in mozilla::layers::TileClient::GetBackBuffer (this=this@entry=0xaedbb2ac, aDirtyRegion=..., aContent=aContent@entry=COLOR, aMode=<optimized out>,
    aAddPaintedRegion=..., aBackBufferOnWhite=aBackBufferOnWhite@entry=0xbef03538)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TiledContentClient.cpp:685
#13 0xb3489db0 in mozilla::layers::ClientSingleTiledLayerBuffer::PaintThebes (this=0xaedbb280, aNewValidRegion=..., aPaintRegion=..., aDirtyRegion=...,
    aCallback=0xb42c6e51 <mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*)>,
    aCallbackData=0xbef03ca0, aIsProgressive=false) at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/SingleTiledContentClient.cpp:142
#14 0xb346d578 in mozilla::layers::ClientTiledPaintedLayer::RenderHighPrecision (this=0xa4122900, aInvalidRegion=..., aVisibleRegion=...,
    aCallback=0xb42c6e51 <mozilla::FrameLayerBuilder::DrawPaintedLayer(mozilla::layers::PaintedLayer*, gfxContext*, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, mozilla::layers::DrawRegionClip, mozilla::gfx::IntRegionTyped<mozilla::gfx::UnknownUnits> const&, void*)>,
    aCallbackData=0xbef03ca0) at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/ClientTiledPaintedLayer.cpp:341
#15 0xb34700ce in mozilla::layers::ClientTiledPaintedLayer::RenderLayer (this=0xa4122900)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/ClientTiledPaintedLayer.cpp:534
Attachment #8763907 - Flags: feedback?(sotaro.ikeda.g)
Hmm, something seems inconsistent.

I checked the patch on b2g only on end of last March. Since then I did not checked the patch on b2g, since the b2g build of m-c was broken long time. I am trying to set up the build by using pine by reading the following.

https://developer.mozilla.org/en-US/docs/Mozilla/B2G_OS/Preparing_for_your_first_B2G_build
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #2)
> Checks like the one at [1] are unprotected by the monitor in
> |AsyncTransactionWaiter|.
> 
> https://dxr.mozilla.org/mozilla-central/source/gfx/layers/client/
> TextureClient.cpp#802

In current gecko, AsyncTransactionWaiter::mWaitCount is updated only when ImageBridgeChild::mWaitingFenceHandleMutex is held. Then the above seems not causing the problem.
In TextureClient::ClearWaitFenceHandleOnImageBridge() one assert is wrong.
Attached patch patch - Remove wrong assert (obsolete) — Splinter Review
Flags: needinfo?(sotaro.ikeda.g)
(In reply to Sotaro Ikeda [:sotaro] from comment #4)
>  I am trying to set up the build by using pine by reading the following.

The build was failed with the following message :(

> mozbuild.configure.options.InvalidOptionError: Unknown option: --with-android-ndk
Comment on attachment 8763907 [details] [diff] [review]
WIP: Remove release on IPC thread

Review of attachment 8763907 [details] [diff] [review]:
-----------------------------------------------------------------

::: gfx/layers/ipc/ImageBridgeChild.cpp
@@ +338,5 @@
>      return;
>    }
>  
>    MOZ_ASSERT(aTextureId == client->GetSerial());
> +//  client->ClearWaitFenceHandleOnImageBridge(mWaitingFenceHandleMutex);

The above is necessary to notify fence delivery to TextureClient.
(In reply to Sotaro Ikeda [:sotaro] from comment #8)
> (In reply to Sotaro Ikeda [:sotaro] from comment #4)
> >  I am trying to set up the build by using pine by reading the following.
> 
> The build was failed with the following message :(
> 
> > mozbuild.configure.options.InvalidOptionError: Unknown option: --with-android-ndk

By commenting out the following in default-gecko-config. I confirmed the b2g boot on nexus-5-l with pine gecko.
> ac_add_options --with-android-ndk="${B2G_ANDROID_NDK_PATH}"
(In reply to Sotaro Ikeda [:sotaro] from comment #10)
> 
> By commenting out the following in default-gecko-config. I confirmed the b2g
> boot on nexus-5-l with pine gecko.
> > ac_add_options --with-android-ndk="${B2G_ANDROID_NDK_PATH}"

maser gecko requested to revert the above, then build was failed around "include/stdatomic.h".
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #3)
> Created attachment 8763907 [details] [diff] [review]
> WIP: Remove release on IPC thread
> 
> I removed the texture release from the IPC thread (?),

It does signal fence delivery complete.

> because this is later
> also done on the allocator's thread. 

Yes, the later just release the TextureClient pointer ref on allocator`s thread, since it was necessary for TextureClient in the past and it is safer keep it for the time being.
(In reply to Sotaro Ikeda [:sotaro] from comment #11)
> 
> maser gecko requested to revert the above, then build was failed around
> "include/stdatomic.h".

Builds were failed on nexus-5-l and flame-kk.
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #0)
> This is fallout from bug 1252835. The full stack trace is shown below.
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0xb36593e2 in DecrementWaitCount (this=<optimized out>) at
> ../../dist/include/mozilla/layers/AsyncTransactionTracker.h:45
> 45          MOZ_ASSERT(mWaitCount > 0);

If TextureClient::~TextureClient() is called under TextureClientReleaseTask::Run(), mWaitCount should be 0. I am not sure what cause the problem. In master gecko, mWaitCount should be updated only when ImageBridgeChild::mWaitingFenceHandleMutex is held.
Attachment #8763907 - Flags: feedback?(sotaro.ikeda.g)
Hi Sotaro

(In reply to Sotaro Ikeda [:sotaro] from comment #10)
> (In reply to Sotaro Ikeda [:sotaro] from comment #8)
> > (In reply to Sotaro Ikeda [:sotaro] from comment #4)
> > >  I am trying to set up the build by using pine by reading the following.
> > 
> > The build was failed with the following message :(
> > 
> > > mozbuild.configure.options.InvalidOptionError: Unknown option: --with-android-ndk
> 
> By commenting out the following in default-gecko-config. I confirmed the b2g
> boot on nexus-5-l with pine gecko.
> > ac_add_options --with-android-ndk="${B2G_ANDROID_NDK_PATH}"

Thanks you for your efforts! We are in the process of converting b2g to C++11 and merging pine back into m-c. Unfortunately that depends on this bug.

You should be able to build m-c or pine with the steps described in

  https://discourse.mozilla-community.org/t/how-to-build-pine-and-m-c-please-read/9343

Let me know if I can help you with anything. We need this fix not only for b2g, but also for the Web Tablet, we're investigating at CD.
Flags: needinfo?(sotaro.ikeda.g)
> https://discourse.mozilla-community.org/t/how-to-build-pine-and-m-c-please-
> read/9343
> 

Thanks for the info! With the following, I succeeded to build master b2g on nexus-5-l.

-[1] include/binder/Binder.h of frameworks/native of nexus-5-l  does not have the following change.
  I locally added the change.
  > https://github.com/mozilla-b2g/platform_frameworks_native/commit/77c23f8067bca84476f96d663efaae636817edd5

-[2] android-ndk-r12 caused build failure.
  "$HOME/.mozbuild/android-ndk-r11b" worked.
Flags: needinfo?(sotaro.ikeda.g)
I tried to boot b2g with master gecko on nexus-5-l, but it did not reach even graphics task. Spend a lot of time just to boot b2g is not good. "Disabling fence handling" does not cause a problem in most use cases, then it is better to disable Fence handling until b2g master gecko becomes more stable.
It temporarily disables gonk fence handling. It should not cause the rendering problem almost all use cases.
Attachment #8764095 - Attachment is obsolete: true
:tdz, can you check the patch?
Flags: needinfo?(tzimmermann)
Hi Sotaro. I applied the patch and now got the error below during boot. It looks related, but it could be something else as well.

Program received signal SIGSEGV, Segmentation fault.
0xb34ad7a2 in mozilla::layers::GrallocTextureData::Forget (this=0xa71b0dc0, aAllocator=0x0)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/opengl/GrallocTextureClient.cpp:127
127       MOZ_ASSERT(aAllocator);
(gdb) bt
#0  0xb34ad7a2 in mozilla::layers::GrallocTextureData::Forget (this=0xa71b0dc0, aAllocator=0x0)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/opengl/GrallocTextureClient.cpp:127
#1  0xb34865f4 in mozilla::layers::DestroyTextureData (aTextureData=0xa71b0dc0, aAllocator=0x0, aDeallocate=<optimized out>, aMainThreadOnly=<optimized out>)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:242
#2  0xb3486642 in mozilla::layers::TextureChild::ActorDestroy (this=0xa9351ac0, why=<optimized out>)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/client/TextureClient.cpp:253
#3  0xb316636e in mozilla::layers::PTextureChild::OnMessageReceived (this=0xa9351ac0, msg__=...) at PTextureChild.cpp:231
#4  0xb3064828 in mozilla::ipc::MessageChannel::DispatchAsyncMessage (this=0xaa4d0038, aMsg=...)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/glue/MessageChannel.cpp:1658
#5  0xb306f2c8 in mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) (this=this@entry=0xaa4d0038, 
    aMsg=aMsg@entry=<unknown type in /home/mozilla/Projects/mozilla/src/B2G-master-aries-l/objdir-gecko-debug/toolkit/library/libxul.so, CU 0x27d1e10, DIE 0x28c323d>)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/glue/MessageChannel.cpp:1596
#6  0xb306fcee in mozilla::ipc::MessageChannel::OnMaybeDequeueOne (this=0xaa4d0038)
    at /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/ipc/glue/MessageChannel.cpp:1563
#7  0xb306134c in applyImpl<mozilla::ipc::MessageChannel, void (mozilla::ipc::MessageChannel::*)()> (args=..., m=<optimized out>, o=<optimized out>)
    at ../../dist/include/nsThreadUtils.h:722
#8  apply<mozilla::ipc::MessageChannel, void (mozilla::ipc::MessageChannel::*)()> (this=<optimized out>, m=<optimized out>, o=<optimized out>)
    at ../../dist/include/nsThreadUtils.h:729
#9  nsRunnableMethodImpl<void (mozilla::ipc::MessageChannel::*)(), false, true>::Run (this=<optimized out>) at ../../dist/include/nsThreadUtils.h:756
#10 0xb30612b0 in Run (this=<optimized out>) at ../../dist/include/mozilla/ipc/MessageChannel.h:476
Flags: needinfo?(tzimmermann) → needinfo?(sotaro.ikeda.g)
(In reply to Thomas Zimmermann [:tzimmermann] [:tdz] from comment #20)
> Hi Sotaro. I applied the patch and now got the error below during boot. It
> looks related, but it could be something else as well.
> 
> Program received signal SIGSEGV, Segmentation fault.
> 0xb34ad7a2 in mozilla::layers::GrallocTextureData::Forget (this=0xa71b0dc0,
> aAllocator=0x0)
>     at
> /home/mozilla/Projects/mozilla/src/hg.mozilla.org/mozilla-central/gfx/layers/
> opengl/GrallocTextureClient.cpp:127
> 127       MOZ_ASSERT(aAllocator);
> (gdb) bt
> #0  0xb34ad7a2 in mozilla::layers::GrallocTextureData::Forget
> (this=0xa71b0dc0, aAllocator=0x0)
>     at

It seems like a different problem. One strange thing is that "aAllocator=0x0". In normal use case, it should have valid pointer.
Flags: needinfo?(sotaro.ikeda.g)
From the source, the problem of comment 20 seems to be caused by Bug 1176011. It added TextureChild::mTextureForwarder, but it is not initialized correctly.
:tdz, can you check attachment 8764285 [details] [diff] [review]?
Flags: needinfo?(tzimmermann)
Attachment #8764247 - Flags: feedback+
Attachment #8764285 - Flags: feedback+
Together, both patches fix the boot problems. Thanks a lot Sotaro!
Flags: needinfo?(tzimmermann)
Nice! Thanks.
Attachment #8764247 - Attachment description: patch - Temporalily disable gonk fence handling → patch part 1 - Temporalily disable gonk fence handling
Depends on: 1176011
Blocks: 1176011, 1252835
No longer depends on: 1176011, 1252835
Attachment #8763907 - Attachment is obsolete: true
Comment on attachment 8764247 [details] [diff] [review]
patch - Temporarily disable gonk fence handling

:nical, the patch temporarily disable gonk fence handling until b2g build becomes stable. I am going to enable again after b2g build becomes stable.
Attachment #8764247 - Flags: review?(nical.bugzilla)
Attachment #8764285 - Flags: review?(nical.bugzilla)
Attachment #8764247 - Attachment description: patch part 1 - Temporalily disable gonk fence handling → patch part 1 - Temporarily disable gonk fence handling
Assignee: nobody → sotaro.ikeda.g
Blocks: 1281677
There's a lot of confusion and brokenness around TextureForwarder right now. It's slightly more complicated than your patch (for example, CompositableForwarder should not inherit TextureForwarder because the actual object we use as TextureForwarder is CompositorBridgeChild). I don't quite sure how things even work at all currently.

I'm working on a (slightly more involved) fix that will incorporate what you need to fix this bug and I'll submit it today.
Thanks!
Depends on: 1281780
Attachment #8764247 - Flags: review?(nical.bugzilla) → review+
Attachment #8764285 - Attachment is obsolete: true
Attachment #8764285 - Flags: review?(nical.bugzilla)
Attachment #8764247 - Attachment description: patch part 1 - Temporarily disable gonk fence handling → patch - Temporarily disable gonk fence handling
Pushed by sikeda@mozilla.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/57ca4b46749a
Temporarily disable gonk fence handling r=nical
https://hg.mozilla.org/mozilla-central/rev/57ca4b46749a
Status: NEW → RESOLVED
Closed: 8 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla50
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: