Ao's reply says it all.

Your data is causing a loop. Say we have an employee table with a manager_id that points back to the employee table. Say we try to make a tree query showing who manages who starting with the president. If Bob is the president and Tom works for Bob, we are fine so far, but then if Bob is listed as working for Tom, we have a loop that we cannot get out of. Oracle recognizes this fact and throws an error. Look again at Ao's examples of data that causes a loop. Your data has a loop. Find it and fix it.

- Chris