Open Bug 1811654 Opened 2 years ago Updated 2 years ago

Assertion failure: CompositorThread() && CompositorThread()->IsOnCurrentThread(), at /builds/worker/checkouts/gecko/gfx/layers/ipc/VideoBridgeParent.cpp:88

Categories

(Core :: Graphics, defect)

defect

Tracking

()

Tracking Status
firefox111 --- affected

People

(Reporter: tsmith, Unassigned)

References

(Blocks 1 open bug)

Details

(Keywords: assertion, testcase)

Attachments

(1 file)

Attached file testcase.html (deleted) —

Found while fuzzing m-c 20221121-a29b80b10710 (--enable-address-sanitizer --enable-fuzzing)

To reproduce via Grizzly Replay:

$ pip install fuzzfetch grizzly-framework
$ python -m fuzzfetch -a --fuzzing -n firefox
$ python -m grizzly.replay ./firefox/firefox testcase.html --no-harness --repeat 10

The test case is not 100% reliable but a Pernosco session is avaliable here: https://pernos.co/debug/ZNtgQ2cftZfCilz54Evn9w/index.html

Assertion failure: CompositorThread() && CompositorThread()->IsOnCurrentThread(), at /builds/worker/checkouts/gecko/gfx/layers/ipc/VideoBridgeParent.cpp:88

#0 0x7f447368292c in mozilla::layers::VideoBridgeParent::LookupTexture(unsigned long) /builds/worker/checkouts/gecko/gfx/layers/ipc/VideoBridgeParent.cpp:87:3
#1 0x7f44735cf3f4 in mozilla::layers::GPUVideoTextureHost::EnsureWrappedTextureHost() /builds/worker/checkouts/gecko/gfx/layers/composite/GPUVideoTextureHost.cpp:47:33
#2 0x7f44735d03f8 in mozilla::layers::GPUVideoTextureHost::IsWrappingBufferTextureHost() /builds/worker/checkouts/gecko/gfx/layers/composite/GPUVideoTextureHost.cpp:203:7
#3 0x7f44732e9784 in mozilla::layers::WebRenderTextureHost::UnbindTextureSource() /builds/worker/checkouts/gecko/gfx/layers/wr/WebRenderTextureHost.cpp:71:28
#4 0x7f4473356350 in ReleaseCompositableRef /builds/worker/workspace/obj-build/dist/include/mozilla/layers/TextureHost.h:581:7
#5 0x7f4473356350 in mozilla::layers::CompositableTextureRef<mozilla::layers::TextureHost>::~CompositableTextureRef() /builds/worker/workspace/obj-build/dist/include/mozilla/layers/TextureHost.h:243:13
#6 0x7f44735e06cf in ~TimedImage /builds/worker/checkouts/gecko/gfx/layers/composite/ImageComposite.h:61:10
#7 0x7f44735e06cf in Destruct /builds/worker/workspace/obj-build/dist/include/nsTArray.h:642:45
#8 0x7f44735e06cf in nsTArray_Impl<mozilla::layers::ImageComposite::TimedImage, nsTArrayInfallibleAllocator>::DestructRange(unsigned long, unsigned long) /builds/worker/workspace/obj-build/dist/include/nsTArray.h:2408:7
#9 0x7f44735d076f in ClearAndRetainStorage /builds/worker/workspace/obj-build/dist/include/nsTArray.h:1477:5
#10 0x7f44735d076f in nsTArray_Impl<mozilla::layers::ImageComposite::TimedImage, nsTArrayInfallibleAllocator>::~nsTArray_Impl() /builds/worker/workspace/obj-build/dist/include/nsTArray.h:1031:7
#11 0x7f4473792903 in mozilla::layers::WebRenderImageHost::~WebRenderImageHost() /builds/worker/checkouts/gecko/gfx/layers/wr/WebRenderImageHost.cpp:40:1
#12 0x7f4473792987 in mozilla::layers::WebRenderImageHost::~WebRenderImageHost() /builds/worker/checkouts/gecko/gfx/layers/wr/WebRenderImageHost.cpp:37:43
#13 0x7f447369b0f3 in _M_destroy_node /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:650:2
#14 0x7f447369b0f3 in _M_drop_node /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:658:2
#15 0x7f447369b0f3 in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1858:4
#16 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#17 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#18 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#19 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#20 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#21 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#22 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#23 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#24 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#25 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#26 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#27 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#28 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#29 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#30 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#31 0x7f447369b0cf in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::_M_erase(std::_Rb_tree_node<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>*) /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1856:4
#32 0x7f44736a96fd in std::_Rb_tree<unsigned long, std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>, std::_Select1st<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>, std::less<unsigned long>, std::allocator<std::pair<unsigned long const, RefPtr<mozilla::layers::CompositableHost>>>>::clear() /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_tree.h:1171:9
#33 0x7f44736637d6 in clear /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/7.5.0/../../../../include/c++/7.5.0/bits/stl_map.h:1127:14
#34 0x7f44736637d6 in mozilla::layers::ImageBridgeParent::ActorDestroy(mozilla::ipc::IProtocol::ActorDestroyReason) /builds/worker/checkouts/gecko/gfx/layers/ipc/ImageBridgeParent.cpp:151:18
#35 0x7f44727f1b01 in mozilla::ipc::IProtocol::DestroySubtree(mozilla::ipc::IProtocol::ActorDestroyReason) /builds/worker/checkouts/gecko/ipc/glue/ProtocolUtils.cpp:585:3
#36 0x7f44733d4270 in mozilla::layers::PImageBridgeParent::OnChannelClose() /builds/worker/workspace/obj-build/ipc/ipdl/PImageBridgeParent.cpp:706:5
#37 0x7f44727d0b0a in mozilla::ipc::MessageChannel::Close() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2178:7
#38 0x7f4473663140 in mozilla::layers::ImageBridgeParent::ShutdownInternal() /builds/worker/checkouts/gecko/gfx/layers/ipc/ImageBridgeParent.cpp:131:12
#39 0x7f44736a967f in operator() /builds/worker/checkouts/gecko/gfx/layers/ipc/ImageBridgeParent.cpp:141:22
#40 0x7f44736a967f in mozilla::detail::RunnableFunction<mozilla::layers::ImageBridgeParent::Shutdown()::$_2>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:546:5
#41 0x7f447105758b in nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1191:16
#42 0x7f4471061064 in NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:477:10
#43 0x7f44727d72b0 in mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:330:5
#44 0x7f4472654f57 in RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:381:10
#45 0x7f4472654f57 in RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:374:3
#46 0x7f4472654f57 in MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:356:3
#47 0x7f447104f065 in nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:383:10
#48 0x7f44930eb628 in _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5
#49 0x7f4493862b42 in start_thread nptl/pthread_create.c:442:8
#50 0x7f44938f49ff  misc/../sysdeps/unix/sysv/linux/x86_64/clone3.S:81
Flags: in-testsuite?

Unable to reproduce bug 1811654 using build mozilla-central 20221121153827-a29b80b10710. Without a baseline, bugmon is unable to analyze this bug.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.

Keywords: bugmon
Severity: -- → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: