Operating system: GNU/Linux Manjaro, Kernel 5.9.16-1-MANJARO
Graphics card: NVIDIA Geforce GTX 1080
After running git bisect, I have concluded that
2b723abea02c868d94623f4dd9e9b6775cb3aaab introduces the bug.
Looks like ea17a92cd7040c0d63a4ed3a8a60cd8f0a3cb77e was the last good commit.
Short description of error
bpy.data.meshes.mesh_from_object() returns an empty mesh where previously it would return a mesh.
There is a workaround to the problem but it requires updating the depsgraph, and in some cases the depsgraph is not available.
This breaks my addon, ChainTools, which uses the function for many tasks.
Exact steps for others to reproduce the error
Open the attached .blend file and run the script. It creates a mesh from the selected object and tells us how many faces it has, then it does the workaround and tells us again.
In an object that hasn't been changed and doesn't have any modifiers, such as this one, the results should be the same, and the mesh it produces should be the same as the mesh we see in the viewport representing the curve object.
If it produces
there is no bug.
But instead, the result is
Before the workaround, the result was a mesh with no data. After the workaround, we have the correct mesh.
It bears mentioning that the workaround I include here is from my addon, and I might have written it because of the bug this other commit was trying to fix!