diff --git a/gfx/2d/Logging.h b/gfx/2d/Logging.h index da0534c8bdf0..1483f6802bd4 100644 --- a/gfx/2d/Logging.h +++ b/gfx/2d/Logging.h @@ -132,6 +132,7 @@ enum class LogReason : int { CannotDraw3D, // 20 IncompatibleBasicTexturedEffect, InvalidFont, + AsyncTransactionTimeout, // End MustBeLessThanThis = 101, }; diff --git a/gfx/layers/ipc/AsyncTransactionTracker.cpp b/gfx/layers/ipc/AsyncTransactionTracker.cpp index b72687282bae..776a01702f0f 100755 --- a/gfx/layers/ipc/AsyncTransactionTracker.cpp +++ b/gfx/layers/ipc/AsyncTransactionTracker.cpp @@ -34,6 +34,10 @@ AsyncTransactionWaiter::WaitComplete() if (mWaitCount > 0) { printf_stderr("Timeout of waiting transaction complete."); } + + if (count == maxCount) { + gfxDevCrash(LogReason::AsyncTransactionTimeout) << "Bug 1244883: AsyncTransactionWaiter timed out."; + } } Atomic AsyncTransactionTracker::sSerialCounter(0);