When you want to create feedback, you need to use either a [s~ ]/[r~ ] or [throw~]/[catch~] pair, or write to a table with [tabsend~] and read with [tabreceive~]. Didn't check your patches, but DSP loops are detected when a signal chain returns to a previous point.
Think of it like this, in the following ASCII patch:
[osc~]
|
[*~ ]
[osc~] needs to make its computations before it sends its output to [*~ ]. If [*~ ] was to send its output back to [osc~]'s inlet, the latter would not be able to compute this signal, as it will be generated after [osc~]'s own output has been computed. Using a [s~ ]/[r~ ] pair, you can be sure that [*~ ] will send its output to [s~ ], which in turn will transfer it to [r~ ], without disturbing the signal chain order