Could be a “feature” of the DoF ordering when generating the mesh. DOLFIN’s mesh generators run on a single process then distribute to all processes. This is inconsistent with HDF5 file reads/writes which are parallel.
Generate your mesh and save it to file first (via xdmf/HDF5) in a step before “Problem code”. Then read that mesh in instead of generating it in your “Problem code”. Then continue as normal. This should ensure the ordering of the DoFs are consistent in parallel read_checkpoint
.