joint limit is not being force if the joint limit is close to 2pi?

I am using Preview 3.

I am trying to test the joint limit, I expect the robot to stop moving once the limit has been reached (to be enforced by physics), but it is not the case.

I only changed the target position, so it will draw a circle in the XY plane. (8.5 KB)

With default Franka URDF, it works fine, the base joint will be stuck once the limit has been reached.

However, if we change the joint limit of panda_joint1 to 2*pi as:

Then, the rotation ignores the joint limit and rotates unlimitedly.

If it is lower=“-6.2831” upper=“6.2831”, then, it will break after 2 rounds.

Originally, I was trying to use UR5, which has 2*pi as ranges, here I am just using Franka as an example.

Do you have a clue of why this is the case?
I also tried with to draw a circle in the XY plane, the joint limit seems not to work at all.

Thank you!