Not really any answers here, just a bit more info:
I'm running into the same error, and I noticed it only happens when i have merge=false (or defaulted to false) AND when I have an linear_extrude'd 2D shape (like text). (I'm on xubuntu 18.04, OpenSCAD 2015.03-2, GCAL 4.11)
it seems the polyhedrons we're creating are incompatible (why?) with other objects.
I also found this forum, which may be related? http://forum.openscad.org/F5-works-but-F6-gives-ERROR-CGAL-error-in-CGAL-Nef-polyhedron3-td22982.html
I tried the "hull" workaround they suggested but that shortcuts concave surfaces of the polyhedron. (a U macaroni shape becomes half a cheese wheel). However it all seems to work with the nightly openscad (2019.01.23, GCAL 4.7).
I still can't tell if this is some issue with how the polygon is constructed (and different versions of openscad/GCAL are more robust than others, although it looks fine to me) or "bugs" with different versions.
(That all said, while looking into this I also "noticed" that the way this code works (take your profile as a series of points, construct these into a polyhedron constructed of sets of points/surfaces) is incompatible (I think?) with using 2D shapes (can't path_extrude text, need to use points=[for....] instead of circle(r=...), etc) as your profile input. as a "nice to have", i wonder if we could instead create a union of a series of linear_extrudes between each point in our path? a profile from points could still be passed through polygon(), so you could use either)