<div dir="ltr">I'm really not sure.<div><br></div><div>You can certainly try removing that C++11 mutex.  It was added based on the comment at that point in the code.  We'll just have to keep an eye out for possible occasional flakes.  If that's the case, we'll need to carefully work through the logic and try to figure out a solution that works for everything.</div><div><br></div><div>+1 for getting the driver into the tree.  It will be easier to make additional changes to either it or GDAL with it in the same tree.</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Nov 19, 2016 at 8:49 AM, Even Rouault <span dir="ltr"><<a href="mailto:even.rouault@spatialys.com" target="_blank">even.rouault@spatialys.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On samedi 19 novembre 2016 19:34:02 CET Dmitry Baryshnikov wrote:<br>
> Hi Even,<br>
><br>
> The big_endian test now is ok. But osx crash at the exiting of python<br>
> after all test finished successfully.<br>
><br>
> This is error message:<br>
><br>
> libc++abi.dylib: terminating with uncaught exception of type<br>
> std::__1::system_error: mutex lock failed: Invalid argument<br>
> ./gdal/ci/travis/osx/script.<wbr>sh: line 13: 56363 Abort trap: 6<br>
> python run_all.py<br>
><br>
> I find out that this may be the result of resources free order:<br>
> <a href="https://github.com/dmlc/mxnet/issues/309" rel="noreferrer" target="_blank">https://github.com/dmlc/mxnet/<wbr>issues/309</a><br>
> <a href="https://github.com/google/benchmark/issues/52" rel="noreferrer" target="_blank">https://github.com/google/<wbr>benchmark/issues/52</a><br>
><br>
> No idea why this occurred then C++11 used. I'll try to use osx CI test<br>
> disabling the CAD driver to exclude this possible issue.<br>
><br>
<br>
</span>Hum, I think this might be indeed an issue with resource free order between<br>
the GDALDestroy() destructor function (in gcore/gdaldllmain.cpp) and the<br>
static C++11 mutex Kurt introduced in<br>
<a href="https://github.com/OSGeo/gdal/commit/a9b947d6850d496f09e668f4cd148826d45d9fa9" rel="noreferrer" target="_blank">https://github.com/OSGeo/gdal/<wbr>commit/<wbr>a9b947d6850d496f09e668f4cd1488<wbr>26d45d9fa9</a><br>
<br>
If this mutex gets destroyed before GDALDestroy() is called, then things might<br>
indeed crash.<br>
<br>
I think we should remove this static C++11 mutex. Kurt ?<br>
<br>
(Another option would be to remove the library destructor function. I've the<br>
feeling they cause more harm than good.)<br>
<div class="HOEnZb"><div class="h5"><br>
--<br>
Spatialys - Geospatial professional services<br>
<a href="http://www.spatialys.com" rel="noreferrer" target="_blank">http://www.spatialys.com</a><br>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature">--<div><a href="http://schwehr.org" target="_blank">http://schwehr.org</a></div></div>
</div>