An unrelated change and a new test (see
HPCC-17179), exposed some issues with chained activity stop() calls.
Some activities were not calling the input stop() methods if they had never been started. Various things depend on stop()'s being chained, for example slpitters rely on knowing when all their connected outputs are no longer being read, so that they can in turn stop it's input.
As a consequence of these bugs, some activities might never be stopped cleanly and when reused in a LOOP hit problems, e.g. hitting assert : assert(!hasStarted() || hasStopped()).
There was also an issue serializing iniitialization information to a loop query with conditionals. The master traversed only the initial conditional state and sent init info. for only those initial active activities.