jbroman@ tracked the component test failures in https://codereview.chromium.org/2345423002/ down to multiple WaitSetDispatchers being instantiated in components builds.
After looking at the stack traces for where it's constructed, we realized this is coming from SyncHandleRegistry::current(), which grabs a pointer out of a global LazyInstance.
Unfortunate, this global lives in a static_library() that ends up linked into a bunch of different components. So depending on which component the code lives in, you might end up using different SyncHandleRegistry objects.
Comment 1 by dcheng@chromium.org
, Sep 21 2016