Closed Bug 1642884 Opened 1 month ago Closed 1 month ago

Intermittent SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/gfx/layers/apz/src/Axis.cpp:257:13 in CancelGesture

Categories

(Core :: Panning and Zooming, defect, P3)

defect

Tracking

()

RESOLVED FIXED
Tracking Status
firefox76 --- wontfix
firefox77 --- wontfix
firefox78 --- wontfix
firefox79 --- fixed

People

(Reporter: intermittent-bug-filer, Assigned: botond)

Details

(Keywords: intermittent-failure)

Attachments

(2 files, 2 obsolete files)

Filed by: btara [at] mozilla.com
Parsed log: https://treeherder.mozilla.org/logviewer.html#?job_id=304866168&repo=autoland
Full log: https://firefox-ci-tc.services.mozilla.com/api/queue/v1/task/UW6HH_RsSfCU5bDZ2aEg3w/runs/0/artifacts/public/logs/live_backing.log


[task 2020-06-03T06:15:06.533Z] 06:15:06     INFO - TEST-START | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html
[task 2020-06-03T06:15:07.663Z] 06:15:07     INFO - GECKO(3442) | WaitUntilApzStable: flushed APZ repaints in parent proc, waiting for callback...
[task 2020-06-03T06:15:07.666Z] 06:15:07     INFO - GECKO(3442) | WaitUntilApzStable: APZ flush done in parent proc
[task 2020-06-03T06:15:07.688Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | WaitUntilApzStable: got apz-flush-done in child proc
[task 2020-06-03T06:15:07.730Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | WaitUntilApzStable: done promiseFocus
[task 2020-06-03T06:15:07.737Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | waiting for paint...
[task 2020-06-03T06:15:07.834Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | got MozAfterPaint: 0,0,0,0
[task 2020-06-03T06:15:07.834Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | Dispatching 1 onpaint listeners
[task 2020-06-03T06:15:07.834Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | done...
[task 2020-06-03T06:15:07.834Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | WaitUntilApzStable: done promiseAllPaintsDone
[task 2020-06-03T06:15:07.850Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | PromiseApzRepaintsFlushed: Flushed APZ repaints, waiting for callback...
[task 2020-06-03T06:15:07.850Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | PromiseApzRepaintsFlushed: APZ flush done
[task 2020-06-03T06:15:07.850Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | WaitUntilApzStable: all done
[task 2020-06-03T06:15:07.986Z] 06:15:07     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | waiting for paint...
[task 2020-06-03T06:15:08.382Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | got MozAfterPaint: 0,0,0,0
[task 2020-06-03T06:15:08.382Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | Dispatching 1 onpaint listeners
[task 2020-06-03T06:15:08.385Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | done...
[task 2020-06-03T06:15:08.433Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | waiting for paint...
[task 2020-06-03T06:15:08.500Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | got MozAfterPaint: 0,0,0,0
[task 2020-06-03T06:15:08.501Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | Dispatching 1 onpaint listeners
[task 2020-06-03T06:15:08.501Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | done...
[task 2020-06-03T06:15:08.548Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | root dp: {"x":0,"y":0,"w":1268,"h":3584}, height: 966
[task 2020-06-03T06:15:08.550Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | waiting for paint...
[task 2020-06-03T06:15:08.606Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | got MozAfterPaint: 0,0,0,0
[task 2020-06-03T06:15:08.607Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | Dispatching 1 onpaint listeners
[task 2020-06-03T06:15:08.607Z] 06:15:08     INFO - GECKO(3442) | helper_checkerboard_apzforcedisabled.html | done...
[task 2020-06-03T06:15:09.752Z] 06:15:09     INFO - GECKO(3442) | WaitUntilApzStable: flushed APZ repaints in parent proc, waiting for callback...
[task 2020-06-03T06:15:09.752Z] 06:15:09     INFO - GECKO(3442) | WaitUntilApzStable: APZ flush done in parent proc
[task 2020-06-03T06:15:09.780Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | WaitUntilApzStable: got apz-flush-done in child proc
[task 2020-06-03T06:15:09.816Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | WaitUntilApzStable: done promiseFocus
[task 2020-06-03T06:15:09.816Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | waiting for paint...
[task 2020-06-03T06:15:09.932Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | got MozAfterPaint: 0,0,0,0
[task 2020-06-03T06:15:09.933Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | Dispatching 1 onpaint listeners
[task 2020-06-03T06:15:09.948Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | done...
[task 2020-06-03T06:15:09.948Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | WaitUntilApzStable: done promiseAllPaintsDone
[task 2020-06-03T06:15:09.964Z] 06:15:09     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | PromiseApzRepaintsFlushed: Flushed APZ repaints, waiting for callback...
[task 2020-06-03T06:15:10.007Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | PromiseApzRepaintsFlushed: APZ flush done
[task 2020-06-03T06:15:10.011Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | WaitUntilApzStable: all done
[task 2020-06-03T06:15:10.087Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | waiting for paint...
[task 2020-06-03T06:15:10.123Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | got MozAfterPaint: 0,0,0,0
[task 2020-06-03T06:15:10.123Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | Dispatching 1 onpaint listeners
[task 2020-06-03T06:15:10.123Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | done...
[task 2020-06-03T06:15:10.166Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | done...
[task 2020-06-03T06:15:10.168Z] 06:15:10     INFO - GECKO(3442) | helper_checkerboard_zoomoverflowhidden.html | done...
[task 2020-06-03T06:15:10.397Z] 06:15:10     INFO - GECKO(3442) | ==================
[task 2020-06-03T06:15:10.397Z] 06:15:10     INFO - GECKO(3442) | WARNING: ThreadSanitizer: data race (pid=3442)
[task 2020-06-03T06:15:10.397Z] 06:15:10     INFO - GECKO(3442) |   Write of size 4 at 0x7b740005af90 by main thread:
[task 2020-06-03T06:15:10.397Z] 06:15:10     INFO - GECKO(3442) |     #0 CancelGesture /builds/worker/checkouts/gecko/gfx/layers/apz/src/Axis.cpp:257:13 (libxul.so+0x1fd0aa5)
[task 2020-06-03T06:15:10.397Z] 06:15:10     INFO - GECKO(3442) |     #1 mozilla::layers::AsyncPanZoomController::CancelAnimationAndGestureState() /builds/worker/checkouts/gecko/gfx/layers/apz/src/AsyncPanZoomController.cpp:5069:6 (libxul.so+0x1fd0aa5)
[task 2020-06-03T06:15:10.398Z] 06:15:10     INFO - GECKO(3442) |     #2 mozilla::layers::AsyncPanZoomController::ResetTouchInputState() /builds/worker/checkouts/gecko/gfx/layers/apz/src/AsyncPanZoomController.cpp:5060:3 (libxul.so+0x1fde364)
[task 2020-06-03T06:15:10.398Z] 06:15:10     INFO - GECKO(3442) |     #3 mozilla::layers::InputQueue::ProcessQueue() /builds/worker/checkouts/gecko/gfx/layers/apz/src/InputQueue.cpp:825:26 (libxul.so+0x2019f68)
[task 2020-06-03T06:15:10.398Z] 06:15:10     INFO - GECKO(3442) |     #4 mozilla::layers::InputQueue::ReceiveTouchInput(RefPtr<mozilla::layers::AsyncPanZoomController> const&, mozilla::layers::TargetConfirmationFlags, mozilla::MultiTouchInput const&, unsigned long*, mozilla::Maybe<nsTArray<unsigned int> > const&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/InputQueue.cpp:184:3 (libxul.so+0x2017859)
[task 2020-06-03T06:15:10.401Z] 06:15:10     INFO - GECKO(3442) |     #5 mozilla::layers::InputQueue::ReceiveInputEvent(RefPtr<mozilla::layers::AsyncPanZoomController> const&, mozilla::layers::TargetConfirmationFlags, mozilla::InputData const&, unsigned long*, mozilla::Maybe<nsTArray<unsigned int> > const&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/InputQueue.cpp:41:14 (libxul.so+0x2016fe5)
[task 2020-06-03T06:15:10.402Z] 06:15:10     INFO - GECKO(3442) |     #6 mozilla::layers::APZCTreeManager::ProcessTouchInput(mozilla::MultiTouchInput&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:2049:37 (libxul.so+0x1fac8ad)
[task 2020-06-03T06:15:10.402Z] 06:15:10     INFO - GECKO(3442) |     #7 mozilla::layers::APZCTreeManager::ReceiveInputEvent(mozilla::InputData&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:1474:16 (libxul.so+0x1fa9659)
[task 2020-06-03T06:15:10.402Z] 06:15:10     INFO - GECKO(3442) |     #8 non-virtual thunk to mozilla::layers::APZCTreeManager::ReceiveInputEvent(mozilla::InputData&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp (libxul.so+0x1fafce9)
[task 2020-06-03T06:15:10.403Z] 06:15:10     INFO - GECKO(3442) |     #9 mozilla::layers::APZInputBridge::ReceiveInputEvent(mozilla::WidgetInputEvent&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZInputBridge.cpp:87:16 (libxul.so+0x1fbdce1)
[task 2020-06-03T06:15:10.403Z] 06:15:10     INFO - GECKO(3442) |     #10 nsBaseWidget::DispatchInputEvent(mozilla::WidgetInputEvent*) /builds/worker/checkouts/gecko/widget/nsBaseWidget.cpp:1111:53 (libxul.so+0x47ef01d)
[task 2020-06-03T06:15:10.403Z] 06:15:10     INFO - GECKO(3442) |     #11 nsWindow::OnTouchEvent(_GdkEventTouch*) /builds/worker/checkouts/gecko/widget/gtk/nsWindow.cpp:4075:3 (libxul.so+0x4861d05)
[task 2020-06-03T06:15:10.404Z] 06:15:10     INFO - GECKO(3442) |     #12 touch_event_cb(_GtkWidget*, _GdkEventTouch*) /builds/worker/checkouts/gecko/widget/gtk/nsWindow.cpp:6846:18 (libxul.so+0x4865c1b)
[task 2020-06-03T06:15:10.404Z] 06:15:10     INFO - GECKO(3442) |     #13 <null> <null> (libgtk-3.so.0+0x2317fa)
[task 2020-06-03T06:15:10.404Z] 06:15:10     INFO - GECKO(3442) |     #14 DoProcessNextNativeEvent /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:120:17 (libxul.so+0x482aa67)
[task 2020-06-03T06:15:10.405Z] 06:15:10     INFO - GECKO(3442) |     #15 nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:242:19 (libxul.so+0x482aa67)
[task 2020-06-03T06:15:10.406Z] 06:15:10     INFO - GECKO(3442) |     #16 non-virtual thunk to nsBaseAppShell::OnProcessNextEvent(nsIThreadInternal*, bool) /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp (libxul.so+0x482ae08)
[task 2020-06-03T06:15:10.408Z] 06:15:10     INFO - GECKO(3442) |     #17 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1113:10 (libxul.so+0xb09e92)
[task 2020-06-03T06:15:10.408Z] 06:15:10     INFO - GECKO(3442) |     #18 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:501:10 (libxul.so+0xb0f152)
[task 2020-06-03T06:15:10.409Z] 06:15:10     INFO - GECKO(3442) |     #19 mozilla::ipc::MessagePump::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:87:21 (libxul.so+0x13d1d89)
[task 2020-06-03T06:15:10.410Z] 06:15:10     INFO - GECKO(3442) |     #20 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.411Z] 06:15:10     INFO - GECKO(3442) |     #21 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.411Z] 06:15:10     INFO - GECKO(3442) |     #22 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.412Z] 06:15:10     INFO - GECKO(3442) |     #23 nsBaseAppShell::Run() /builds/worker/checkouts/gecko/widget/nsBaseAppShell.cpp:137:27 (libxul.so+0x482a613)
[task 2020-06-03T06:15:10.413Z] 06:15:10     INFO - GECKO(3442) |     #24 nsAppStartup::Run() /builds/worker/checkouts/gecko/toolkit/components/startup/nsAppStartup.cpp:271:30 (libxul.so+0x6309915)
[task 2020-06-03T06:15:10.413Z] 06:15:10     INFO - GECKO(3442) |     #25 XREMain::XRE_mainRun() /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:4664:22 (libxul.so+0x6425f6a)
[task 2020-06-03T06:15:10.414Z] 06:15:10     INFO - GECKO(3442) |     #26 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:4811:8 (libxul.so+0x6426b53)
[task 2020-06-03T06:15:10.414Z] 06:15:10     INFO - GECKO(3442) |     #27 XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:4865:21 (libxul.so+0x6426eb4)
[task 2020-06-03T06:15:10.415Z] 06:15:10     INFO - GECKO(3442) |     #28 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0x6431a62)
[task 2020-06-03T06:15:10.416Z] 06:15:10     INFO - GECKO(3442) |     #29 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:217:22 (firefox+0xca433)
[task 2020-06-03T06:15:10.416Z] 06:15:10     INFO - GECKO(3442) |     #30 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:331:16 (firefox+0xca433)
[task 2020-06-03T06:15:10.417Z] 06:15:10     INFO - GECKO(3442) |   Previous read of size 4 at 0x7b740005af90 by thread T25 (mutexes: write M450495700883844128):
[task 2020-06-03T06:15:10.418Z] 06:15:10     INFO - GECKO(3442) |     #0 GetVelocity /builds/worker/checkouts/gecko/gfx/layers/apz/src/Axis.cpp:348:60 (libxul.so+0x1fd24fc)
[task 2020-06-03T06:15:10.418Z] 06:15:10     INFO - GECKO(3442) |     #1 GetVelocityVector /builds/worker/checkouts/gecko/gfx/layers/apz/src/AsyncPanZoomController.cpp:2941:30 (libxul.so+0x1fd24fc)
[task 2020-06-03T06:15:10.420Z] 06:15:10     INFO - GECKO(3442) |     #2 mozilla::layers::AsyncPanZoomController::RequestContentRepaint(mozilla::layers::RepaintRequest::ScrollOffsetUpdateType) /builds/worker/checkouts/gecko/gfx/layers/apz/src/AsyncPanZoomController.cpp:3909:31 (libxul.so+0x1fd24fc)
[task 2020-06-03T06:15:10.421Z] 06:15:10     INFO - GECKO(3442) |     #3 applyImpl<mozilla::layers::AsyncPanZoomController, void (mozilla::layers::AsyncPanZoomController::*)(mozilla::layers::RepaintRequest::ScrollOffsetUpdateType), StoreCopyPassByConstLRef<mozilla::layers::RepaintRequest::ScrollOffsetUpdateType> , 0> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1185:12 (libxul.so+0x2007cf6)
[task 2020-06-03T06:15:10.422Z] 06:15:10     INFO - GECKO(3442) |     #4 apply<mozilla::layers::AsyncPanZoomController, void (mozilla::layers::AsyncPanZoomController::*)(mozilla::layers::RepaintRequest::ScrollOffsetUpdateType)> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1191:12 (libxul.so+0x2007cf6)
[task 2020-06-03T06:15:10.422Z] 06:15:10     INFO - GECKO(3442) |     #5 mozilla::detail::RunnableMethodImpl<mozilla::layers::AsyncPanZoomController*, void (mozilla::layers::AsyncPanZoomController::*)(mozilla::layers::RepaintRequest::ScrollOffsetUpdateType), true, (mozilla::RunnableKind)0, mozilla::layers::RepaintRequest::ScrollOffsetUpdateType>::Run() /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:1237:13 (libxul.so+0x2007cf6)
[task 2020-06-03T06:15:10.423Z] 06:15:10     INFO - GECKO(3442) |     #6 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1211:14 (libxul.so+0xb0a758)
[task 2020-06-03T06:15:10.423Z] 06:15:10     INFO - GECKO(3442) |     #7 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:501:10 (libxul.so+0xb0f152)
[task 2020-06-03T06:15:10.424Z] 06:15:10     INFO - GECKO(3442) |     #8 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:302:20 (libxul.so+0x13d288e)
[task 2020-06-03T06:15:10.424Z] 06:15:10     INFO - GECKO(3442) |     #9 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.425Z] 06:15:10     INFO - GECKO(3442) |     #10 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.425Z] 06:15:10     INFO - GECKO(3442) |     #11 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.426Z] 06:15:10     INFO - GECKO(3442) |     #12 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:444:10 (libxul.so+0xb06d75)
[task 2020-06-03T06:15:10.427Z] 06:15:10     INFO - GECKO(3442) |     #13 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x44d8f)
[task 2020-06-03T06:15:10.427Z] 06:15:10     INFO - GECKO(3442) |   Location is heap block of size 2144 at 0x7b740005aa00 allocated by thread T25:
[task 2020-06-03T06:15:10.428Z] 06:15:10     INFO - GECKO(3442) |     #0 malloc /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:650:5 (firefox+0x56bf4)
[task 2020-06-03T06:15:10.428Z] 06:15:10     INFO - GECKO(3442) |     #1 moz_xmalloc /builds/worker/checkouts/gecko/memory/mozalloc/mozalloc.cpp:52:15 (firefox+0xcb768)
[task 2020-06-03T06:15:10.429Z] 06:15:10     INFO - GECKO(3442) |     #2 operator new /builds/worker/workspace/obj-build/dist/include/mozilla/cxxalloc.h:33:10 (libxul.so+0x1fa1134)
[task 2020-06-03T06:15:10.430Z] 06:15:10     INFO - GECKO(3442) |     #3 mozilla::layers::APZCTreeManager::NewAPZCInstance(mozilla::layers::LayersId, mozilla::layers::GeckoContentController*) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:343:10 (libxul.so+0x1fa1134)
[task 2020-06-03T06:15:10.430Z] 06:15:10     INFO - GECKO(3442) |     #4 mozilla::layers::HitTestingTreeNode* mozilla::layers::APZCTreeManager::PrepareNodeForLayer<mozilla::layers::LayerMetricsWrapper>(mozilla::RecursiveMutexAutoLock const&, mozilla::layers::LayerMetricsWrapper const&, mozilla::layers::FrameMetrics const&, mozilla::layers::LayersId, mozilla::layers::AncestorTransform const&, mozilla::layers::HitTestingTreeNode*, mozilla::layers::HitTestingTreeNode*, mozilla::layers::APZCTreeManager::TreeBuildingState&) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:1268:14 (libxul.so+0x1fedba4)
[task 2020-06-03T06:15:10.431Z] 06:15:10     INFO - GECKO(3442) |     #5 void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper)::operator()(mozilla::layers::LayerMetricsWrapper) const /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:459:38 (libxul.so+0x1fea7c7)
[task 2020-06-03T06:15:10.433Z] 06:15:10     INFO - GECKO(3442) |     #6 std::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper), void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper)>(mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper) const&, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper) const&) /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:139:3 (libxul.so+0x1fe8d38)
[task 2020-06-03T06:15:10.433Z] 06:15:10     INFO - GECKO(3442) |     #7 std::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper), void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper)>(mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper) const&, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper) const&) /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:143:5 (libxul.so+0x1fe8da1)
[task 2020-06-03T06:15:10.435Z] 06:15:10     INFO - GECKO(3442) |     #8 std::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper), void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper)>(mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper) const&, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper) const&) /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:143:5 (libxul.so+0x1fe8da1)
[task 2020-06-03T06:15:10.435Z] 06:15:10     INFO - GECKO(3442) |     #9 std::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper), void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper)>(mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper) const&, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper) const&) /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:143:5 (libxul.so+0x1fe8da1)
[task 2020-06-03T06:15:10.437Z] 06:15:10     INFO - GECKO(3442) |     #10 std::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper), void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper)>(mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper) const&, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper) const&) /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:143:5 (libxul.so+0x1fe8da1)
[task 2020-06-03T06:15:10.439Z] 06:15:10     INFO - GECKO(3442) |     #11 std::enable_if<(std::is_same_v<decltype(fp0(fp)), void>) && (std::is_same_v<decltype(fp1(fp)), void>), void>::type mozilla::layers::ForEachNode<mozilla::layers::ReverseIterator, mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper), void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper)>(mozilla::layers::LayerMetricsWrapper, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda'(mozilla::layers::LayerMetricsWrapper) const&, void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int)::'lambda0'(mozilla::layers::LayerMetricsWrapper) const&) /builds/worker/checkouts/gecko/gfx/layers/TreeTraversal.h:143:5 (libxul.so+0x1fe8da1)
[task 2020-06-03T06:15:10.439Z] 06:15:10     INFO - GECKO(3442) |     #12 void mozilla::layers::APZCTreeManager::UpdateHitTestingTreeImpl<mozilla::layers::LayerMetricsWrapper>(mozilla::layers::LayerMetricsWrapper const&, bool, mozilla::layers::LayersId, unsigned int) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:428:5 (libxul.so+0x1fa26e5)
[task 2020-06-03T06:15:10.440Z] 06:15:10     INFO - GECKO(3442) |     #13 UpdateHitTestingTree /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZCTreeManager.cpp:691:3 (libxul.so+0x1fc25af)
[task 2020-06-03T06:15:10.440Z] 06:15:10     INFO - GECKO(3442) |     #14 mozilla::layers::APZUpdater::UpdateHitTestingTree(mozilla::layers::Layer*, bool, mozilla::layers::LayersId, unsigned int) /builds/worker/checkouts/gecko/gfx/layers/apz/src/APZUpdater.cpp:169:9 (libxul.so+0x1fc25af)
[task 2020-06-03T06:15:10.440Z] 06:15:10     INFO - GECKO(3442) |     #15 mozilla::layers::CompositorBridgeParent::NotifyShadowTreeTransaction(mozilla::layers::LayersId, bool, mozilla::layers::FocusTarget const&, bool, unsigned int, bool, bool) /builds/worker/checkouts/gecko/gfx/layers/ipc/CompositorBridgeParent.cpp:871:22 (libxul.so+0x20d7ccc)
[task 2020-06-03T06:15:10.441Z] 06:15:10     INFO - GECKO(3442) |     #16 mozilla::layers::ContentCompositorBridgeParent::ShadowLayersUpdated(mozilla::layers::LayerTransactionParent*, mozilla::layers::TransactionInfo const&, bool) /builds/worker/checkouts/gecko/gfx/layers/ipc/ContentCompositorBridgeParent.cpp:357:19 (libxul.so+0x20ea7a4)
[task 2020-06-03T06:15:10.442Z] 06:15:10     INFO - GECKO(3442) |     #17 mozilla::layers::LayerTransactionParent::RecvUpdate(mozilla::layers::TransactionInfo const&) /builds/worker/checkouts/gecko/gfx/layers/ipc/LayerTransactionParent.cpp:443:22 (libxul.so+0x210d6d7)
[task 2020-06-03T06:15:10.442Z] 06:15:10     INFO - GECKO(3442) |     #18 mozilla::layers::PLayerTransactionParent::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PLayerTransactionParent.cpp:124:66 (libxul.so+0x15ff480)
[task 2020-06-03T06:15:10.443Z] 06:15:10     INFO - GECKO(3442) |     #19 mozilla::layers::PCompositorManagerParent::OnMessageReceived(IPC::Message const&) /builds/worker/workspace/obj-build/ipc/ipdl/PCompositorManagerParent.cpp:197:32 (libxul.so+0x14a5cf5)
[task 2020-06-03T06:15:10.443Z] 06:15:10     INFO - GECKO(3442) |     #20 mozilla::ipc::MessageChannel::DispatchAsyncMessage(mozilla::ipc::ActorLifecycleProxy*, IPC::Message const&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2169:25 (libxul.so+0x13ce466)
[task 2020-06-03T06:15:10.443Z] 06:15:10     INFO - GECKO(3442) |     #21 mozilla::ipc::MessageChannel::DispatchMessage(IPC::Message&&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:2093:9 (libxul.so+0x13cc8f4)
[task 2020-06-03T06:15:10.444Z] 06:15:10     INFO - GECKO(3442) |     #22 mozilla::ipc::MessageChannel::RunMessage(mozilla::ipc::MessageChannel::MessageTask&) /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1941:3 (libxul.so+0x13cd4c1)
[task 2020-06-03T06:15:10.444Z] 06:15:10     INFO - GECKO(3442) |     #23 mozilla::ipc::MessageChannel::MessageTask::Run() /builds/worker/checkouts/gecko/ipc/glue/MessageChannel.cpp:1972:13 (libxul.so+0x13cd9f9)
[task 2020-06-03T06:15:10.445Z] 06:15:10     INFO - GECKO(3442) |     #24 nsThread::ProcessNextEvent(bool, bool*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:1211:14 (libxul.so+0xb0a758)
[task 2020-06-03T06:15:10.446Z] 06:15:10     INFO - GECKO(3442) |     #25 NS_ProcessNextEvent(nsIThread*, bool) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:501:10 (libxul.so+0xb0f152)
[task 2020-06-03T06:15:10.446Z] 06:15:10     INFO - GECKO(3442) |     #26 mozilla::ipc::MessagePumpForNonMainThreads::Run(base::MessagePump::Delegate*) /builds/worker/checkouts/gecko/ipc/glue/MessagePump.cpp:332:5 (libxul.so+0x13d28f8)
[task 2020-06-03T06:15:10.446Z] 06:15:10     INFO - GECKO(3442) |     #27 RunInternal /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:315:10 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.447Z] 06:15:10     INFO - GECKO(3442) |     #28 RunHandler /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:308:3 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.447Z] 06:15:10     INFO - GECKO(3442) |     #29 MessageLoop::Run() /builds/worker/checkouts/gecko/ipc/chromium/src/base/message_loop.cc:290:3 (libxul.so+0x135ea6c)
[task 2020-06-03T06:15:10.447Z] 06:15:10     INFO - GECKO(3442) |     #30 nsThread::ThreadFunc(void*) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:444:10 (libxul.so+0xb06d75)
[task 2020-06-03T06:15:10.448Z] 06:15:10     INFO - GECKO(3442) |     #31 _pt_root /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:201:5 (libnspr4.so+0x44d8f)
[task 2020-06-03T06:15:10.448Z] 06:15:10     INFO - GECKO(3442) |   Mutex M450495700883844128 is already destroyed.
[task 2020-06-03T06:15:10.449Z] 06:15:10     INFO - GECKO(3442) |   Thread T25 'Compositor' (tid=3483, running) created by main thread at:
[task 2020-06-03T06:15:10.449Z] 06:15:10     INFO - GECKO(3442) |     #0 pthread_create /builds/worker/fetches/llvm-project/llvm/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:967:3 (firefox+0x584db)
[task 2020-06-03T06:15:10.449Z] 06:15:10     INFO - GECKO(3442) |     #1 _PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:458:14 (libnspr4.so+0x3bf93)
[task 2020-06-03T06:15:10.450Z] 06:15:10     INFO - GECKO(3442) |     #2 PR_CreateThread /builds/worker/checkouts/gecko/nsprpub/pr/src/pthreads/ptthread.c:533:12 (libnspr4.so+0x308c2)
[task 2020-06-03T06:15:10.451Z] 06:15:10     INFO - GECKO(3442) |     #3 nsThread::Init(nsTSubstring<char> const&) /builds/worker/checkouts/gecko/xpcom/threads/nsThread.cpp:652:8 (libxul.so+0xb0820b)
[task 2020-06-03T06:15:10.451Z] 06:15:10     INFO - GECKO(3442) |     #4 nsThreadManager::NewNamedThread(nsTSubstring<char> const&, unsigned int, nsIThread**) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadManager.cpp:620:12 (libxul.so+0xb0e89b)
[task 2020-06-03T06:15:10.452Z] 06:15:10     INFO - GECKO(3442) |     #5 NS_NewNamedThread(nsTSubstring<char> const&, nsIThread**, already_AddRefed<nsIRunnable>, unsigned int) /builds/worker/checkouts/gecko/xpcom/threads/nsThreadUtils.cpp:157:57 (libxul.so+0xb14e28)
[task 2020-06-03T06:15:10.452Z] 06:15:10     INFO - GECKO(3442) |     #6 NS_NewNamedThread<11> /builds/worker/workspace/obj-build/dist/include/nsThreadUtils.h:71:10 (libxul.so+0x20e75b5)
[task 2020-06-03T06:15:10.452Z] 06:15:10     INFO - GECKO(3442) |     #7 mozilla::layers::CompositorThreadHolder::CreateCompositorThread() /builds/worker/checkouts/gecko/gfx/layers/ipc/CompositorThread.cpp:56:17 (libxul.so+0x20e75b5)
[task 2020-06-03T06:15:10.452Z] 06:15:10     INFO - GECKO(3442) |     #8 CompositorThreadHolder /builds/worker/checkouts/gecko/gfx/layers/ipc/CompositorThread.cpp:37:25 (libxul.so+0x20e77aa)
[task 2020-06-03T06:15:10.452Z] 06:15:10     INFO - GECKO(3442) |     #9 mozilla::layers::CompositorThreadHolder::Start() /builds/worker/checkouts/gecko/gfx/layers/ipc/CompositorThread.cpp:95:33 (libxul.so+0x20e77aa)
[task 2020-06-03T06:15:10.453Z] 06:15:10     INFO - GECKO(3442) |     #10 gfxPlatform::InitLayersIPC() /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:1344:5 (libxul.so+0x214f7ca)
[task 2020-06-03T06:15:10.454Z] 06:15:10     INFO - GECKO(3442) |     #11 gfxPlatform::Init() /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:977:3 (libxul.so+0x214d7f9)
[task 2020-06-03T06:15:10.454Z] 06:15:10     INFO - GECKO(3442) |     #12 gfxPlatform::GetPlatform() /builds/worker/checkouts/gecko/gfx/thebes/gfxPlatform.cpp:507:5 (libxul.so+0x214c630)
[task 2020-06-03T06:15:10.455Z] 06:15:10     INFO - GECKO(3442) |     #13 mozilla::widget::GfxInfoBase::GetContentBackend(nsTSubstring<char16_t>&) /builds/worker/checkouts/gecko/widget/GfxInfoBase.cpp:1747:25 (libxul.so+0x480d257)
[task 2020-06-03T06:15:10.455Z] 06:15:10     INFO - GECKO(3442) |     #14 NS_InvokeByIndex /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcinvoke_asm_x86_64_unix.S:106 (libxul.so+0xb29a05)
[task 2020-06-03T06:15:10.455Z] 06:15:10     INFO - GECKO(3442) |     #15 GetAttribute /builds/worker/checkouts/gecko/js/xpconnect/src/xpcprivate.h:1448:12 (libxul.so+0x194e8e7)
[task 2020-06-03T06:15:10.456Z] 06:15:10     INFO - GECKO(3442) |     #16 XPC_WN_GetterSetter(JSContext*, unsigned int, JS::Value*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedNativeJSOps.cpp:986:10 (libxul.so+0x194e8e7)
[task 2020-06-03T06:15:10.456Z] 06:15:10     INFO - GECKO(3442) |     #17 CallJSNative /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:493:13 (libxul.so+0x6556bc9)
[task 2020-06-03T06:15:10.456Z] 06:15:10     INFO - GECKO(3442) |     #18 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:585:12 (libxul.so+0x6556bc9)
[task 2020-06-03T06:15:10.457Z] 06:15:10     INFO - GECKO(3442) |     #19 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:648:10 (libxul.so+0x65591b6)
[task 2020-06-03T06:15:10.457Z] 06:15:10     INFO - GECKO(3442) |     #20 Call /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:665:8 (libxul.so+0x65591b6)
[task 2020-06-03T06:15:10.458Z] 06:15:10     INFO - GECKO(3442) |     #21 js::CallGetter(JSContext*, JS::Handle<JS::Value>, JS::Handle<JS::Value>, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:789:10 (libxul.so+0x65591b6)
[task 2020-06-03T06:15:10.458Z] 06:15:10     INFO - GECKO(3442) |     #22 CallGetter /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2262:12 (libxul.so+0x6842a3c)
[task 2020-06-03T06:15:10.459Z] 06:15:10     INFO - GECKO(3442) |     #23 GetExistingProperty<js::CanGC> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2313:12 (libxul.so+0x6842a3c)
[task 2020-06-03T06:15:10.459Z] 06:15:10     INFO - GECKO(3442) |     #24 NativeGetPropertyInline<js::CanGC> /builds/worker/checkouts/gecko/js/src/vm/NativeObject.cpp:2453:14 (libxul.so+0x6842a3c)
[task 2020-06-03T06:15:10.460Z] 06:15:10     INFO - GECKO(3442) |     #25 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:2490:10 (libxul.so+0x6842a3c)
[task 2020-06-03T06:15:10.460Z] 06:15:10     INFO - GECKO(3442) |     #26 GetProperty /builds/worker/checkouts/gecko/js/src/vm/ObjectOperations-inl.h:117:10 (libxul.so+0x6549f6a)
[task 2020-06-03T06:15:10.460Z] 06:15:10     INFO - GECKO(3442) |     #27 GetObjectElementOperation /builds/worker/checkouts/gecko/js/src/vm/Interpreter-inl.h:450:10 (libxul.so+0x6549f6a)
[task 2020-06-03T06:15:10.461Z] 06:15:10     INFO - GECKO(3442) |     #28 GetElementOperationWithStackIndex /builds/worker/checkouts/gecko/js/src/vm/Interpreter-inl.h:564:10 (libxul.so+0x6549f6a)
[task 2020-06-03T06:15:10.461Z] 06:15:10     INFO - GECKO(3442) |     #29 Interpret(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:3116:14 (libxul.so+0x6549f6a)
[task 2020-06-03T06:15:10.462Z] 06:15:10     INFO - GECKO(3442) |     #30 js::RunScript(JSContext*, js::RunState&) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:465:10 (libxul.so+0x653eaef)
[task 2020-06-03T06:15:10.462Z] 06:15:10     INFO - GECKO(3442) |     #31 js::InternalCallOrConstruct(JSContext*, JS::CallArgs const&, js::MaybeConstruct, js::CallReason) /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:620:13 (libxul.so+0x6557576)
[task 2020-06-03T06:15:10.467Z] 06:15:10     INFO - GECKO(3442) |     #32 InternalCall /builds/worker/checkouts/gecko/js/src/vm/Interpreter.cpp:648:10 (libxul.so+0x655800e)
[task 2020-06-03T06:15:10.467Z] 06:15:10     INFO - GECKO(3442) |     #33 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:665:8 (libxul.so+0x655800e)
[task 2020-06-03T06:15:10.467Z] 06:15:10     INFO - GECKO(3442) |     #34 JS_CallFunctionValue(JSContext*, JS::Handle<JSObject*>, JS::Handle<JS::Value>, JS::HandleValueArray const&, JS::MutableHandle<JS::Value>) /builds/worker/checkouts/gecko/js/src/jsapi.cpp:2777:10 (libxul.so+0x661212d)
[task 2020-06-03T06:15:10.472Z] 06:15:10     INFO - GECKO(3442) |     #35 nsXPCWrappedJS::CallMethod(unsigned short, nsXPTMethodInfo const*, nsXPTCMiniVariant*) /builds/worker/checkouts/gecko/js/xpconnect/src/XPCWrappedJSClass.cpp:963:17 (libxul.so+0x194580a)
[task 2020-06-03T06:15:10.474Z] 06:15:10     INFO - GECKO(3442) |     #36 PrepareAndDispatch /builds/worker/checkouts/gecko/xpcom/reflect/xptcall/md/unix/xptcstubs_x86_64_linux.cpp:125:37 (libxul.so+0xb2aa54)
[task 2020-06-03T06:15:10.474Z] 06:15:10     INFO - GECKO(3442) |     #37 SharedStub <null> (libxul.so+0xb29d02)
[task 2020-06-03T06:15:10.474Z] 06:15:10     INFO - GECKO(3442) |     #38 nsXREDirProvider::DoStartup() /builds/worker/checkouts/gecko/toolkit/xre/nsXREDirProvider.cpp:966:11 (libxul.so+0x6435018)
[task 2020-06-03T06:15:10.475Z] 06:15:10     INFO - GECKO(3442) |     #39 XREMain::XRE_mainRun() /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:4451:16 (libxul.so+0x6425922)
[task 2020-06-03T06:15:10.475Z] 06:15:10     INFO - GECKO(3442) |     #40 XREMain::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:4811:8 (libxul.so+0x6426b53)
[task 2020-06-03T06:15:10.475Z] 06:15:10     INFO - GECKO(3442) |     #41 XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/nsAppRunner.cpp:4865:21 (libxul.so+0x6426eb4)
[task 2020-06-03T06:15:10.475Z] 06:15:10     INFO - GECKO(3442) |     #42 mozilla::BootstrapImpl::XRE_main(int, char**, mozilla::BootstrapConfig const&) /builds/worker/checkouts/gecko/toolkit/xre/Bootstrap.cpp:45:12 (libxul.so+0x6431a62)
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) |     #43 do_main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:217:22 (firefox+0xca433)
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) |     #44 main /builds/worker/checkouts/gecko/browser/app/nsBrowserApp.cpp:331:16 (firefox+0xca433)
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) | SUMMARY: ThreadSanitizer: data race /builds/worker/checkouts/gecko/gfx/layers/apz/src/Axis.cpp:257:13 in CancelGesture
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) | ==================
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) | Exiting due to channel error.
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) | Exiting due to channel error.
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) | Exiting due to channel error.
[task 2020-06-03T06:15:10.476Z] 06:15:10     INFO - GECKO(3442) | Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=31.512) Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=42.7982) Exiting due to channel error.
[task 2020-06-03T06:15:11.561Z] 06:15:11     INFO - GECKO(3442) | Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=42.02) Crash Annotation GraphicsCriticalError: |[C0][GFX1-]: Receive IPC close with reason=AbnormalShutdown (t=28.7422)
[task 2020-06-03T06:15:11.569Z] 06:15:11     INFO - TEST-INFO | Main app process: killed by SIGIOT
[task 2020-06-03T06:15:11.569Z] 06:15:11     INFO - Buffered messages logged at 06:15:06
[task 2020-06-03T06:15:11.569Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | Starting subtest helper_checkerboard_apzforcedisabled.html 
[task 2020-06-03T06:15:11.569Z] 06:15:11     INFO - Buffered messages logged at 06:15:07
[task 2020-06-03T06:15:11.569Z] 06:15:11     INFO - must wait for load
[task 2020-06-03T06:15:11.570Z] 06:15:11     INFO - Buffered messages logged at 06:15:08
[task 2020-06-03T06:15:11.570Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | expected at least one nonempty paint 
[task 2020-06-03T06:15:11.570Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | subframe should be layerized at this point 
[task 2020-06-03T06:15:11.570Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | subframe should have a scroll id 
[task 2020-06-03T06:15:11.571Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | expected at least one nonempty paint 
[task 2020-06-03T06:15:11.571Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | expected string of form (x,y,w,h) 
[task 2020-06-03T06:15:11.571Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | root element should have a displayport 
[task 2020-06-03T06:15:11.571Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | root element should have at least 500px of vertical displayport margin 
[task 2020-06-03T06:15:11.571Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | document got scrolled instantly 
[task 2020-06-03T06:15:11.571Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | subframe is not checkerboarding 
[task 2020-06-03T06:15:11.572Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_apzforcedisabled.html | Found the checkerboarding subframe 
[task 2020-06-03T06:15:11.572Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | Starting subtest helper_checkerboard_zoomoverflowhidden.html 
[task 2020-06-03T06:15:11.572Z] 06:15:11     INFO - Buffered messages logged at 06:15:09
[task 2020-06-03T06:15:11.572Z] 06:15:11     INFO - must wait for load
[task 2020-06-03T06:15:11.573Z] 06:15:11     INFO - Buffered messages logged at 06:15:10
[task 2020-06-03T06:15:11.573Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_zoomoverflowhidden.html | The initial_resolution is 1, which is some sane value 
[task 2020-06-03T06:15:11.573Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_zoomoverflowhidden.html | expected at least one nonempty paint 
[task 2020-06-03T06:15:11.575Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_zoomoverflowhidden.html | subframe should be layerized at this point 
[task 2020-06-03T06:15:11.575Z] 06:15:11     INFO - TEST-PASS | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | helper_checkerboard_zoomoverflowhidden.html | subframe should have a scroll id 
[task 2020-06-03T06:15:11.575Z] 06:15:11     INFO - Buffered messages finished
[task 2020-06-03T06:15:11.575Z] 06:15:11    ERROR - TEST-UNEXPECTED-FAIL | gfx/layers/apz/test/mochitest/test_group_checkerboarding.html | application terminated with exit code -6
[task 2020-06-03T06:15:11.575Z] 06:15:11     INFO - runtests.py | Application ran for: 0:00:54.182322

Looks like we are writing to Axis::mVelocity on the controller thread without holding any mutexes. We read from it on the repaint thread while holding the APZC lock. If the GPU process is enabled the controller thread is the GPU proc main thread, and the repaint thread is the GPU proc compositor thread so there's a race here.

Note that there's a few different call sites for Axis::CancelGesture and none of them seem protected.

Severity: normal → S3
Priority: P5 → P3
Assignee: nobody → botond
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/02f8daecd98e
Ensure calls to Axis::CancelGesture() are protected by the APZC lock. r=kats

The failures are another data race, this time in UpdateWithTouchAtDevicePoint(). It's a pre-existing data race, so I'm not sure how this patch could have introduced the failures, but anyways, we can fix this race too.

Flags: needinfo?(botond)

Hmm. Fixing the data race in UpdateWithTouchAtDevicePoint() is tricky due to the fact that we can't hold the APZC lock while calling this function, because this function can acquire the tree lock via the following fun stack trace:

Axis::UpdateWithTouchAtDevicePoint
SimpleVelocityTracker::AddPosition
SimpleVelocityTracker::ApplyFlingCurveToVelocity
Axis::ToLocalVelocity
AsyncPanZoomController::ToScreenCoordinates
AsyncPanZoomController::GetTransformToThis
APZCTreeManager::GetScreenToApzcTransform

However, UpdateWithTouchAtDevicePoint() also modifies mVelocity, which needs to be guarded by the APZC lock to avoid the data race...

Attachment #9153875 - Attachment is obsolete: true
Keywords: leave-open
Pushed by dluca@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/6fd265574f27
Temporarily suppress data race in Axis::UpdateWithTouchAtDevicePoint. r=fix CLOSED TREE

Explanation of what is happening here procedurally:

  • This was originally filed to track a data race in CancelGesture
  • The fix was backed out due to another data race in UpdateWithTouchAtDevicePoint
  • The backout did not fix the UpdateWithTouchAtDevicePoint data race. It's unclear what caused it to start happening, but in any case, it's a pre-existing issue that was exposed by a recent code change.
  • The updated patch here fixes both data races
  • But until that's reviewed, we're landing a temporary suppression
Attachment #9154006 - Attachment is obsolete: true
Pushed by bballo@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/e2d0d6675bb5
Protect all access to Axis::mVelocity with a mutex. r=kats
Status: NEW → RESOLVED
Closed: 1 month ago
Keywords: leave-open
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.