[gdal-dev] Crash on cancel overviews creation

Javier Jimenez Shaw j1 at jimenezshaw.com
Thu Aug 26 09:45:09 PDT 2021


Hi

Some times (unfortunately it is not reproducible every time) we got a crash
when we cancel the overview generation.
I tried to reproduce it in my Ubuntu 20.04, but couldn't. My colleagues are
able to reproduce some times on Mac and Windows.

In C++, with GDAL 3.3.1, calling BuildOverviews("AVERAGE", ...) to produce
embedded overview and calling the cancel callback, it crashes on
overviews.cpp:

~PointerHolder() { CPLFree(ptr); }. (line 3929)
The reason of the crash is : Thread 34: EXC_BAD_ACCESS (code=1,
address=0x1d)
Yes, the debugger says the value of "ptr" is 0x1d... that does not make so
much sense.

the debugger shows this steps on the back trace:
poJob->oDstBufferHolder.reset(new PointerHolder(poJob->pDstBuffer));  (line
4930)
GDALRegenerateOverviewsMultiBand (line 4638)


Before calling to BuildOverviews I am calling
CPLSetConfigOption("GDAL_NUM_THREADS", "ALL_CPUS");
to make it multithreaded.

The image is an RGBA 8bit with JPEG compression.

Is anything wrong there?

Thanks.
.___ ._ ..._ .. . ._.  .___ .. __ . _. . __..  ... .... ._ .__
Entre dos pensamientos racionales
hay infinitos pensamientos irracionales.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osgeo.org/pipermail/gdal-dev/attachments/20210826/cd00b7cc/attachment.html>


More information about the gdal-dev mailing list