Fix targets being made out-of-order
dominicm00 opened this issue · comments
Targets are not always made in the same order they are added to the SequentialSet
in _CollectMakeableTargets
, breaking dependency resolution.
Looks like something is going wrong with dependency counts. They are going negative and overflowing, meaning there's a mismatch between counted dependencies and targets that see themselves as a dependency.
Is this in legacy only or v2 also?
@SamuraiCrow Well, V2 is not functional right now. Unfortunately no version of Ham is currently ready for production-level use 😞.
As far as I am aware though, this is the only major blocking bug left in V1.
Ok. I won't mix v2 discussion with v1 then.
My first suspicion in multithreaded code in C++ is usually race conditions.