Sembra che i cicli siano il problema.
I cicli vengono rilevati osservando le colonne con l'operatore PRIOR nella clausola CONNECT BY.
Per interrompere tali cicli, è necessario aggiungere condizioni banalmente vere ma utilizzare l'operatore PRIOR su colonne aggiuntive.
Ad esempio:alla tua clausola CONNECT BY, aggiungi
and prior emp_id is not null
(supponendo che emp_id non possa mai essere nullo).