Bug 1944991 Comment 12 Edit History

Note: The actual edited comment in the bug view page will always show the original commenter’s name and original timestamp.

(In reply to C.M.Chang[:chunmin] from comment #11)
> I hit an assertion in MozPromise after getting a decoded output from
> `AppleVTDecoder`. However, I could not reproduce it anymore so I can only
> upload the stack shown on my terminal. It must be a race somewhere. The
> fuzzer might help us to catch it.


I ran into a crash this morning. Here is the stack. 
```
 0:23.97 TEST_END: CRASH, expected OK
 0:23.97 INFO No more tests
 0:42.68 pid:56093 #01: mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true>::ThenValue<mozilla::MediaChangeMonitor::DecodeFirstSample(mozilla::MediaRawData*)::$_0, mozilla::MediaChangeMonitor::DecodeFirstSample(mozilla::MediaRawData*)::$_1>::DoResolveOrRejectInternal(mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true>::ResolveOrRejectValue&) (/Users/cm/Work/gecko-dev/obj-aarch64-apple-darwin21.4.0/dist/include/mozilla/MozPromise.h:857)
 0:42.68 pid:56093 #02: mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true>::ThenValueBase::ResolveOrRejectRunnable::Run() (/Users/cm/Work/gecko-dev/obj-aarch64-apple-darwin21.4.0/dist/include/mozilla/MozPromise.h:489)
 0:42.68 pid:56093 #03: mozilla::TaskQueue::Runner::Run() (/Users/cm/Work/gecko-dev/xpcom/threads/TaskQueue.cpp:268)
 0:42.68 pid:56093 #04: nsThreadPool::Run() (/Users/cm/Work/gecko-dev/xpcom/threads/nsThreadPool.cpp:458)
 0:42.68 pid:56093 #05: nsThread::ProcessNextEvent(bool, bool*) (/Users/cm/Work/gecko-dev/xpcom/threads/nsThread.cpp:1154)
 0:42.68 pid:56093 #06: NS_ProcessNextEvent(nsIThread*, bool) (/Users/cm/Work/gecko-dev/xpcom/threads/nsThreadUtils.cpp:480)
 0:42.68 pid:56093 #07: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) (/Users/cm/Work/gecko-dev/ipc/glue/MessagePump.cpp:300)
 0:42.68 pid:56093 #08: MessageLoop::RunInternal() (/Users/cm/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:0)
 0:42.68 pid:56093 #09: MessageLoop::Run() (/Users/cm/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:345)
 0:42.68 pid:56093 #10: nsThread::ThreadFunc(void*) (/Users/cm/Work/gecko-dev/xpcom/threads/nsThread.cpp:368)
 0:42.83 pid:56093 #11: _pt_root (/Users/cm/Work/gecko-dev/nsprpub/pr/src/pthreads/ptthread.c:194)
 0:42.84 pid:56093 #12: _pthread_start (/usr/lib/system/libsystem_pthread.dylib + 0x726c)
```

No crash report was created for this issue; I haven't reproduced it in lldb successfully yet.
(In reply to C.M.Chang[:chunmin] from comment #11)
> I hit an assertion in MozPromise after getting a decoded output from
> `AppleVTDecoder`. However, I could not reproduce it anymore so I can only
> upload the stack shown on my terminal. It must be a race somewhere. The
> fuzzer might help us to catch it.


I ran into a crash this morning. Here is the stack. 
```
 0:23.97 TEST_END: CRASH, expected OK
 0:23.97 INFO No more tests
 0:42.68 pid:56093 #01: mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true>::ThenValue<mozilla::MediaChangeMonitor::DecodeFirstSample(mozilla::MediaRawData*)::$_0, mozilla::MediaChangeMonitor::DecodeFirstSample(mozilla::MediaRawData*)::$_1>::DoResolveOrRejectInternal(mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true>::ResolveOrRejectValue&) (/Users/cm/Work/gecko-dev/obj-aarch64-apple-darwin21.4.0/dist/include/mozilla/MozPromise.h:857)
 0:42.68 pid:56093 #02: mozilla::MozPromise<nsTArray<RefPtr<mozilla::MediaData> >, mozilla::MediaResult, true>::ThenValueBase::ResolveOrRejectRunnable::Run() (/Users/cm/Work/gecko-dev/obj-aarch64-apple-darwin21.4.0/dist/include/mozilla/MozPromise.h:489)
 0:42.68 pid:56093 #03: mozilla::TaskQueue::Runner::Run() (/Users/cm/Work/gecko-dev/xpcom/threads/TaskQueue.cpp:268)
 0:42.68 pid:56093 #04: nsThreadPool::Run() (/Users/cm/Work/gecko-dev/xpcom/threads/nsThreadPool.cpp:458)
 0:42.68 pid:56093 #05: nsThread::ProcessNextEvent(bool, bool*) (/Users/cm/Work/gecko-dev/xpcom/threads/nsThread.cpp:1154)
 0:42.68 pid:56093 #06: NS_ProcessNextEvent(nsIThread*, bool) (/Users/cm/Work/gecko-dev/xpcom/threads/nsThreadUtils.cpp:480)
 0:42.68 pid:56093 #07: mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) (/Users/cm/Work/gecko-dev/ipc/glue/MessagePump.cpp:300)
 0:42.68 pid:56093 #08: MessageLoop::RunInternal() (/Users/cm/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:0)
 0:42.68 pid:56093 #09: MessageLoop::Run() (/Users/cm/Work/gecko-dev/ipc/chromium/src/base/message_loop.cc:345)
 0:42.68 pid:56093 #10: nsThread::ThreadFunc(void*) (/Users/cm/Work/gecko-dev/xpcom/threads/nsThread.cpp:368)
 0:42.83 pid:56093 #11: _pt_root (/Users/cm/Work/gecko-dev/nsprpub/pr/src/pthreads/ptthread.c:194)
 0:42.84 pid:56093 #12: _pthread_start (/usr/lib/system/libsystem_pthread.dylib + 0x726c)
```

No crash report was created for this in about:crashes, and I haven't reproduced it under lldb successfully yet.

Back to Bug 1944991 Comment 12