Parece que los ciclos son el problema.
Los ciclos se detectan mirando las columnas con el operador PRIOR en la cláusula CONNECT BY.
Para romper tales ciclos, debe agregar condiciones que sean trivialmente verdaderas pero use el operador PRIOR en columnas adicionales.
Por ejemplo:a su cláusula CONNECT BY, agregue
and prior emp_id is not null
(asumiendo que emp_id nunca puede ser nulo).