The mesh imported from Gmsh into FreeFem++

“Why is it that the mesh I imported from Gmsh only manages to draw two surfaces, and when I use petsc for parallel processing, I get an error on line 106 with mpirank 0 / 2: Assertion fail: (ie == nbe) in file msh3.cpp?”
test17.edp (1.5 KB)
// Gmsh project created on Thu Sep 26 15:05:01 2024
SetFactory(“OpenCASCADE”);
//+
Point(1) = {0, 0, 0, 1.0};
//+
Point(2) = {0, 0, 3.85, 1.0};
//+
Point(3) = {0, 0.8, 0, 1.0};
//+
Point(4) = {0, 0.8, 0.15, 1.0};
//+
Point(5) = {0, 0.8, 2.85, 1.0};
//+
Point(6) = {0, 0.8, 3.85, 1.0};
//+
Point(7) = {0, 4.1, 0, 1.0};
//+
Point(8) = {0, 4.1, 0.15, 1.0};
//+
Point(9) = {0, 4.1, 2.85, 1.0};
//+
Point(10) = {0, 4.1, 3.85, 1.0};
//+
Point(11) = {0, 4.9, 0, 1.0};
//+
Point(12) = {0, 4.9, 3.85, 1.0};

//+
Line(1) = {3, 1};
//+
Line(2) = {1, 2};
//+
Line(3) = {2, 6};
//+
Line(4) = {6, 5};
//+
Line(5) = {5, 4};
//+
Line(6) = {4, 3};
//+
Line(7) = {6, 10};
//+
Line(8) = {10, 9};
//+
Line(9) = {9, 5};
//+
Line(10) = {9, 8};
//+
Line(11) = {8, 4};
//+
Line(12) = {8, 7};
//+
Line(13) = {7, 3};
//+
Line(14) = {10, 12};
//+
Line(15) = {12, 11};
//+
Line(16) = {11, 7};
//+
Curve Loop(1) = {7, 8, 9, -4};
//+
Plane Surface(1) = {1};
//+
Curve Loop(2) = {3, 4, 5, 6, 1, 2};
//+
Plane Surface(2) = {2};
//+
Curve Loop(3) = {10, 11, -5, -9};
//+
Plane Surface(3) = {3};
//+
Curve Loop(4) = {13, -6, -11, 12};
//+
Plane Surface(4) = {4};
//+
Curve Loop(5) = {16, -12, -10, -8, 14, 15};
//+
Plane Surface(5) = {5};
//+
Extrude {32, 0, 0} {
Surface{3}; Surface{1}; Surface{5}; Surface{2}; Surface{4};
}
//+
Physical Surface(“loghead”) = {10};
//+
Physical Surface(“logtail”) = {3};
//+
Physical Volume(“reghres”) = {3, 2, 4, 5};
//+
Transfinite Curve {10, 9, 5, 11, 19, 21, 23, 24} = 10 Using Progression 1;
//+
Physical Volume(“regcore”) = {1};