Operating system: Windows-10-10.0.19041-SP0 64 Bits
Graphics card: GeForce GTX 1660 Ti/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 457.63
Broken: version: 2.93.0 Beta, branch: master, commit date: 2021-04-16 16:41, hash: rBb2a0f6927508
Short description of error
When passing in a (0, 0, 0) vector as the rotation axis of a Vector Rotate node in Axis Angle mode, the return vector is different in Cycles and Eevee. In Eevee, the original vector is returned with no rotation applied. In Cycles, an empty vector of (0, 0, 0) is returned.
I was attempting to create a shader involving rotation of a coordinate on an axis based on the z component of a face's normal. In Eevee, everything worked fine, but in Cycles, the parts of my meshed that were vertical (zero z component of normal) broke. After some testing I discovered the inconsistency I pointed out above.
Either of these behaviors would be valid if it was consistent, but the inconsistency caused me a great deal of confusion. I would prefer for the Eevee behavior to present for both, as I find it to be more useful.
Exact steps for others to reproduce the error
From the default startup file, apply a material to the cube.
Go into the shader editor for that material.
plug a vector rotate node into the material output.
set the vector rotate's axis to (0, 0, 0).
plug object coordinates into the vector input of the rotate node. (this is not directly related to the bug, it just makes it much easier to see what's going on)
Switch between Cycles and Eevee render engines to observe the changes.