This is because of a bug, or bugs in my driver code, so feel free to say
"not interested", but if you think my experience could help others ...
I have written a driver (actually two) which supports read but not write
of overviews via GetOverviewCount() and GetOverview(int) (but not
HasArbitraryOverviews()). I believe I have failed to distinguish between
overview rasterbands and the full-scale bands.
As a result of this, I can get into a position where GetOverviewCount and
GetOverview are called on an overview band. When I try to run
gdal_translate to shrink one of my images and convert to (say) tiff,
my return values from these routines ended up with RasterIO and IRasterIO
calling each other until the stack runs out of memory - the gdb stack
strace shows me nearly 30000 functions deep.
When I first looked at this some weeks ago I thought that I saw
a mutex or similar being optimized out by clang++, but I am not sure.
Is anyone interested in a (partial?) stacktrace or other debugging
to track down and stop RasterIO and IRasterIO from calling each other to
death ?
Thanks,
--
Andrew C. Aitchison Kendal, UK
[email protected]
_______________________________________________
gdal-dev mailing list
[email protected]
https://lists.osgeo.org/mailman/listinfo/gdal-dev