Potential crash with Flying Edges
There appears to be an issue with the Flying Edges algorithm that can cause a crash on some platforms and some odd results in others. To replicate, load in this data:
Then, run the vtkm::filter::contour::Contour
filter with an isovalue of 300
. (Actually, lots of middle range isovalues cause the issue.) On some builds, you will get an assertion failed in the MapPointField
worklet (in vtkm/filter/contour/worklet/contour/FieldPropagation.h
). In others, you will get a bizarre corner go way out of the space.
I think the problem in both cases is that the interpolated edge ids that are supposed to be computed in flying edges pass 4 are not being written in some condition, and some uninitialized garbage portion of that array is later used when mapping fields.