Zynq™︎ UltraScale+™︎ (Cortex-A53) deadlock


I'm running a single processor application on Cortex-A53 processor (The design based on Arm Zynq Ultrascale+ processor), and occasionally the processor ends up to a deadlock.

When connecting the JTAG, the running Cortex-A53 #0 target cannot be halted. Reading the registers while it is still running produce N/A for everything else, except for the PC. The PC is not random place, as it has been several times the same address, but not always. What I have noticed is 'DSB SY' command is always followed by the PC value. This is not very easy to reproduce, but with some software versions it happens more often than the others.

I'm after any ideas how this should be debugged as I cannot read anything from the running processor itself, but I can access the memory and peripherals via PSU/APU.