For dedicated workers, their MojoUkmRecorder is created in WorkerSchedulerProxy (which happens on the main thread): https://cs.chromium.org/chromium/src/third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy.cc?l=26&rcl=08441c418c6c1d84f91dd72f7b7eb2a4eaca0df7 This causes the connector to bind to the current thread: https://cs.chromium.org/chromium/src/services/service_manager/public/cpp/connector.cc?l=80&rcl=fcd25fc0ff18ee08db307402282ba9748b0e4521 And grab the TaskRunner from the current thread: https://cs.chromium.org/chromium/src/mojo/public/cpp/bindings/lib/interface_ptr_state.cc?l=59&rcl=fcd25fc0ff18ee08db307402282ba9748b0e4521 The issue was introduced here: https://chromium.googlesource.com/chromium/src/+/bf24ff1ef581ecbfa5bbaf1b6373e1ea9fa8f5f8 I have a fix in progress: https://chromium-review.googlesource.com/c/chromium/src/+/1208941
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/f88d78359d5db7a603bda7bda4fe17e9d564585f commit f88d78359d5db7a603bda7bda4fe17e9d564585f Author: Kai Ninomiya <kainino@chromium.org> Date: Mon Sep 10 22:19:14 2018 Move dedicated worker MojoUkmRecorder creation to worker thread Bug: 881144 Change-Id: Idc5292cecf9a3d4dbc101a9c44c47bd3db62dab6 Reviewed-on: https://chromium-review.googlesource.com/1208941 Reviewed-by: Alexander Timin <altimin@chromium.org> Reviewed-by: Ken Rockot <rockot@chromium.org> Reviewed-by: Kenneth Russell <kbr@chromium.org> Commit-Queue: Kai Ninomiya <kainino@chromium.org> Cr-Commit-Position: refs/heads/master@{#590088} [modify] https://crrev.com/f88d78359d5db7a603bda7bda4fe17e9d564585f/mojo/public/cpp/bindings/lib/connector.cc [modify] https://crrev.com/f88d78359d5db7a603bda7bda4fe17e9d564585f/mojo/public/cpp/bindings/lib/interface_ptr_state.cc [modify] https://crrev.com/f88d78359d5db7a603bda7bda4fe17e9d564585f/third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy.cc [modify] https://crrev.com/f88d78359d5db7a603bda7bda4fe17e9d564585f/third_party/blink/renderer/platform/scheduler/worker/worker_scheduler_proxy.h [modify] https://crrev.com/f88d78359d5db7a603bda7bda4fe17e9d564585f/third_party/blink/renderer/platform/scheduler/worker/worker_thread_scheduler.cc [modify] https://crrev.com/f88d78359d5db7a603bda7bda4fe17e9d564585f/third_party/blink/renderer/platform/scheduler/worker/worker_thread_scheduler.h
Comment 1 by kainino@chromium.org
, Sep 8