Tranfinite gmsh mesh and read_meshtags lead to unexpected crash

You should send in facets tags directly as it is a meshtags object. You should send in the set of indices in the meshtags object (facet_tags.indices).

Again, you have not provided a reproducible example, so this requires extra effort from my end to decipher your code. I will not provide further assistant if you do not do your best to make the problem you are experiencing reproducible.

These are not classes in dolfin, so i can only assume from context that you mean MeshFunction objects for cells and facets. And yes, to some extent they are equivalent. See: Transition from MeshFunction in Fenicsx - #2 by dokken for more context.

If you write the mesh to xdmf with meshio or similar, the reading in of the mesh will be more efficient, as one can use the fact that xdmf/h5 is a binary format, and read in the data in a partitioned fashion. It would also avoid recreating the mesh every time.