archives

« Bugzilla Issues Index

#2999 — Dependency execution order is not deterministic


When a module is executed, its dependencies are executed in the order they appear in [[Module]].[[Dependencies]].

This order matches the same order as [[Load]].[[Dependencies]], which is populated in 15.2.4.6.1 AddDependencyLoad (4).

The AddDependencyLoad function is asynchronously run for dependencies as they normalize through ProcessLoadDependencies, so they can call back in any order.

As a result, execution order is non-deterministic.

I'm not sure whether this is a bug or not, but a deterministic execution could be a nice thing.

The fix is to alter 15.2.4.6.1 AddDependencyLoad step 4 to have an index argument sent into it, and insert the item into the given index of parentLoad.[[Dependencies]].


fixed in rev28 editor's draft


fixed in rev28