It works for me too. See https://autode.sk/3TSGkgD
Here are some tricks.
1) the best results and the most reliable way is to create an outer boundary of the closed polyline, then hatch this object. To be able to do that, you need to clear your boundary objects from overlaps. There is one place where you have 3 lines overlapping, that's an issue that needs to be fixed. You can use OVERKILL to help this out.
This method is reliable but could be time-consuming.
2) Hatch by picking an internal point. Better set some gap tolerance,
When hatching, make sure that you can see the entire boundary on your screen. This is essential. I know, that then you might get into trouble to hit the gap but that's the way it is. If this does not help, just draw a line or two to shrink the hatched area... and harch that separately. Even that are some cases that are impossible to hatch by picking an internal point (mostly arc-to-arc intersections)... in these cases, you will need to draw the outer boundary manually using a closed polyline and hatch this object.
HTH