Here the problem wasn’t actually a looping chain of synonyms, but the fact that the synonym was pointing to a view that did not exist.
Oracle apparently errors out as a looping chain in this condition
i.e. If you have created synonym for a table which is not exist then it throws this error.