Actually, a closer look at the handles left open gives more info:
Each map produced leaves:
One handle per "coor" file of the vector
One handle per "hist" file of the vector
Two handles to "/usr/lib/grass/etc/ellipse.table" per each layer in the
GRASS vector - not per layer as defined in the mapfile, but per layer as
present in the GRASS vector map, so using one layer of a 20 layer file
leaves 40 handles open.
Bug is present also in php5-mapscript 4.10 - gdal 1.3.2-4 -combination.
Pkg-grass-devel mailing list