Rotate() having issues that rotateLocal() doesn't

I have a super simple script that slowly rotates an object. It’s this single line of code in update():
this.entity.rotate(dt * 5, dt * 6, dt * 7);

The rotation “jitters” occasionally, every 20s or so. But if I change rotate() to rotateLocal() the problem goes away, even if the object doesn’t have a parent. The issue appears at the same rotation every time so it’s obviously tied to a certain combination of angles.

playcanvas.com/editor/scene/1258505
Here’s my test project, it’s completely empty except for two rotating cubes. Hit play and wait a few seconds. What’s going on?

Reposted

https://forum.playcanvas.com/t/rotate-having-issues-that-rotatelocal-does-not/