ThreadSanitizer: lock-order-inversion (potential deadlock) [@ mozilla::dom::FontFaceSetImpl::OnFontFaceStatusChanged]
Categories
(Core :: CSS Parsing and Computation, defect)
Tracking
()
Tracking | Status | |
---|---|---|
firefox-esr102 | --- | unaffected |
firefox110 | --- | wontfix |
firefox111 | --- | wontfix |
People
(Reporter: tsmith, Unassigned, NeedInfo)
References
(Blocks 3 open bugs)
Details
(Keywords: regression, testcase, Whiteboard: [bugmon:bisected,confirmed])
Attachments
(1 file)
324 bytes,
text/html
|
Details |
Found while fuzzing m-c 20230130-49ac19f1e046 (--enable-thread-sanitizer --enable-fuzzing)
To reproduce via Grizzly Replay:
$ pip install fuzzfetch grizzly-framework
$ python -m fuzzfetch -t --fuzzing -n firefox
$ python -m grizzly.replay ./firefox/firefox testcase.html --headless
WARNING: ThreadSanitizer: lock-order-inversion (potential deadlock) (pid=127678)
Cycle in lock order graph: M0 (0x7b10000074c0) => M1 (0x7b44000c6768) => M0
Mutex M1 acquired here while holding mutex M0 in main thread:
#0 pthread_mutex_lock /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/../../sanitizer_common/sanitizer_common_interceptors.inc:4457:3 (firefox-bin+0xdfdaa) (BuildId: 0e55c6bbf2c45b5a2aad7437135dc3fe7f2f4e96)
#1 mozilla::RecursiveMutex::LockInternal() /builds/worker/checkouts/gecko/xpcom/threads/RecursiveMutex.cpp:71:3 (libxul.so+0x42f6895) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#2 Lock /builds/worker/workspace/obj-build/dist/include/mozilla/RecursiveMutex.h:31:42 (libxul.so+0x960ce10) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#3 RecursiveMutexAutoLock /builds/worker/workspace/obj-build/dist/include/mozilla/RecursiveMutex.h:80:22 (libxul.so+0x960ce10)
#4 mozilla::dom::FontFaceSetImpl::OnFontFaceStatusChanged(mozilla::dom::FontFaceImpl*) /builds/worker/checkouts/gecko/layout/style/FontFaceSetImpl.cpp:716:26 (libxul.so+0x960ce10)
#5 SetStatus /builds/worker/checkouts/gecko/layout/style/FontFaceImpl.cpp:384:19 (libxul.so+0x960048b) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#6 mozilla::dom::FontFaceImpl::Entry::SetLoadState(gfxUserFontEntry::UserFontLoadState) /builds/worker/checkouts/gecko/layout/style/FontFaceImpl.cpp:758:13 (libxul.so+0x960048b)
#7 LoadNextSrc /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:354:5 (libxul.so+0x59c5178) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#8 Load /builds/worker/checkouts/gecko/gfx/thebes/gfxUserFontSet.cpp:790:5 (libxul.so+0x59c5178)
#9 gfxFontGroup::GetFirstValidFont(unsigned int, mozilla::StyleGenericFontFamily*, bool*) /builds/worker/checkouts/gecko/gfx/thebes/gfxTextRun.cpp:2338:16 (libxul.so+0x59c5178)
#10 gfxFontGroup::GetMetricsForCSSUnits(nsFontMetrics::FontOrientation) /builds/worker/checkouts/gecko/gfx/thebes/gfxTextRun.cpp:3846:26 (libxul.so+0x59cc5f6) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#11 Gecko_GetFontMetrics /builds/worker/checkouts/gecko/layout/style/GeckoBindings.cpp:1445:29 (libxul.so+0x961eae6) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#12 style::gecko::media_queries::Device::query_font_metrics::he66577794f16bc0f /builds/worker/checkouts/gecko/servo/components/style/gecko/media_queries.rs:193:13 (libxul.so+0xdbed327) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#13 style::values::computed::Context::query_font_metrics::h02b716c5409192fa /builds/worker/checkouts/gecko/servo/components/style/values/computed/mod.rs:350:9 (libxul.so+0xdbed327)
#14 style::values::specified::length::FontRelativeLength::reference_font_size_and_length::query_font_metrics::h4bca9bae7004989e /builds/worker/checkouts/gecko/servo/components/style/values/specified/length.rs:157:13 (libxul.so+0xdbec995) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#15 style::values::specified::length::FontRelativeLength::reference_font_size_and_length::h3efcbdb74cb0d3a3 /builds/worker/checkouts/gecko/servo/components/style/values/specified/length.rs:177:21 (libxul.so+0xdbec995)
#16 style::values::specified::length::FontRelativeLength::to_computed_value::h59250651026f93e6 /builds/worker/checkouts/gecko/servo/components/style/values/specified/length.rs:135:40 (libxul.so+0xdbec995)
#17 style::values::specified::length::FontRelativeLength::reference_font_size_and_length::query_font_metrics::h4bca9bae7004989e /builds/worker/checkouts/gecko/servo/components/style/values/specified/length.rs:157:13 (libxul.so+0xdbec995) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#18 style::values::specified::length::FontRelativeLength::reference_font_size_and_length::h3efcbdb74cb0d3a3 /builds/worker/checkouts/gecko/servo/components/style/values/specified/length.rs:177:21 (libxul.so+0xdbec995)
#19 style::values::specified::length::FontRelativeLength::to_computed_value::h59250651026f93e6 /builds/worker/checkouts/gecko/servo/components/style/values/specified/length.rs:135:40 (libxul.so+0xdbec995)
#20 style::values::computed::length::_$LT$impl$u20$style..values..specified..length..NoCalcLength$GT$::to_computed_value_with_base_size::hef046ad946904d2e /builds/worker/checkouts/gecko/servo/components/style/values/computed/length.rs:52:17 (libxul.so+0xdbe661a) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#21 _$LT$style..values..generics..length..GenericSize$LT$LengthPercent$GT$$u20$as$u20$style..values..computed..ToComputedValue$GT$::to_computed_value::hee6582e50000487e /builds/worker/checkouts/gecko/servo/components/style/values/generics/length.rs (libxul.so+0xdbef1ef) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#22 style::properties::longhands::width::cascade_property::hd3b83b45196432fd /builds/worker/workspace/obj-build/x86_64-unknown-linux-gnu/release/build/style-df7ae44ea995b53f/out/longhands/position.rs:2690:32 (libxul.so+0xdbcda36) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#23 style::properties::cascade::Cascade::apply_declaration::h3f825bdfa6cd8da4 /builds/worker/checkouts/gecko/servo/components/style/properties/cascade.rs:607:9 (libxul.so+0xd4de790) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#24 style::properties::cascade::Cascade::apply_properties::he068cd8f227c20c8 /builds/worker/checkouts/gecko/servo/components/style/properties/cascade.rs:712:13 (libxul.so+0xd4de790)
#25 style::properties::cascade::apply_declarations::hffb68bc7cfaf4b16 /builds/worker/checkouts/gecko/servo/components/style/properties/cascade.rs:372:5 (libxul.so+0xd4dd086) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#26 style::properties::cascade::cascade_rules::h3ce76a8c3037ebb8 /builds/worker/checkouts/gecko/servo/components/style/properties/cascade.rs:197:5 (libxul.so+0xd4dd086)
#27 style::properties::cascade::cascade::hee89e176a97a33bd /builds/worker/checkouts/gecko/servo/components/style/properties/cascade.rs:73:5 (libxul.so+0xd4dc2e8) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#28 style::stylist::Stylist::cascade_style_and_visited::hd890327d03171a1e /builds/worker/checkouts/gecko/servo/components/style/stylist.rs:1089:9 (libxul.so+0xd4dc2e8)
#29 style::style_resolver::StyleResolverForElement$LT$E$GT$::cascade_style_and_visited::h037f65ff8d39dc76 /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:347:22 (libxul.so+0xd4db7f8) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#30 style::style_resolver::StyleResolverForElement$LT$E$GT$::cascade_primary_style::h21cd03939518ca34 /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:244:20 (libxul.so+0xd4f0190) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#31 style::style_resolver::StyleResolverForElement$LT$E$GT$::resolve_primary_style::h1a45443f1d746e95 /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:203:9 (libxul.so+0xd4db3d0) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#32 style::style_resolver::StyleResolverForElement$LT$E$GT$::resolve_style::h8a83431831140ff5 /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:260:29 (libxul.so+0xd4daf3e) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#33 style::style_resolver::StyleResolverForElement$LT$E$GT$::resolve_style_with_default_parents::_$u7b$$u7b$closure$u7d$$u7d$::hd6bfaec3ce890ccf /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:295:13 (libxul.so+0xd4c2382) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#34 style::style_resolver::with_default_parent_styles::h291f573315dbe068 /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:117:5 (libxul.so+0xd4c2382)
#35 style::style_resolver::StyleResolverForElement$LT$E$GT$::resolve_style_with_default_parents::h376b145045630afe /builds/worker/checkouts/gecko/servo/components/style/style_resolver.rs:294:9 (libxul.so+0xd4c2382)
#36 style::traversal::compute_style::h78926d4410772b55 /builds/worker/checkouts/gecko/servo/components/style/traversal.rs:609:25 (libxul.so+0xd4c2382)
#37 style::traversal::recalc_style_at::h4a35837345147824 /builds/worker/checkouts/gecko/servo/components/style/traversal.rs:429:37 (libxul.so+0xd4bfa94) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#38 _$LT$style..gecko..traversal..RecalcStyleOnly$u20$as$u20$style..traversal..DomTraversal$LT$style..gecko..wrapper..GeckoElement$GT$$GT$::process_preorder::h7e2666dd1c8c28ea /builds/worker/checkouts/gecko/servo/components/style/gecko/traversal.rs:37:13 (libxul.so+0xd4bfa94)
#39 style::driver::traverse_dom::h2a8fb7ab59f6dfa9 /builds/worker/checkouts/gecko/servo/components/style/driver.rs:112:9 (libxul.so+0xd4bfa94)
#40 geckoservo::glue::traverse_subtree::h93ebd6b7e5408d29 /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:287:5 (libxul.so+0xd4bd8c5) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#41 Servo_TraverseSubtree /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:347:5 (libxul.so+0xd4bd1b4) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#42 mozilla::ServoStyleSet::StyleDocument(mozilla::ServoTraversalFlags) /builds/worker/checkouts/gecko/layout/style/ServoStyleSet.cpp:807:9 (libxul.so+0x964cf45) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#43 mozilla::RestyleManager::DoProcessPendingRestyles(mozilla::ServoTraversalFlags) /builds/worker/checkouts/gecko/layout/base/RestyleManager.cpp:3113:20 (libxul.so+0x9727c77) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#44 mozilla::RestyleManager::ProcessPendingRestyles() /builds/worker/checkouts/gecko/layout/base/RestyleManager.cpp:3250:3 (libxul.so+0x9704c5a) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#45 mozilla::PresShell::DoFlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/checkouts/gecko/layout/base/PresShell.cpp:4368:39 (libxul.so+0x9704129) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#46 FlushPendingNotifications /builds/worker/workspace/obj-build/dist/include/mozilla/PresShell.h:1463:5 (libxul.so+0x5e10849) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#47 mozilla::dom::Document::FlushPendingNotifications(mozilla::ChangesToFlush) /builds/worker/checkouts/gecko/dom/base/Document.cpp:10776:16 (libxul.so+0x5e10849)
#48 mozilla::dom::Document::FlushPendingNotifications(mozilla::FlushType) /builds/worker/checkouts/gecko/dom/base/Document.cpp:10697:3 (libxul.so+0x5df444b) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#49 nsDocLoader::DocLoaderIsEmpty(bool, mozilla::Maybe<nsresult> const&) /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:742:14 (libxul.so+0x52d5a8e) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#50 nsDocLoader::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:680:5 (libxul.so+0x52d71e9) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#51 nsDocShell::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:13866:23 (libxul.so+0xb54958e) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#52 non-virtual thunk to nsDocShell::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp (libxul.so+0xb5497b8) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#53 mozilla::net::nsLoadGroup::NotifyRemovalObservers(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp:628:22 (libxul.so+0x450bd80) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#54 mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp:532:10 (libxul.so+0x450d432) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#55 DoUnblockOnload /builds/worker/checkouts/gecko/dom/base/Document.cpp:11557:18 (libxul.so+0x5deefc0) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#56 mozilla::dom::Document::UnblockOnload(bool) /builds/worker/checkouts/gecko/dom/base/Document.cpp:11495:9 (libxul.so+0x5deefc0)
#57 mozilla::dom::Document::DispatchContentLoadedEvents() /builds/worker/checkouts/gecko/dom/base/Document.cpp:8022:3 (libxul.so+0x5e023dd) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#58 applyImpl<mozilla::dom::Document, void (mozilla::dom::Document::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1162:12 (libxul.so+0x5e7b859) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#59 apply<mozilla::dom::Document, void (mozilla::dom::Document::*)()> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1168:12 (libxul.so+0x5e7b859)
#60 mozilla::detail::RunnableMethodImpl<mozilla::dom::Document*, void (mozilla::dom::Document::*)(), true, (mozilla::RunnableKind)0>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1215:13 (libxul.so+0x5e7b859)
#61 mozilla::SchedulerGroup::Runnable::Run() /builds/worker/checkouts/gecko/xpcom/threads/SchedulerGroup.cpp:114:20 (libxul.so+0x42f6fbf) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#62 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:539:16 (libxul.so+0x430383f) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#63 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:852:26 (libxul.so+0x42fce0d) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#64 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:684:15 (libxul.so+0x42fb386) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#65 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:462:36 (libxul.so+0x42fb760) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#66 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:188:37 (libxul.so+0x43061f7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#67 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_2>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:546:5 (libxul.so+0x43061f7)
#68 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1197:16 (libxul.so+0x431cbe0) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#69 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4323656) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#70 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x50108cb) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#71 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x50113fb) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#72 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x4f2a2b7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#73 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x4f2a2b7)
#74 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x4f2a2b7)
#75 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x92d6696) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#76 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:742:20 (libxul.so+0xbdea17c) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#77 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x50113ad) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#78 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x4f2a2b7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#79 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x4f2a2b7)
#80 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x4f2a2b7)
#81 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:675:34 (libxul.so+0xbde9dc9) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#82 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0xbdf42d2) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#83 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox-bin+0x142da3) (BuildId: 0e55c6bbf2c45b5a2aad7437135dc3fe7f2f4e96)
#84 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:353:18 (firefox-bin+0x142da3)
Hint: use TSAN_OPTIONS=second_deadlock_stack=1 to get more informative warning message
Mutex M0 acquired here while holding mutex M1 in main thread:
#0 pthread_rwlock_wrlock /builds/worker/fetches/llvm-project/compiler-rt/lib/tsan/rtl/tsan_interceptors_posix.cpp:1457:3 (firefox-bin+0xc4a4a) (BuildId: 0e55c6bbf2c45b5a2aad7437135dc3fe7f2f4e96)
#1 mozilla::detail::RWLockImpl::writeLock() /builds/worker/checkouts/gecko/mozglue/misc/RWLock_posix.cpp:57:3 (firefox-bin+0x1b29d5) (BuildId: 0e55c6bbf2c45b5a2aad7437135dc3fe7f2f4e96)
#2 WriteLock /builds/worker/workspace/obj-build/dist/include/mozilla/RWLock.h:65:67 (libxul.so+0x961786a) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#3 BaseAutoWriteLock /builds/worker/workspace/obj-build/dist/include/mozilla/RWLock.h:156:12 (libxul.so+0x961786a)
#4 Gecko_GetLookAndFeelInt /builds/worker/checkouts/gecko/layout/style/GeckoBindings.cpp:727:17 (libxul.so+0x961786a)
#5 style::gecko::media_features::get_lnf_int::h056ec91395b644d7 /builds/worker/checkouts/gecko/servo/components/style/gecko/media_features.rs:550:14 (libxul.so+0xdb8a8c5) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#6 style::gecko::media_features::get_scrollbar_start_backward::hbd3aa8a6d1b654c5 /builds/worker/checkouts/gecko/servo/components/style/gecko/media_features.rs:558:6 (libxul.so+0xdb8a8c5)
#7 style::gecko::media_features::MEDIA_FEATURES::__eval::hc97a78a936289f7c /builds/worker/checkouts/gecko/servo/components/style/gecko/media_features.rs:576:13 (libxul.so+0xdb8a8c5)
#8 style::queries::feature_expression::QueryFeatureExpression::matches::h956246e0196e9a72 /builds/worker/checkouts/gecko/servo/components/style/queries/feature_expression.rs:647:31 (libxul.so+0xdccd634) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#9 style::queries::condition::QueryCondition::matches::h3081b9d1a4470f3e /builds/worker/checkouts/gecko/servo/components/style/queries/condition.rs:334:47 (libxul.so+0xdccd634)
#10 style::media_queries::media_list::MediaList::evaluate::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h0945db8295c8a686 /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:86:73 (libxul.so+0xdccd1fd) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#11 core::option::Option$LT$T$GT$::map_or::hc42411781745982a /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/option.rs:988:24 (libxul.so+0xdccd1fd)
#12 style::media_queries::media_list::MediaList::evaluate::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h8af0bfc021590189 /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:86:21 (libxul.so+0xdccd1fd)
#13 _$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::any::h6b95266bb89c8a5a /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:242:24 (libxul.so+0xdccd1fd)
#14 style::media_queries::media_list::MediaList::evaluate::_$u7b$$u7b$closure$u7d$$u7d$::h5db062ae0ae416f7 /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:84:13 (libxul.so+0xdccd1fd)
#15 style::values::computed::Context::for_media_query_evaluation::hd3c6734e551421c8 /builds/worker/checkouts/gecko/servo/components/style/values/computed/mod.rs:229:9 (libxul.so+0xdccd1fd)
#16 style::media_queries::media_list::MediaList::evaluate::h239d71f37dee4a6e /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:83:9 (libxul.so+0xdccd1fd)
#17 style::media_queries::media_list::MediaList::evaluate::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h0945db8295c8a686 /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:86:73 (libxul.so+0xdccd1fd) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#18 core::option::Option$LT$T$GT$::map_or::hc42411781745982a /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/option.rs:988:24 (libxul.so+0xdccd1fd)
#19 style::media_queries::media_list::MediaList::evaluate::_$u7b$$u7b$closure$u7d$$u7d$::_$u7b$$u7b$closure$u7d$$u7d$::h8af0bfc021590189 /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:86:21 (libxul.so+0xdccd1fd)
#20 _$LT$core..slice..iter..Iter$LT$T$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::any::h6b95266bb89c8a5a /builds/worker/fetches/rustc/lib/rustlib/src/rust/library/core/src/slice/iter/macros.rs:242:24 (libxul.so+0xdccd1fd)
#21 style::media_queries::media_list::MediaList::evaluate::_$u7b$$u7b$closure$u7d$$u7d$::h5db062ae0ae416f7 /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:84:13 (libxul.so+0xdccd1fd)
#22 style::values::computed::Context::for_media_query_evaluation::hd3c6734e551421c8 /builds/worker/checkouts/gecko/servo/components/style/values/computed/mod.rs:229:9 (libxul.so+0xdccd1fd)
#23 style::media_queries::media_list::MediaList::evaluate::h239d71f37dee4a6e /builds/worker/checkouts/gecko/servo/components/style/media_queries/media_list.rs:83:9 (libxul.so+0xdccd1fd)
#24 _$LT$style..stylesheets..rules_iterator..EffectiveRules$u20$as$u20$style..stylesheets..rules_iterator..NestedRuleIterationCondition$GT$::process_media::h0cdadf5782164a7a /builds/worker/checkouts/gecko/servo/components/style/stylesheets/rules_iterator.rs:252:9 (libxul.so+0xd53fb4b) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#25 style::stylesheets::rules_iterator::RulesIterator$LT$C$GT$::children::h6cda478e7c0046a4 /builds/worker/checkouts/gecko/servo/components/style/stylesheets/rules_iterator.rs:97:21 (libxul.so+0xd53fb4b)
#26 _$LT$style..stylesheets..rules_iterator..RulesIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h1a613ac5aa18bf7d /builds/worker/checkouts/gecko/servo/components/style/stylesheets/rules_iterator.rs:140:28 (libxul.so+0xd541ab7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#27 _$LT$style..stylesheets..rules_iterator..RulesIterator$LT$C$GT$$u20$as$u20$core..iter..traits..iterator..Iterator$GT$::next::h1a613ac5aa18bf7d /builds/worker/checkouts/gecko/servo/components/style/stylesheets/rules_iterator.rs:140:28 (libxul.so+0xd541ab7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#28 style::stylist::CascadeData::collect_applicable_media_query_results_into::h7dcf9f6ec461ba92 /builds/worker/checkouts/gecko/servo/components/style/stylist.rs:2494:21 (libxul.so+0xd528709) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#29 style::stylist::CascadeDataCache$LT$Entry$GT$::lookup::he5ab1022357c44dd /builds/worker/checkouts/gecko/servo/components/style/stylist.rs:165:13 (libxul.so+0xd54b424) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#30 style::stylist::DocumentCascadeData::rebuild::h8acb9a63c94abaa6 /builds/worker/checkouts/gecko/servo/components/style/stylist.rs:398:32 (libxul.so+0xd54b424)
#31 style::stylist::Stylist::flush::h3616bee4f66f1f59 /builds/worker/checkouts/gecko/servo/components/style/stylist.rs:758:9 (libxul.so+0xd54b424)
#32 style::gecko::data::PerDocumentStyleDataImpl::flush_stylesheets::h60fb63a1c94d8a16 /builds/worker/checkouts/gecko/servo/components/style/gecko/data.rs:179:9 (libxul.so+0xd54b424)
#33 Servo_StyleSet_FlushStyleSheets /builds/worker/checkouts/gecko/servo/ports/geckolib/glue.rs:1957:30 (libxul.so+0xd54b424)
#34 mozilla::ServoStyleSet::UpdateStylist() /builds/worker/checkouts/gecko/layout/style/ServoStyleSet.cpp:1294:5 (libxul.so+0x964f8fe) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#35 UpdateStylistIfNeeded /builds/worker/workspace/obj-build/dist/include/mozilla/ServoStyleSet.h:313:7 (libxul.so+0x964f5b3) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#36 mozilla::ServoStyleSet::AppendFontFaceRules(nsTArray<nsFontFaceRuleContainer>&) /builds/worker/checkouts/gecko/layout/style/ServoStyleSet.cpp:1249:3 (libxul.so+0x964f5b3)
#37 mozilla::dom::Document::FlushUserFontSet() /builds/worker/checkouts/gecko/dom/base/Document.cpp:16014:18 (libxul.so+0x5e2b927) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#38 mozilla::dom::FontFaceSetDocumentImpl::FlushUserFontSet() /builds/worker/checkouts/gecko/layout/style/FontFaceSetDocumentImpl.cpp:745:16 (libxul.so+0x960ae5a) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#39 Status /builds/worker/checkouts/gecko/layout/style/FontFaceSetImpl.cpp:219:3 (libxul.so+0x9602ed0) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#40 mozilla::dom::FontFaceSet::Status() /builds/worker/checkouts/gecko/layout/style/FontFaceSet.cpp:216:61 (libxul.so+0x9602ed0)
#41 mozilla::dom::FontFaceSet_Binding::get_status(JSContext*, JS::Handle<JSObject*>, void*, JSJitGetterCallArgs) /builds/worker/workspace/obj-build/dom/bindings/FontFaceSetBinding.cpp:992:53 (libxul.so+0x6fb1278) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#42 bool mozilla::dom::binding_detail::GenericGetter<mozilla::dom::binding_detail::NormalThisPolicy, mozilla::dom::binding_detail::ThrowExceptions>(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/dom/bindings/BindingUtils.cpp:3190:13 (libxul.so+0x7180aae) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#43 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:459:13 (libxul.so+0xc05b62b) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#44 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:547:12 (libxul.so+0xc05b62b)
#45 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:614:10 (libxul.so+0xc05c3b3) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#46 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:646:8 (libxul.so+0xc05c3b3)
#47 js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:768:10 (libxul.so+0xc05d064) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#48 CallGetter /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2017:12 (libxul.so+0xc2037c2) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#49 GetExistingProperty<(js::AllowGC)1> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2045:12 (libxul.so+0xc2037c2)
#50 NativeGetPropertyInline<(js::AllowGC)1> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2193:14 (libxul.so+0xc2037c2)
#51 js::NativeGetProperty(JSContext*, JS::Handle<js::NativeObject*>, JS::Handle<JS::Value>, JS::Handle<JS::PropertyKey>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2224:10 (libxul.so+0xc2037c2)
#52 GetProperty /builds/worker/checkouts/gecko/js/src/vm/ObjectOperations-inl.h:118:10 (libxul.so+0xc05fb10) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#53 GetProperty /builds/worker/checkouts/gecko/js/src/vm/ObjectOperations-inl.h:125:10 (libxul.so+0xc05fb10)
#54 js::GetProperty(JSContext*, JS::Handle<JS::Value>, JS::Handle<js::PropertyName*>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:4720:10 (libxul.so+0xc05fb10)
#55 GetPropertyOperation /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:245:10 (libxul.so+0xc04dcb0) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#56 Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3017:12 (libxul.so+0xc04dcb0)
#57 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:431:13 (libxul.so+0xc044a1f) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#58 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:579:13 (libxul.so+0xc05b700) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#59 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:614:10 (libxul.so+0xc05c3b3) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#60 js::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, js::AnyInvokeArgs const&, JS::MutableHandle<JS::Value>, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:646:8 (libxul.so+0xc05c3b3)
#61 JS::Call(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/CallAndConstruct.cpp:117:10 (libxul.so+0xc0f044b) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#62 mozilla::dom::EventHandlerNonNull::Call(mozilla::dom::BindingCallContext&, JS::Handle<JS::Value>, mozilla::dom::Event&, JS::MutableHandle<JS::Value>, mozilla::ErrorResult&) /builds/worker/workspace/obj-build/dom/bindings/EventHandlerBinding.cpp:65:37 (libxul.so+0x6eb2586) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#63 Call<nsCOMPtr<mozilla::dom::EventTarget> > /builds/worker/workspace/obj-build/dist/include/mozilla/dom/EventHandlerBinding.h:82:12 (libxul.so+0x7836526) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#64 mozilla::JSEventHandler::HandleEvent(mozilla::dom::Event*) /builds/worker/checkouts/gecko/dom/events/JSEventHandler.cpp:199:12 (libxul.so+0x7836526)
#65 mozilla::EventListenerManager::HandleEventSubType(mozilla::EventListenerManager::Listener*, mozilla::dom::Event*, mozilla::dom::EventTarget*) /builds/worker/checkouts/gecko/dom/events/EventListenerManager.cpp:1314:22 (libxul.so+0x780e60e) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#66 mozilla::EventListenerManager::HandleEventInternal(nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event**, mozilla::dom::EventTarget*, nsEventStatus*, bool) /builds/worker/checkouts/gecko/dom/events/EventListenerManager.cpp:1504:17 (libxul.so+0x780f3f2) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#67 HandleEvent /builds/worker/checkouts/gecko/dom/events/EventListenerManager.h:395:5 (libxul.so+0x7803f52) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#68 mozilla::EventTargetChainItem::HandleEvent(mozilla::EventChainPostVisitor&, mozilla::ELMCreationDetector&) /builds/worker/checkouts/gecko/dom/events/EventDispatcher.cpp:347:17 (libxul.so+0x7803f52)
#69 mozilla::EventTargetChainItem::HandleEventTargetChain(nsTArray<mozilla::EventTargetChainItem>&, mozilla::EventChainPostVisitor&, mozilla::EventDispatchingCallback*, mozilla::ELMCreationDetector&) /builds/worker/checkouts/gecko/dom/events/EventDispatcher.cpp:549:16 (libxul.so+0x7803324) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#70 mozilla::EventDispatcher::Dispatch(nsISupports*, nsPresContext*, mozilla::WidgetEvent*, mozilla::dom::Event*, nsEventStatus*, mozilla::EventDispatchingCallback*, nsTArray<mozilla::dom::EventTarget*>*) /builds/worker/checkouts/gecko/dom/events/EventDispatcher.cpp:1122:11 (libxul.so+0x7806045) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#71 nsDocumentViewer::LoadComplete(nsresult) /builds/worker/checkouts/gecko/layout/base/nsDocumentViewer.cpp:1082:7 (libxul.so+0x9781a71) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#72 nsDocShell::EndPageLoad(nsIWebProgress*, nsIChannel*, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:6447:20 (libxul.so+0xb52abfa) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#73 nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:5840:7 (libxul.so+0xb52a479) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#74 non-virtual thunk to nsDocShell::OnStateChange(nsIWebProgress*, nsIRequest*, unsigned int, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp (libxul.so+0xb52b44b) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#75 nsDocLoader::DoFireOnStateChange(nsIWebProgress*, nsIRequest*, int&, nsresult) /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:1380:3 (libxul.so+0x52d872e) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#76 nsDocLoader::doStopDocumentLoad(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:978:14 (libxul.so+0x52d7e1f) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#77 nsDocLoader::DocLoaderIsEmpty(bool, mozilla::Maybe<nsresult> const&) /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:797:9 (libxul.so+0x52d5da6) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#78 nsDocLoader::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/uriloader/base/nsDocLoader.cpp:680:5 (libxul.so+0x52d71e9) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#79 nsDocShell::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp:13866:23 (libxul.so+0xb54958e) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#80 non-virtual thunk to nsDocShell::OnStopRequest(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/docshell/base/nsDocShell.cpp (libxul.so+0xb5497b8) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#81 mozilla::net::nsLoadGroup::NotifyRemovalObservers(nsIRequest*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp:628:22 (libxul.so+0x450bd80) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#82 mozilla::net::nsLoadGroup::RemoveRequest(nsIRequest*, nsISupports*, nsresult) /builds/worker/checkouts/gecko/netwerk/base/nsLoadGroup.cpp:532:10 (libxul.so+0x450d432) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#83 DoUnblockOnload /builds/worker/checkouts/gecko/dom/base/Document.cpp:11557:18 (libxul.so+0x5e6d8a3) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#84 mozilla::dom::nsUnblockOnloadEvent::Run() /builds/worker/checkouts/gecko/dom/base/Document.cpp:11519:11 (libxul.so+0x5e6d8a3)
#85 mozilla::SchedulerGroup::Runnable::Run() /builds/worker/checkouts/gecko/xpcom/threads/SchedulerGroup.cpp:114:20 (libxul.so+0x42f6fbf) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#86 mozilla::RunnableTask::Run() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:539:16 (libxul.so+0x430383f) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#87 mozilla::TaskController::DoExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:852:26 (libxul.so+0x42fce0d) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#88 mozilla::TaskController::ExecuteNextTaskOnlyMainThreadInternal(mozilla::detail::BaseAutoLock<mozilla::Mutex&> const&) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:684:15 (libxul.so+0x42fb386) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#89 mozilla::TaskController::ProcessPendingMTTask(bool) /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:462:36 (libxul.so+0x42fb760) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#90 operator() /builds/worker/checkouts/gecko/xpcom/threads/TaskController.cpp:188:37 (libxul.so+0x43061f7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#91 mozilla::detail::RunnableFunction<mozilla::TaskController::InitializeInternal()::$_2>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:546:5 (libxul.so+0x43061f7)
#92 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1197:16 (libxul.so+0x431cbe0) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#93 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:477:10 (libxul.so+0x4323656) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#94 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:85:21 (libxul.so+0x50108cb) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#95 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:268:30 (libxul.so+0x50113fb) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#96 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x4f2a2b7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#97 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x4f2a2b7)
#98 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x4f2a2b7)
#99 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:148:27 (libxul.so+0x92d6696) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#100 XRE_RunAppShell() /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:742:20 (libxul.so+0xbdea17c) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#101 mozilla::ipc::MessagePumpForChildProcess::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:235:9 (libxul.so+0x50113ad) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#102 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:381:10 (libxul.so+0x4f2a2b7) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#103 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:374:3 (libxul.so+0x4f2a2b7)
#104 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:356:3 (libxul.so+0x4f2a2b7)
#105 XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/nsEmbedFunctions.cpp:675:34 (libxul.so+0xbde9dc9) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#106 mozilla::BootstrapImpl::XRE_InitChildProcess(int, char**, XREChildData const*) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:67:12 (libxul.so+0xbdf42d2) (BuildId: d07a9d508328d081a58006e2a2adafe1dcf0b36f)
#107 content_process_main /builds/worker/checkouts/gecko/browser/app/../../ipc/contentproc/plugin-container.cpp:57:28 (firefox-bin+0x142da3) (BuildId: 0e55c6bbf2c45b5a2aad7437135dc3fe7f2f4e96)
#108 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:353:18 (firefox-bin+0x142da3)
Reporter | ||
Updated•1 year ago
|
Comment 1•1 year ago
|
||
Verified bug as reproducible on mozilla-central 20230130214413-8eb2c58dc415.
The bug appears to have been introduced in the following build range:
Start: 1b8f84b953c5ea7b512f4f0fe7228eeb5523ac30 (20220922060235)
End: c9041757a18ac481d701af85012d9c7c9720db7a (20220922080430)
Pushlog: https://hg.mozilla.org/integration/autoland/pushloghtml?fromchange=1b8f84b953c5ea7b512f4f0fe7228eeb5523ac30&tochange=c9041757a18ac481d701af85012d9c7c9720db7a
Comment 2•1 year ago
|
||
Bug 1789967 looks like the most likely regressor in that range, given the contenteditable in the test case, though not being familiar with either fonts or editor I'm not sure how exactly.
Before bug 1789967, Selection
was collapsed in the <dd contenteditable>
automatically and that caused making it focused. Therefore, the condition of the test is different. Therefore, it's not true regression range.
What happens if append <span>foo</span>
after the <dd contenteditable></dd>
? I guess that it creates same situation for HTMLEditor
before/after bug 1789967.
Comment 5•1 year ago
|
||
Comment 6•1 year ago
|
||
I don't think there is real deadlock potential here given comment 0.
The main issue is that FontFaceSet::Status()
locks the font-face set mutex, but FlushUserFontSet
can take it again via Gecko_GetFontMetrics
. However:
- The mutex in FontFaceSet seems recursive, so we shouldn't deadlock anyways.
FlushUserFontSet
shouldn't be looking at the user font set for font metrics to begin with, and only the main thread can call into styling code at that point (TSAN realized that in some other phase of styling we acquired the mutexes in different order).
So I think it's fine. Jonathan or Andrew, mind confirming my understanding?
Updated•1 year ago
|
Updated•1 year ago
|
Comment 7•1 year ago
•
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #6)
I don't think there is real deadlock potential here given comment 0.
Calling this S3 given this^. (Though if this assessment is correct, perhaps we should just close this?)
(jfkthame / aosmond: gentle reminder, could you confirm emilio's assessment in comment 6?)
Comment 8•11 months ago
|
||
Bugmon was unable reproduce this issue.
Removing bugmon keyword as no further action possible. Please review the bug and re-add the keyword for further analysis.
Comment 9•11 months ago
|
||
A change to the Taskcluster build definitions over the weekend caused Bugmon to fail when reproducing issues. This issue has been corrected. Re-enabling bugmon.
Comment 10•9 months ago
|
||
Unable to reproduce bug 1813811 using build mozilla-central 20230130035123-49ac19f1e046. 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.
Description
•