Hi,

 

we have seen an access violation deep inside boost geometry. We are still working on a simple reproduction, which may take while. In the meantime, maybe you have some idea what went wrong, or some suggestion how to avoid this situation?

 

Here is where it happened:

 

template<typename Turns, typename Operations>

inline void update_discarded(Turns& turn_points, Operations& operations)

{

    // Vice-versa, set discarded to true for discarded operations;

    // AND set discarded points to true

    for (typename boost::range_iterator<Operations>::type it = boost::begin(operations);

         it != boost::end(operations);

         ++it)

    {

        if (turn_points[it->index].discarded) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<< access violation

        {

            it->discarded = true;

        }

        else if (it->discarded)

        {

            turn_points[it->index].discarded = true;

        }

    }

}

 

Please find the callstack attached.

 

Regards

   Volker

--
Volker Schöch | vschoech@think-cell.com
Senior Software Engineer


We are looking for C++ Developers: http://www.think-cell.com/career

think-cell Software GmbH http://www.think-cell.com
Chausseestr. 8/E phone / fax +49 30 666473-10 / -19
10115 Berlin, Germany US phone / fax +1 800 891 8091 / +1 212 504 3039
Amtsgericht Berlin-Charlottenburg, HRB 85229 | European Union VAT Id DE813474306
Directors: Dr. Markus Hannebauer, Dr. Arno Schödl