Closed Bug 1890245 Opened 2 years ago Closed 2 years ago

Intermittent SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:1070:17 in IncrementGeneration | single tracking bug

Categories

(Core :: Graphics: Text, defect)

defect

Tracking

()

RESOLVED FIXED
127 Branch
Tracking Status
firefox-esr115 --- unaffected
firefox124 --- unaffected
firefox125 --- unaffected
firefox126 --- unaffected
firefox127 --- fixed

People

(Reporter: whimboo, Assigned: jfkthame)

References

(Blocks 1 open bug, Regression)

Details

(Keywords: intermittent-failure, regression, sec-moderate)

Attachments

(1 file)

There was a similar race fixed on bug 1778694 already around 2 years ago. But maybe that was not enough? It's at least still crashing the content process.

Example failure:
https://treeherder.mozilla.org/logviewer?job_id=453856751&repo=autoland&lineNumber=8476-8761

[task 2024-04-08T06:06:29.060Z] 06:06:29     INFO - PID 25170 | WARNING: ThreadSanitizer: data race (pid=5651)
[task 2024-04-08T06:06:29.060Z] 06:06:29     INFO - PID 25170 |   Write of size 8 at 0x7b4000038e30 by main thread:
[task 2024-04-08T06:06:29.060Z] 06:06:29     INFO - PID 25170 |     #0 IncrementGeneration /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:1070:17 (libxul.so+0x465809c) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.060Z] 06:06:29     INFO - PID 25170 |     #1 gfxUserFontEntry::IncrementGeneration() /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:850:14 (libxul.so+0x465809c)
[task 2024-04-08T06:06:29.060Z] 06:06:29     INFO - PID 25170 |     #2 gfxUserFontEntry::ContinuePlatformFontLoadOnMainThread(unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>) /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:937:5 (libxul.so+0x4659916) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.061Z] 06:06:29     INFO - PID 25170 |     #3 operator()<StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1085:18 (libxul.so+0x466a44e) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.061Z] 06:06:29     INFO - PID 25170 |     #4 __invoke_impl<void, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x466a44e)
[task 2024-04-08T06:06:29.061Z] 06:06:29     INFO - PID 25170 |     #5 __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x466a44e)
[task 2024-04-08T06:06:29.061Z] 06:06:29     INFO - PID 25170 |     #6 __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreCopyPassByConstLRef<unsigned int>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByConstLRef<gfxUserFontType>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> >, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > > &, 0UL, 1UL, 2UL, 3UL, 4UL, 5UL, 6UL, 7UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x466a44e)
[task 2024-04-08T06:06:29.061Z] 06:06:29     INFO - PID 25170 |     #7 apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreCopyPassByConstLRef<unsigned int>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByConstLRef<gfxUserFontType>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> >, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x466a44e)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #8 apply<gfxUserFontEntry, void (gfxUserFontEntry::*)(unsigned int, const unsigned char *, unsigned int, gfxUserFontType, const unsigned char *, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage> &&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1083:12 (libxul.so+0x466a44e)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #9 mozilla::detail::RunnableMethodImpl<gfxUserFontEntry*, void (gfxUserFontEntry::*)(unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>), true, (mozilla::RunnableKind)0, unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1134:13 (libxul.so+0x466a44e)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #10 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:578:16 (libxul.so+0x31eb2c2) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #11 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:905:26 (libxul.so+0x31dfd8e) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #12 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:728:15 (libxul.so+0x31de5b6) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #13 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:514:36 (libxul.so+0x31de8ef) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #14 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:232:37 (libxul.so+0x31ee564) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #15 mozilla::detail::RunnableFunction<mozilla::TaskController::TaskController()::$_0>::Run() /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.h:548:5 (libxul.so+0x31ee564)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #16 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1199:16 (libxul.so+0x3203428) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.062Z] 06:06:29     INFO - PID 25170 |     #17 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:480:10 (libxul.so+0x3209bd4) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.063Z] 06:06:29     INFO - PID 25170 |     #18 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x3d3084e) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.063Z] 06:06:29     INFO - PID 25170 |     #19 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x3d3131b) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.064Z] 06:06:29     INFO - PID 25170 |     #20 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ca58c8) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.066Z] 06:06:29     INFO - PID 25170 |     #21 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ca58c8)
[task 2024-04-08T06:06:29.067Z] 06:06:29     INFO - PID 25170 |     #22 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ca58c8)
[task 2024-04-08T06:06:29.068Z] 06:06:29     INFO - PID 25170 |     #23 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x7d59a13) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.069Z] 06:06:29     INFO - PID 25170 |     #24 nsAppShell::Run() /builds/worker/checkouts/gecko/widget/gtk/nsAppShell.cpp:470:33 (libxul.so+0x7e4bfec) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.071Z] 06:06:29     INFO - PID 25170 |     #25 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:712:20 (libxul.so+0x9ccb27f) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.072Z] 06:06:29     INFO - PID 25170 |     #26 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x3d312ca) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.073Z] 06:06:29     INFO - PID 25170 |     #27 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:370:10 (libxul.so+0x3ca58c8) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.076Z] 06:06:29     INFO - PID 25170 |     #28 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:363:3 (libxul.so+0x3ca58c8)
[task 2024-04-08T06:06:29.077Z] 06:06:29     INFO - PID 25170 |     #29 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:345:3 (libxul.so+0x3ca58c8)
[task 2024-04-08T06:06:29.079Z] 06:06:29     INFO - PID 25170 |     #30 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:647:34 (libxul.so+0x9ccaf8d) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.080Z] 06:06:29     INFO - PID 25170 |     #31 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0x9cd7232) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.081Z] 06:06:29     INFO - PID 25170 |     #32 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox-bin+0x14e872) (BuildId: e58f1294ca490cfd806f6adb57c50dd24a79de15)
[task 2024-04-08T06:06:29.082Z] 06:06:29     INFO - PID 25170 |     #33 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:375:18 (firefox-bin+0x14e872)
[task 2024-04-08T06:06:29.082Z] 06:06:29     INFO - PID 25170 |   Previous write of size 8 at 0x7b4000038e30 by thread T22 (mutexes: write M0):
[task 2024-04-08T06:06:29.083Z] 06:06:29     INFO - PID 25170 |     #0 gfxUserFontSet::IncrementGeneration(bool) /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:1070:17 (libxul.so+0x465a14c) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.084Z] 06:06:29     INFO - PID 25170 |     #1 mozilla::dom::FontFaceSetWorkerImpl::FlushUserFontSet() /builds/worker/checkouts/gecko/layout/style/FontFaceSetWorkerImpl.cpp:230:5 (libxul.so+0x80952a8) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.084Z] 06:06:29     INFO - PID 25170 |     #2 mozilla::dom::CanvasRenderingContext2D::SetFontInternalDisconnected(nsTSubstring<char> const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/canvas/CanvasRenderingContext2D.cpp:4098:22 (libxul.so+0x5d3adb5) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[..]
[task 2024-04-08T06:06:29.120Z] 06:06:29     INFO - PID 25170 |   Location is heap block of size 256 at 0x7b4000038e00 allocated by thread T22:
[task 2024-04-08T06:06:29.120Z] 06:06:29     INFO - PID 25170 |     #0 malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:663:5 (firefox-bin+0xc3ddc) (BuildId: e58f1294ca490cfd806f6adb57c50dd24a79de15)
[task 2024-04-08T06:06:29.121Z] 06:06:29     INFO - PID 25170 |     #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox-bin+0x150a08) (BuildId: e58f1294ca490cfd806f6adb57c50dd24a79de15)
[task 2024-04-08T06:06:29.121Z] 06:06:29     INFO - PID 25170 |     #2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x8083dfd) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.122Z] 06:06:29     INFO - PID 25170 |     #3 mozilla::dom::FontFaceSet::CreateForWorker(nsIGlobalObject*, mozilla::dom::WorkerPrivate*) /builds/worker/checkouts/gecko/layout/style/FontFaceSet.cpp:122:40 (libxul.so+0x8083dfd)
[task 2024-04-08T06:06:29.122Z] 06:06:29     INFO - PID 25170 |     #4 GetFonts /builds/worker/checkouts/gecko/dom/workers/WorkerScope.cpp:520:20 (libxul.so+0x78241da) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.123Z] 06:06:29     INFO - PID 25170 |     #5 GetFonts /builds/worker/checkouts/gecko/dom/workers/WorkerScope.h:258:42 (libxul.so+0x78241da)
[task 2024-04-08T06:06:29.123Z] 06:06:29     INFO - PID 25170 |     #6 non-virtual thunk to mozilla::dom::WorkerGlobalScope::GetFonts() /builds/worker/checkouts/gecko/dom/workers/WorkerScope.h (libxul.so+0x78241da)
[task 2024-04-08T06:06:29.124Z] 06:06:29     INFO - PID 25170 |     #7 mozilla::dom::FontFace::Constructor(mozilla::dom::GlobalObject const&, nsTSubstring<char> const&, mozilla::dom::UTF8StringOrArrayBufferOrArrayBufferView const&, mozilla::dom::FontFaceDescriptors const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/layout/style/FontFace.cpp:109:30 (libxul.so+0x807e429) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.124Z] 06:06:29     INFO - PID 25170 |     #8 mozilla::dom::FontFace_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceBinding.cpp:2199:54 (libxul.so+0x5a96b36) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.125Z] 06:06:29     INFO - PID 25170 |     #9 mozilla::dom::InterfaceObjectJSNative(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:763:10 (libxul.so+0x5c4dc35) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.125Z] 06:06:29     INFO - PID 25170 |     #10 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:479:13 (libxul.so+0x9e445aa) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[..]
[task 2024-04-08T06:06:29.159Z] 06:06:29     INFO - PID 25170 |   Mutex M0 (0x7b4000038e60) created at:
[task 2024-04-08T06:06:29.160Z] 06:06:29     INFO - PID 25170 |     #0 pthread_mutex_init /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1313:3 (firefox-bin+0xc73a0) (BuildId: e58f1294ca490cfd806f6adb57c50dd24a79de15)
[task 2024-04-08T06:06:29.160Z] 06:06:29     INFO - PID 25170 |     #1 mozilla::RecursiveMutex::RecursiveMutex(char const*) /builds/worker/checkouts/gecko/xpcom/threads/RecursiveMutex.cpp:50:3 (libxul.so+0x31daaad) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.161Z] 06:06:29     INFO - PID 25170 |     #2 FontFaceSetImpl /builds/worker/checkouts/gecko/layout/style/FontFaceSetImpl.cpp:73:7 (libxul.so+0x80941ad) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.161Z] 06:06:29     INFO - PID 25170 |     #3 mozilla::dom::FontFaceSetWorkerImpl::FontFaceSetWorkerImpl(mozilla::dom::FontFaceSet*) /builds/worker/checkouts/gecko/layout/style/FontFaceSetWorkerImpl.cpp:32:7 (libxul.so+0x80941ad)
[task 2024-04-08T06:06:29.161Z] 06:06:29     INFO - PID 25170 |     #4 mozilla::dom::FontFaceSet::CreateForWorker(nsIGlobalObject*, mozilla::dom::WorkerPrivate*) /builds/worker/checkouts/gecko/layout/style/FontFaceSet.cpp:122:44 (libxul.so+0x8083e0b) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.162Z] 06:06:29     INFO - PID 25170 |     #5 GetFonts /builds/worker/checkouts/gecko/dom/workers/WorkerScope.cpp:520:20 (libxul.so+0x78241da) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.162Z] 06:06:29     INFO - PID 25170 |     #6 GetFonts /builds/worker/checkouts/gecko/dom/workers/WorkerScope.h:258:42 (libxul.so+0x78241da)
[task 2024-04-08T06:06:29.163Z] 06:06:29     INFO - PID 25170 |     #7 non-virtual thunk to mozilla::dom::WorkerGlobalScope::GetFonts() /builds/worker/checkouts/gecko/dom/workers/WorkerScope.h (libxul.so+0x78241da)
[task 2024-04-08T06:06:29.164Z] 06:06:29     INFO - PID 25170 |     #8 mozilla::dom::FontFace::Constructor(mozilla::dom::GlobalObject const&, nsTSubstring<char> const&, mozilla::dom::UTF8StringOrArrayBufferOrArrayBufferView const&, mozilla::dom::FontFaceDescriptors const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/layout/style/FontFace.cpp:109:30 (libxul.so+0x807e429) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.164Z] 06:06:29     INFO - PID 25170 |     #9 mozilla::dom::FontFace_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceBinding.cpp:2199:54 (libxul.so+0x5a96b36) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.164Z] 06:06:29     INFO - PID 25170 |     #10 mozilla::dom::InterfaceObjectJSNative(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:763:10 (libxul.so+0x5c4dc35) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[..]
[task 2024-04-08T06:06:29.190Z] 06:06:29     INFO - PID 25170 |   Thread T22 'DOM Worker' (tid=5742, running) created by main thread at:
[task 2024-04-08T06:06:29.190Z] 06:06:29     INFO - PID 25170 |     #0 pthread_create /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1020:3 (firefox-bin+0xc59bb) (BuildId: e58f1294ca490cfd806f6adb57c50dd24a79de15)
[task 2024-04-08T06:06:29.191Z] 06:06:29     INFO - PID 25170 |     #1 _PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x42cee) (BuildId: 4ddf1981e2fd45744d5f21c299b5cb77d2ea276e)
[task 2024-04-08T06:06:29.192Z] 06:06:29     INFO - PID 25170 |     #2 PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x37f84) (BuildId: 4ddf1981e2fd45744d5f21c299b5cb77d2ea276e)
[task 2024-04-08T06:06:29.192Z] 06:06:29     INFO - PID 25170 |     #3 nsThread::Init(nsTSubstring<char> const&) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:620:20 (libxul.so+0x3200667) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.193Z] 06:06:29     INFO - PID 25170 |     #4 mozilla::dom::WorkerThread::Create(mozilla::dom::WorkerThreadFriendKey const&) /builds/worker/checkouts/gecko/dom/workers/WorkerThread.cpp:109:7 (libxul.so+0x782306b) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.194Z] 06:06:29     INFO - PID 25170 |     #5 mozilla::dom::workerinternals::RuntimeService::ScheduleWorker(mozilla::dom::WorkerPrivate&) /builds/worker/checkouts/gecko/dom/workers/RuntimeService.cpp:1328:37 (libxul.so+0x77d55d3) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.194Z] 06:06:29     INFO - PID 25170 |     #6 mozilla::dom::workerinternals::RuntimeService::RegisterWorker(mozilla::dom::WorkerPrivate&) /builds/worker/checkouts/gecko/dom/workers/RuntimeService.cpp:1210:19 (libxul.so+0x77d49c7) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.195Z] 06:06:29     INFO - PID 25170 |     #7 mozilla::dom::WorkerPrivate::Constructor(JSContext*, nsTSubstring<char16_t> const&, bool, mozilla::dom::WorkerKind, mozilla::dom::RequestCredentials, mozilla::dom::WorkerType, nsTSubstring<char16_t> const&, nsTSubstring<char> const&, mozilla::dom::WorkerLoadInfo*, mozilla::ErrorResult&, nsTString<char16_t>, std::function<void (bool)>&&, std::function<void ()>&&) /builds/worker/checkouts/gecko/dom/workers/WorkerPrivate.cpp:2655:24 (libxul.so+0x7803a5c) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.196Z] 06:06:29     INFO - PID 25170 |     #8 mozilla::dom::Worker::Constructor(mozilla::dom::GlobalObject const&, nsTSubstring<char16_t> const&, mozilla::dom::WorkerOptions const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/workers/Worker.cpp:48:41 (libxul.so+0x77e2e32) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.197Z] 06:06:29     INFO - PID 25170 |     #9 mozilla::dom::Worker_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./WorkerBinding.cpp:1140:52 (libxul.so+0x5764aea) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[task 2024-04-08T06:06:29.197Z] 06:06:29     INFO - PID 25170 |     #10 mozilla::dom::InterfaceObjectJSNative(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:763:10 (libxul.so+0x5c4dc35) (BuildId: 56b34b9f20f8590a16982e1a69fa7bc483c24b33)
[..]
[task 2024-04-08T06:06:29.219Z] 06:06:29     INFO - PID 25170 | SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:1070:17 in IncrementGeneration

Especially since the wptrunner change from bug 1522790 landed, this is causes a higher failure rate for canvas wpt jobs on Linux TSAN.

Affected tests seem to be random but all around /html/canvas/offscreen/text/2d.text.*.

Keywords: regression
Regressed by: 1522790

Set release status flags based on info from the regressing bug 1522790

This is actually a duplicate of bug 1838834.

Status: NEW → RESOLVED
Closed: 2 years ago
Duplicate of bug: 1838834
Resolution: --- → DUPLICATE

Lets remove the dupe given that this is still a problem and the fix on bug 1838834 doesn't seem to be complete:
https://treeherder.mozilla.org/logviewer?job_id=454708380&repo=autoland&lineNumber=9023

[task 2024-04-16T14:50:38.896Z] 14:50:38     INFO - PID 988 |   Write of size 8 at 0x7b4000038b30 by main thread (mutexes: write M0):
[task 2024-04-16T14:50:38.897Z] 14:50:38     INFO - PID 988 |     #0 IncrementGenerationLocked /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:1071:17 (libxul.so+0x4693d5c) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.897Z] 14:50:38     INFO - PID 988 |     #1 IncrementGeneration /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.h:321:5 (libxul.so+0x4693d5c)
[task 2024-04-16T14:50:38.897Z] 14:50:38     INFO - PID 988 |     #2 gfxUserFontEntry::IncrementGeneration() /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:850:14 (libxul.so+0x4693d5c)
[task 2024-04-16T14:50:38.897Z] 14:50:38     INFO - PID 988 |     #3 gfxUserFontEntry::ContinuePlatformFontLoadOnMainThread(unsigned int, unsigned char const*, unsigned int, gfxUserFontType, unsigned char const*, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage>&&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>) /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:937:5 (libxul.so+0x46955e6) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.897Z] 14:50:38     INFO - PID 988 |     #4 operator()<StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1085:18 (libxul.so+0x46a614e) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.898Z] 14:50:38     INFO - PID 988 |     #5 __invoke_impl<void, (lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:60:14 (libxul.so+0x46a614e)
[task 2024-04-16T14:50:38.898Z] 14:50:38     INFO - PID 988 |     #6 __invoke<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), StoreCopyPassByConstLRef<unsigned int> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByConstLRef<gfxUserFontType> &, StoreConstPtrPassByConstPtr<unsigned char> &, StoreCopyPassByConstLRef<unsigned int> &, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> > &, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/bits/invoke.h:95:14 (libxul.so+0x46a614e)
[task 2024-04-16T14:50:38.900Z] 14:50:38     INFO - PID 988 |     #7 __apply_impl<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreCopyPassByConstLRef<unsigned int>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByConstLRef<gfxUserFontType>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> >, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > > &, 0UL, 1UL, 2UL, 3UL, 4UL, 5UL, 6UL, 7UL> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1678:14 (libxul.so+0x46a614e)
[task 2024-04-16T14:50:38.901Z] 14:50:38     INFO - PID 988 |     #8 apply<(lambda at /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1084:9), std::tuple<StoreCopyPassByConstLRef<unsigned int>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByConstLRef<gfxUserFontType>, StoreConstPtrPassByConstPtr<unsigned char>, StoreCopyPassByConstLRef<unsigned int>, StoreCopyPassByRRef<nsTArray<gfxUserFontEntry::OTSMessage> >, StoreCopyPassByConstLRef<nsMainThreadPtrHandle<nsIFontLoadCompleteCallback> > > &> /builds/worker/fetches/sysroot-x86_64-linux-gnu/usr/lib/gcc/x86_64-linux-gnu/8/../../../../include/c++/8/tuple:1687:14 (libxul.so+0x46a614e)
[task 2024-04-16T14:50:38.901Z] 14:50:38     INFO - PID 988 |     #9 apply<gfxUserFontEntry, void (gfxUserFontEntry::*)(unsigned int, const unsigned char *, unsigned int, gfxUserFontType, const unsigned char *, unsigned int, nsTArray<gfxUserFontEntry::OTSMessage> &&, nsMainThreadPtrHandle<nsIFontLoadCompleteCallback>)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1083:12 (libxul.so+0x46a614e)
[..]
[task 2024-04-16T14:50:38.933Z] 14:50:38     INFO - PID 988 |   Previous read of size 8 at 0x7b4000038b30 by thread T22 (mutexes: write M1):
[task 2024-04-16T14:50:38.933Z] 14:50:38     INFO - PID 988 |     #0 GetGeneration /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.h:316:37 (libxul.so+0x46a1dd9) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.934Z] 14:50:38     INFO - PID 988 |     #1 void gfxFontGroup::InitScriptRun<char16_t>(mozilla::gfx::DrawTarget*, gfxTextRun*, char16_t const*, unsigned int, unsigned int, mozilla::intl::Script, gfxMissingFontRecorder*) /builds/worker/checkouts/gecko/gfx/thebes/gfxTextRun.cpp:2698:56 (libxul.so+0x46a1dd9)
[task 2024-04-16T14:50:38.935Z] 14:50:38     INFO - PID 988 |     #2 void gfxFontGroup::InitTextRun<char16_t>(mozilla::gfx::DrawTarget*, gfxTextRun*, char16_t const*, unsigned int, gfxMissingFontRecorder*) /builds/worker/checkouts/gecko/gfx/thebes/gfxTextRun.cpp:2644:9 (libxul.so+0x468cf34) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.936Z] 14:50:38     INFO - PID 988 |     #3 already_AddRefed<gfxTextRun> gfxFontGroup::MakeTextRun<char16_t>(char16_t const*, unsigned int, gfxTextRunFactory::Parameters const*, mozilla::gfx::ShapedTextFlags, nsTextFrameUtils::Flags, gfxMissingFontRecorder*) /builds/worker/checkouts/gecko/gfx/thebes/gfxTextRun.cpp:2510:3 (libxul.so+0x468c89f) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.937Z] 14:50:38     INFO - PID 988 |     #4 MakeTextRun<char16_t> /builds/worker/workspace/obj-build/dist/include/gfxTextRun.h:981:12 (libxul.so+0x5e00fde) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.937Z] 14:50:38     INFO - PID 988 |     #5 mozilla::dom::CanvasBidiProcessor::SetText(char16_t const*, int, mozilla::intl::BidiDirection) /builds/worker/checkouts/gecko/dom/canvas/CanvasRenderingContext2D.cpp:4437:26 (libxul.so+0x5e00fde)
[task 2024-04-16T14:50:38.938Z] 14:50:38     INFO - PID 988 |     #6 nsBidiPresUtils::ProcessSimpleRun(char16_t const*, unsigned long, mozilla::intl::BidiEmbeddingLevel, nsPresContext*, nsBidiPresUtils::BidiProcessor&, nsBidiPresUtils::Mode, nsBidiPositionResolve*, int, int*) /builds/worker/checkouts/gecko/layout/base/nsBidiPresUtils.cpp:2402:14 (libxul.so+0x820bfe6) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.939Z] 14:50:38     INFO - PID 988 |     #7 nsBidiPresUtils::ProcessText(char16_t const*, unsigned long, mozilla::intl::BidiEmbeddingLevel, nsPresContext*, nsBidiPresUtils::BidiProcessor&, nsBidiPresUtils::Mode, nsBidiPositionResolve*, int, int*, mozilla::intl::Bidi&) /builds/worker/checkouts/gecko/layout/base/nsBidiPresUtils.cpp:2177:5 (libxul.so+0x820bdb6) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.963Z] 14:50:38     INFO - PID 988 |     #8 mozilla::dom::CanvasRenderingContext2D::DrawOrMeasureText(nsTSubstring<char16_t> const&, float, float, mozilla::dom::Optional<double> const&, mozilla::dom::CanvasRenderingContext2D::TextDrawOperation, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/canvas/CanvasRenderingContext2D.cpp:4843:12 (libxul.so+0x5d7e490) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.966Z] 14:50:38     INFO - PID 988 |     #9 mozilla::dom::CanvasRenderingContext2D::MeasureText(nsTSubstring<char16_t> const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/dom/canvas/CanvasRenderingContext2D.cpp:4323:10 (libxul.so+0x5d7efc4) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.966Z] 14:50:38     INFO - PID 988 |     #10 mozilla::dom::OffscreenCanvasRenderingContext2D_Binding::measureText(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./OffscreenCanvasRenderingContext2DBinding.cpp:4048:78 (libxul.so+0x50391b5) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[..]
[task 2024-04-16T14:50:38.992Z] 14:50:38     INFO - PID 988 |   Location is heap block of size 256 at 0x7b4000038b00 allocated by thread T22:
[task 2024-04-16T14:50:38.993Z] 14:50:38     INFO - PID 988 |     #0 malloc /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:663:5 (firefox-bin+0xc3ddc) (BuildId: 10f3bd962819fa60b5d5378f5e5235097d467c4b)
[task 2024-04-16T14:50:38.993Z] 14:50:38     INFO - PID 988 |     #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox-bin+0x150a08) (BuildId: 10f3bd962819fa60b5d5378f5e5235097d467c4b)
[task 2024-04-16T14:50:38.994Z] 14:50:38     INFO - PID 988 |     #2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x80d924d) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.994Z] 14:50:38     INFO - PID 988 |     #3 mozilla::dom::FontFaceSet::CreateForWorker(nsIGlobalObject*, mozilla::dom::WorkerPrivate*) /builds/worker/checkouts/gecko/layout/style/FontFaceSet.cpp:122:40 (libxul.so+0x80d924d)
[task 2024-04-16T14:50:38.994Z] 14:50:38     INFO - PID 988 |     #4 GetFonts /builds/worker/checkouts/gecko/dom/workers/WorkerScope.cpp:520:20 (libxul.so+0x787539a) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.995Z] 14:50:38     INFO - PID 988 |     #5 GetFonts /builds/worker/checkouts/gecko/dom/workers/WorkerScope.h:258:42 (libxul.so+0x787539a)
[task 2024-04-16T14:50:38.996Z] 14:50:38     INFO - PID 988 |     #6 non-virtual thunk to mozilla::dom::WorkerGlobalScope::GetFonts() /builds/worker/checkouts/gecko/dom/workers/WorkerScope.h (libxul.so+0x787539a)
[task 2024-04-16T14:50:38.996Z] 14:50:38     INFO - PID 988 |     #7 mozilla::dom::FontFace::Constructor(mozilla::dom::GlobalObject const&, nsTSubstring<char> const&, mozilla::dom::UTF8StringOrArrayBufferOrArrayBufferView const&, mozilla::dom::FontFaceDescriptors const&, mozilla::ErrorResult&) /builds/worker/checkouts/gecko/layout/style/FontFace.cpp:109:30 (libxul.so+0x80d3719) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.997Z] 14:50:38     INFO - PID 988 |     #8 mozilla::dom::FontFace_Binding::_constructor(JSContext*, unsigned int, JS::Value*) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceBinding.cpp:2199:54 (libxul.so+0x5ad82f6) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.997Z] 14:50:38     INFO - PID 988 |     #9 mozilla::dom::InterfaceObjectJSNative(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:763:10 (libxul.so+0x5c8f3f5) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[task 2024-04-16T14:50:38.998Z] 14:50:38     INFO - PID 988 |     #10 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:479:13 (libxul.so+0x9eac89a) (BuildId: ec78c55b50fd20410548c30563930093de814f9e)
[..]
Status: RESOLVED → REOPENED
No longer duplicate of bug: 1838834
Flags: needinfo?(jfkthame)
Resolution: DUPLICATE → ---
Status: REOPENED → NEW
Assignee: nobody → jfkthame
Status: NEW → ASSIGNED
Flags: needinfo?(jfkthame)

Marking as sec-moderate, comparable to bug 1838834.

Keywords: sec-moderate
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/5d23c8791538 Hold mutex while reading the font-set generation. r=gfx-reviewers,lsalzman
Blocks: tsan

Backed out for an assertion:
https://hg.mozilla.org/integration/autoland/rev/840770947fcc35bf42067016ec0cf66e6dc52d7c

Push which ran failing task
Failure log

[task 2024-04-17T12:33:58.663Z] 12:33:58     INFO - TEST-START | /html/semantics/embedded-content/the-object-element/object-param-url.html
[task 2024-04-17T12:33:58.667Z] 12:33:58     INFO - PID 13769 | 1713357238666	Marionette	INFO	Testing http://web-platform.test:8000/html/semantics/embedded-content/the-object-element/object-param-url.html == http://web-platform.test:8000/html/semantics/embedded-content/the-object-element/object-param-url-ref.html
[task 2024-04-17T12:34:02.726Z] 12:34:02     INFO - PID 13769 | ==================
[task 2024-04-17T12:34:02.728Z] 12:34:02     INFO - PID 13769 | WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=14221)
[task 2024-04-17T12:34:02.728Z] 12:34:02     INFO - PID 13769 |   Cycle in lock order graph: M0 (0x7b44000fa910) => M1 (0x7b7400007838) => M0
[task 2024-04-17T12:34:02.729Z] 12:34:02     INFO - PID 13769 |   Mutex M1 acquired here while holding mutex M0 in main thread:
[task 2024-04-17T12:34:02.729Z] 12:34:02     INFO - PID 13769 |     #0 pthread_mutex_lock /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1339:3 (firefox-bin+0xc76bb) (BuildId: e18b843c2e7d5ce67c3bfb9f757ce01b194a326e)
[task 2024-04-17T12:34:02.735Z] 12:34:02     INFO - PID 13769 |     #1 mozilla::RecursiveMutex::LockInternal() /builds/worker/checkouts/gecko/xpcom/threads/RecursiveMutex.cpp:71:3 (libxul.so+0x31e6715) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.736Z] 12:34:02     INFO - PID 13769 |     #2 Lock /builds/worker/workspace/obj-build/dist/include/mozilla/RecursiveMutex.h:31:42 (libxul.so+0x4677e8b) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.737Z] 12:34:02     INFO - PID 13769 |     #3 RecursiveMutexAutoLock /builds/worker/workspace/obj-build/dist/include/mozilla/RecursiveMutex.h:80:22 (libxul.so+0x4677e8b)
[task 2024-04-17T12:34:02.738Z] 12:34:02     INFO - PID 13769 |     #4 gfxPlatformFontList::FindCharMap(gfxCharacterMap*) /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatformFontList.cpp:1987:12 (libxul.so+0x4677e8b)
[task 2024-04-17T12:34:02.738Z] 12:34:02     INFO - PID 13769 |     #5 mozilla::dom::FontFaceImpl::GetUnicodeRangeAsCharacterMap() /builds/worker/checkouts/gecko/layout/style/FontFaceImpl.cpp:735:50 (libxul.so+0x80e15b6) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.740Z] 12:34:02     INFO - PID 13769 |     #6 mozilla::dom::FontFaceImpl::GetAttributes(gfxUserFontAttributes&) /builds/worker/checkouts/gecko/layout/style/FontFaceImpl.cpp:631:26 (libxul.so+0x80e0956) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.741Z] 12:34:02     INFO - PID 13769 |     #7 mozilla::dom::FontFaceSetImpl::InsertNonRuleFontFace(mozilla::dom::FontFaceImpl*) /builds/worker/checkouts/gecko/layout/style/FontFaceSetImpl.cpp:349:19 (libxul.so+0x80ee5e0) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.742Z] 12:34:02     INFO - PID 13769 |     #8 mozilla::dom::FontFaceSetDocumentImpl::UpdateRules(nsTArray<nsFontFaceRuleContainer> const&) /builds/worker/checkouts/gecko/layout/style/FontFaceSetDocumentImpl.cpp:456:5 (libxul.so+0x80ed7d3) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.744Z] 12:34:02     INFO - PID 13769 |     #9 mozilla::dom::FontFaceSet::UpdateRules(nsTArray<nsFontFaceRuleContainer> const&) /builds/worker/checkouts/gecko/layout/style/FontFaceSet.cpp:363:17 (libxul.so+0x80e8d2e) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.755Z] 12:34:02     INFO - PID 13769 |     #10 mozilla::dom::Document::FlushUserFontSet() /builds/worker/checkouts/gecko/dom/base/Document.cpp:16698:31 (libxul.so+0x4acb3fe) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.755Z] 12:34:02     INFO - PID 13769 |     #11 mozilla::dom::FontFaceSetDocumentImpl::FlushUserFontSet() /builds/worker/checkouts/gecko/layout/style/FontFaceSetDocumentImpl.cpp:746:16 (libxul.so+0x80eff1a) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.755Z] 12:34:02     INFO - PID 13769 |     #12 mozilla::dom::FontFaceImpl::Load(mozilla::ErrorResult&) /builds/worker/checkouts/gecko/layout/style/FontFaceImpl.cpp:312:17 (libxul.so+0x80df87b) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.755Z] 12:34:02     INFO - PID 13769 |     #13 mozilla::dom::FontFace::Load(mozilla::ErrorResult&) /builds/worker/checkouts/gecko/layout/style/FontFace.cpp:250:10 (libxul.so+0x80df681) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.755Z] 12:34:02     INFO - PID 13769 |     #14 load /builds/worker/workspace/obj-build/dom/bindings/./FontFaceBinding.cpp:1910:60 (libxul.so+0x5b040f9) (BuildId: f7a0800b90d6c555b495f2b00f6e46b157db2dc3)
[task 2024-04-17T12:34:02.755Z] 12:34:02     INFO - PID 13769 |     #15 mozilla::dom::FontFace_Binding::load_promiseWrapper(JSContext*, JS::Handle<JSObject*>, void*, JSJitMethodCallArgs const&) /builds/worker/workspace/obj-build/dom/bindings/./FontFaceBinding.cpp:1924:13 (libxul.so+0x5b040f9)
...
[task 2024-04-17T12:34:02.854Z] 12:34:02     INFO - PID 13769 | SUMMARY: ThreadSanitizer: lock-order-inversion (potential deadlock) /builds/worker/checkouts/gecko/xpcom/threads/RecursiveMutex.cpp:71:3 in mozilla::RecursiveMutex::LockInternal()
[task 2024-04-17T12:34:02.854Z] 12:34:02     INFO - PID 13769 | ==================
[task 2024-04-17T12:34:02.855Z] 12:34:02     INFO - PID 13769 | JavaScript error: chrome://global/content/elements/browser-custom-element.js, line 857: TypeError: this.ownerGlobal.gBrowser.getTabForBrowser is not a function
[task 2024-04-17T12:34:02.855Z] 12:34:02     INFO - PID 13769 | A content process crashed and MOZ_CRASHREPORTER_SHUTDOWN is set, shutting down
[task 2024-04-17T12:34:03.014Z] 12:34:03     INFO - TEST-UNEXPECTED-ERROR | /html/semantics/embedded-content/the-object-element/object-param-url.html | Testing http://web-platform.test:8000/html/semantics/embedded-content/the-object-element/object-param-url.html == http://web-platform.test:8000/html/semantics/embedded-content/the-object-element/object-param-url-ref.html
[task 2024-04-17T12:34:03.014Z] 12:34:03     INFO - TypeError: can't access property "getActor", webProgress.browsingContext.currentWindowGlobal is null
Flags: needinfo?(jfkthame)
Attachment #9396965 - Attachment description: Bug 1890245 - Hold mutex while reading the font-set generation. r=#gfx-reviewers → Bug 1890245 - Make gfxUserFontSet::mGeneration an atomic var, so we can read it safely without locking. r=#gfx-reviewers

Ugh, lock cycles are a pain. For simplicity, we can make mGeneration atomic instead, so that it's safe to read without locking.

Flags: needinfo?(jfkthame)
Pushed by jkew@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/61832fd099c7 Make gfxUserFontSet::mGeneration an atomic var, so we can read it safely without locking. r=gfx-reviewers,lsalzman
Group: gfx-core-security → core-security-release
Status: ASSIGNED → RESOLVED
Closed: 2 years ago2 years ago
Resolution: --- → FIXED
Target Milestone: --- → 127 Branch
QA Whiteboard: [post-critsmash-triage]
Flags: qe-verify-
Group: core-security-release
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: