The correct option is B b
The option that has an error, is the correct option.
Option B: The error lies in part (b).
The action is a continuous one, as indicated by the time period '3 years'.
When an action began at some point in the past (3 years ago) and is still continuing, the sentence is in the present perfect continuous tense. The form of the verb is: has/have been + present participle.
As the given sentence also describes such an action, the verb form here 'is going on' (present continuous) is the error.
(The correct form is: has been going on).
Hence, option B is the correct option with the error.
The other parts (a) and (c) do not have any error in them. They are grammatically correct and are complete in meaning.
Hence options A and C are not the right answers.
Option D is incorrect because the sentence has an error (b).