The oscillations are almost 100% guaranteed in the initial stages of a power supply design like this.

Ideally, the opamp has a 90 degree phase shift, you have a Darlington pass stage that often adds significant phase shift, R2 will add a little phase shift, R12/C7 adds a bit, and the 22uF on the output is adding significant phase shift. You can almost bet on getting 180 degrees total phase shift somewhere and ending up with an oscillator.

You are at the point you want to start to use LTSpice to look at loop gain/phase plots. There is a great tutorial here:

`https://www.youtube.com/watch?v=YYWlPFBebfc`

The two key concepts are (1) that by adding a voltage source set to 0V DC into the loop, you can use it to inject a signal for AC analysis, and by plotting the ratio of this injected AC to the output AC, you get the open loop response. Concept (2) is that you can use the STEP option to run the curve with multiple component values or multiple loads together, so you can easily see the effect of any changes.

Make sure you try different loads - particularly capacitive with different ESRs. Don't get too worried about some instability with a 10,000uf capacitor with no ESR - most supplies are not fully stable for every load, and instability with a huge capacitance is not too serious as the big capacitance is flattening the voltage anyway. In fact, I would add an extra resistor to simulate the ESR of the 22uF capacitor as it does affect the phase margin with low loads and resistive loads.

Pay particular attention at the phase shift at the 0dB loop gain point with the different loads.

Once you get the hang of analysing loop gain, you will find you can analyse the gain and phase shifts of individual sections - like the Darlington stage. Adding a resistor from the emitter of Q4 to the junction point of all the 1 ohm emitter resistors will make the current in Q2/Q4 more constant over the different loads and may make their behaviour more predictable as far as AC analysis goes.

Once you get the voltage loop right, you have to do it again for the current limit loop.