Skip to Content.
Sympa Menu

cgal-discuss - [cgal-discuss] Heap corruption when constructing AABB tree with OPENMP

Subject: CGAL users discussion list

List archive

[cgal-discuss] Heap corruption when constructing AABB tree with OPENMP


Chronological Thread 
  • From: Yifang Zhao <>
  • To: "" <>
  • Subject: [cgal-discuss] Heap corruption when constructing AABB tree with OPENMP
  • Date: Sat, 22 Feb 2020 20:51:27 +0000
  • Accept-language: zh-CN, nl-NL, en-US
  • Authentication-results: mail3-smtp-sop.national.inria.fr; spf=None ; spf=Pass ; spf=None
  • Ironport-phdr: 9a23:keFt/xX32OZ/G6b7/ZA7HLJ3YNfV8LGtZVwlr6E/grcLSJyIuqrYbByGt8tkgFKBZ4jH8fUM07OQ7/m8Hzxeqs/d6TgrS99laVwssY0uhQsuAcqIWwXQDcXBSGgEJvlET0Jv5HqhMEJYS47UblzWpWCuv3ZJQk2sfQV6Kf7oFYHMks+5y/69+4HJYwVPmTGxfa5+IA+5oAnMucQam4hvJ6c+xhfUrXZEZvldyH91K16Ugxvz6cC88YJ5/S9Nofwh7clAUav7f6Q8U7NVCSktPn426sP2qxTNVBOD6XQAXGoYlBpIGBXF4wrhXpjtqCv6t/Fy1zecMMbrUL07QzWi76NsSB/1lCcKMiMy/W/LhsBsiq9QvRSsrAF9zYHJeoGYLPpwcL3Ac9MGS2RPXdpeWCNaD4ymc4cPDfAMMfpEo4XjoVYFsBuwBROrBOPq0jJHhH723aMg3OQnHgHNwQ8vH9IUv3TTsd74M6UdXfq2w6nI1zrDaOpa1Sr+5YXTaRAhveyMUq9ufsrX1UkjDR/FjkiNpoP7OzOV2PgNv3Kd7+pkTO+ijXMspQ92ojiq3Mgsi4/Ji5oQylDF6Sp52oE1Jca/SE51fd6oCodftyafN4ZwX8gsQHlotT4nxrAIpZK3ZjUGxZU6yxLFdvCKfZWE7gjjWeqJLzd3mnFodK66ihu38kWs1+LxWtex3VtKsyVIkcTDu3UO2hPN9MSKS/5w8Vq81jmSyg/e7PxPL1oumqrBMZEhx6Y9lpoNvkTHGS/7gED2g7WXdkUg4ein9f7nYqvnppCAKYB4kB3+MrkzlcOhBeQ4PBQOU3Kd+eS4zLHj/Ev5T6tWjvAuj6XUvozWKd4GqqO4HgNZyJsv5hiiAzu80NkUhXwHI0hEeBKDgYjpIVbOIPXgAPi9mVijkzdryOrBPrH4H5nALWPOkKz9fbZg9kFT1gwzzcxF65JIF7EOPez8Wkv/tNzEFBM5NQi0z/79CNphzoMeRX6PAqiBPazOvl+H/OYvL/CRa48UozbyN+Ul5+X1jXIigl8cfayp3YMNZ3yiH/RmJV+ZYXv2jdsbH2cKpFl2cOu/wlaNWDoWa3epVL8n/Rk6DpinBMHNXMrl1LeO1SP+EpxNbX1dEXiNF23pfsOKQaFfRjiVJ5pQkzINU7fpeY8o0ln6hUnIy7Nga7OE0jYEqJ7u0sQz+/DfmBU86XpyC5LOgCm2U2hokzZQFHcN16dlrBklkwbR4e1Dm/VdUOdrybZMWwY+O4TbyrYiWcvuRw7MeMvPVEuqT9GoHXc3SoBomoJcUwNGA9ynyyv78W+qDrsSzeDZAZU19rnRxWbwLMs712vK2a0vkx8gRpkXbDH0tutE7wHWQrXxvQCBja/wLfYHwDPB+WGfi3aTsExcXhI2V6GXBX0=

I have a for loop containing approximately 1,000,000 iterations of calling AABBTree.all_intersections() method. Thus, I use #pragma omp parallel for to speed up the program. However, I got an error as "A heap has been corrupted". The cpp file is roughly like the following:

Polyhedron polyhedron;
Facet_tree m_facet_tree(faces(m_polyhedron).first, faces(m_polyhedron).second, m_polyhedon);
 
#pragma omp parallel for
for (int i = 0; i<100; ++i){
    Plane plane = Plane(1, 0, 0, 0);
 
    // Compute intersections
    typedef std::vector<Facet_tree::Object_and_primitive_id> Intersections;
    Intersections intersections;
    m_facet_tree.all_intersections(plane, std::back_inserter(intersections));
}

Finally, The program will break here:

    ~Handle()
    {
    if ( PTR && (--PTR->count == 0))
        delete PTR;
    }

What are the possible reasons that cause this problem? Thanks a lot!

Kind Regards,

Yifang Zhao.

 

Sent from Mail for Windows 10

 




Archive powered by MHonArc 2.6.18.

Top of Page