This shows up as occasional crashes in print settings when we trigger race conditions. CupsPrintersManager needs to be made concurrent-safe through some combination of sequence guarantees and locking.
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/4e6b090f70e2f97e05dd436b2e45fd24f2cd97d2 commit 4e6b090f70e2f97e05dd436b2e45fd24f2cd97d2 Author: Justin Carlson <justincarlson@chromium.org> Date: Wed Aug 23 21:34:01 2017 Make PrinterEventTracker thread-safe. Bug: 758248 Change-Id: I4642850b7c9752f9fdfe5389ecc4aa23fff0d44e Reviewed-on: https://chromium-review.googlesource.com/629236 Reviewed-by: Sean Kau <skau@chromium.org> Commit-Queue: Justin Carlson <justincarlson@chromium.org> Cr-Commit-Position: refs/heads/master@{#496810} [modify] https://crrev.com/4e6b090f70e2f97e05dd436b2e45fd24f2cd97d2/chrome/browser/chromeos/printing/printer_event_tracker.cc [modify] https://crrev.com/4e6b090f70e2f97e05dd436b2e45fd24f2cd97d2/chrome/browser/chromeos/printing/printer_event_tracker.h
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/de81f51767c7e2b03ab91933045833969de8c5d9 commit de81f51767c7e2b03ab91933045833969de8c5d9 Author: Sean Kau <skau@chromium.org> Date: Thu Aug 24 21:42:31 2017 Make PrintersSyncBridge thread-safe. We can't guarantee access to PrintersSyncBridge is sequenced. So, it's thread-safe instead. Critical sections are reasonably small. Bug: 758248 Change-Id: Ib5f069287b1a83f9118d8d170ba988019656accf Reviewed-on: https://chromium-review.googlesource.com/629419 Commit-Queue: Sean Kau <skau@chromium.org> Reviewed-by: Xiaoqian Dai <xdai@chromium.org> Cr-Commit-Position: refs/heads/master@{#497197} [modify] https://crrev.com/de81f51767c7e2b03ab91933045833969de8c5d9/chrome/browser/chromeos/BUILD.gn [modify] https://crrev.com/de81f51767c7e2b03ab91933045833969de8c5d9/chrome/browser/chromeos/printing/printers_sync_bridge.cc [modify] https://crrev.com/de81f51767c7e2b03ab91933045833969de8c5d9/chrome/browser/chromeos/printing/printers_sync_bridge.h [add] https://crrev.com/de81f51767c7e2b03ab91933045833969de8c5d9/chrome/browser/chromeos/printing/printers_sync_bridge_unittest.cc [modify] https://crrev.com/de81f51767c7e2b03ab91933045833969de8c5d9/chrome/browser/chromeos/printing/synced_printers_manager.cc
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/05079b508be5374a41292e4ca6fce027124af5fd commit 05079b508be5374a41292e4ca6fce027124af5fd Author: Justin Carlson <justincarlson@chromium.org> Date: Fri Aug 25 20:00:07 2017 Make SyncedPrintersManager thread-safe. Bug: 758248 Change-Id: I4862e2601269099337e3a11a1cb9ce017cb871de Reviewed-on: https://chromium-review.googlesource.com/628860 Commit-Queue: Justin Carlson <justincarlson@chromium.org> Reviewed-by: Sean Kau <skau@chromium.org> Cr-Commit-Position: refs/heads/master@{#497509} [modify] https://crrev.com/05079b508be5374a41292e4ca6fce027124af5fd/chrome/browser/chromeos/printing/synced_printers_manager.cc [modify] https://crrev.com/05079b508be5374a41292e4ca6fce027124af5fd/chrome/browser/chromeos/printing/synced_printers_manager.h [modify] https://crrev.com/05079b508be5374a41292e4ca6fce027124af5fd/chrome/browser/chromeos/printing/synced_printers_manager_unittest.cc
Comment 1 by bugdroid1@chromium.org
, Aug 23 2017