Open stvno opened 5 years ago
Okay the crash seems to be happening in the runtime allocator when trying to make allocate enough memory for the new ring here:
https://github.com/go-spatial/tegola/blob/master/maths/makevalid/plyg/builder.go#L38
ring.Points = make([]maths.Pt, 0, len(b.parts[0])+len(b.parts[1]))
I'm not sure what we can do about this, not even sure if we can catch this type of panic. It's getting thrown here: https://github.com/golang/go/blob/master/src/runtime/malloc.go#L784
I'm looking to see if there are any google entries on it. I could force a GC run right before it?
Just relevent information for this:
Go version used to compile: 1.11.2 Travis build link: https://travis-ci.org/go-spatial/tegola/jobs/453088789
@gdey yeah this is the same issue we researched before. Catching out of memory errors is not currently possible. I don't know if forcing a GC run is right either (though we're doing that in the seeding code). I think as we have more time to optimize the memory usage of the processing algo this should naturally be addressed.
While running the official tegola docker 0.8.1 with the data in postgis and an S3 cache (digital oceans spaces) I get seemingly random fatal failures when seeding my cache. I'm using a tilelist to seed about 400k tiles and this is the second time Tegola crashed with an [IO wait] message. This time I did get the entire stacktace, see below. If I rerun the seed it wil continue beyond the last tile before the crash, as such I do not think it is a data issue