Il semble que les cycles soient le problème.
Les cycles sont détectés en regardant les colonnes avec l'opérateur PRIOR dans la clause CONNECT BY.
Pour rompre de tels cycles, vous devez ajouter des conditions trivialement vraies, mais utiliser l'opérateur PRIOR sur des colonnes supplémentaires.
Par exemple :à votre clause CONNECT BY, ajoutez
and prior emp_id is not null
(en supposant que emp_id ne peut jamais être nul).