Bug 1543817: Don't finalize any action twice r=mythmon
authorEthan Glasser-Camp <ethan@betacantrips.com>
Mon, 15 Apr 2019 21:35:28 +0000
changeset 469590 2f68e9e0c239
parent 469589 3c62bdc7e166
child 469591 be3f40425b52
push id35874
push userccoroiu@mozilla.com
push dateTue, 16 Apr 2019 04:04:58 +0000
treeherdermozilla-central@be3f40425b52 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersmythmon
bugs1543817
milestone68.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug 1543817: Don't finalize any action twice r=mythmon Depends on D27362 Differential Revision: https://phabricator.services.mozilla.com/D27363
toolkit/components/normandy/lib/ActionsManager.jsm
--- a/toolkit/components/normandy/lib/ActionsManager.jsm
+++ b/toolkit/components/normandy/lib/ActionsManager.jsm
@@ -129,17 +129,17 @@ class ActionsManager {
 
   async finalize() {
     if (this.finalized) {
       throw new Error("ActionsManager has already been finalized");
     }
     this.finalized = true;
 
     // Finalize local actions
-    for (const action of Object.values(this.localActions)) {
+    for (const action of new Set(Object.values(this.localActions))) {
       action.finalize();
     }
 
     // Run post-execution hooks for remote actions
     for (const [actionName, manager] of Object.entries(this.remoteActionSandboxes)) {
       // Skip if pre-execution failed.
       if (manager.disabled) {
         log.info(`Skipping post-execution hook for ${actionName} due to earlier failure.`);