Precision and mass matrix zeros

My sampling is failing with a “Mass matrix contains zeros on the diagonal” error. I believe it must have something seems to have something to do with precision. (Note: I am sampling on the CPU.). I’ve made a hacky workaround, but I am really surprised that it makes any difference.

#--- THIS DOES NOT WORK:
dvxdx = pm.Normal('dvxdx', priordvxdx, sd=1.0e-6, shape=N)
axflow = dvxdx*vx
# - BUT THIS WORKS:
dvxdx = pm.Normal('dvxdx', priordvxdx*1e6, sd=1.0, shape=N)
axflow = dvxdx*vx/1e6

The values of priordvdx are around 1e-5, and vx has values like 30.0. So I am really surprised that it cannot handle an sd of 1e-6.