On vendredi 19 janvier 2018 13:24:24 CET Paolo Cavallini wrote: > Il 19/01/2018 11:54, Sebastiaan Couwenberg ha scritto: > > I cannot reproduce this on Debian unstable with qgis 2.14.21 (from > > Debian unstable as well). > > Here the result from gdb. Thanks Bas for helping. > > (gdb) bt full > #0 __strncasecmp_l_avx () at ../sysdeps/x86_64/multiarch/strcmp-sse42.S:198 > No locals. > #1 0x00007ffff3692c7e in CSLFetchNameValue () from /usr/lib/libgdal.so.20 > No symbol table info available. > #2 0x00007ffff2e09461 in GDALPolygonize () from /usr/lib/libgdal.so.20 > No symbol table info available. > #3 0x00007fffda66131b in > otb::LabelImageToOGRDataSourceFilter<otb::Image<unsigned int, 2u> > > >::GenerateData() () from /usr/lib/otb/applications/otbapp_Segmentation.so
ok, this crashes within GDAL, but looking at OTB source in https://github.com/orfeotoolbox/OTB/blob/5aab26e2af4bc8c8bf2c9f080a90e4db044771a8/Modules/Segmentation/Conversion/include/otbLabelImageToOGRDataSourceFilter.txx#L215 I can see this is a mis-use of the GDAL API
The char * option[1]; variable should always have the last item of the array to be a NULL pointer. Which is not the case currently. Depending on optimization options, memory layout, etc, 0 bytes might be found sometimes which may make the problem to appear randomly Another issue is that in the (m_Use8Connected == false) case the options pointer passed to GDALPolygonize() is not initialized at all...
Anyway this is an upstream OTB issue. They should make sure that the options array passed to GDALPolygonize() is either NULL or an array whose last item is NULL.
Even
-- Spatialys - Geospatial professional services http://www.spatialys.com |