Subject: CGAL users discussion list
List archive
- From: Sebastien Tourneux <>
- To:
- Subject: [cgal-discuss] ARAP_parameterizer_3/Eigen crash when launched in parallel
- Date: Thu, 2 Dec 2021 15:57:04 +0100
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-data: A9a23:C7LMBKxTHLZADpy+YDd6t+eOxCrEfRIJ4+MujC/XYbTApG5x3jwCnDAeXG6AaP6CN2anfNFwPd7i8UoDsJfSnNFkOVdlrnsFo1Bi+ZOUX4zBRqvTF3rPdZObFBoPA/3z27AsFehsJpPnjkrrYueJQUVUj/nSH+OmULScYEideCc9IMsfoUI78wIGqtUw6TSJK1vlVeLa+6UzCnf9s9JHGj58B5a4lf9alK+aVAX0EbAJTasjUFf2zxH5BX+ETE27ByOQroJ8RoZWSwtfpYxV8F81/z91Yj+kuqj+N0gaG/jYIAbIgX1TM0SgqkIb/Wprj/x9badaMBYK49mKt4gZJNFlroC3VB0vM7DcsO4AXV9TFCQW0ahup+6dcCLl6qR/yGWdKSeynK8/ZK0sBqUT9e9zRG1P7vcFMysldQGGn+vwwbShS+AqiN5LESVBFJdH7ykmlSWAWK5gGYSZFv2MuMsDiW9229QRSMjfQt5AMW8zM1CZO0IfLj/7E7ogmaKtliC5eSBW7lmSoMIKD6Ho5FQZ+NDQ3BD9I7RmhPm5n3p0YkrY+iH8EkhcPsGRjzGC9xpAQ8encTzTAOov+H+Qr5aGQ2F/AkQZFRNQXly+yRV8olDrQMpRciT45QJ3xZXfNyWXoh3VVQC25nWDu3bwnvI4//ISsGmw90Yf3+pV6qXogNKMhBzKefLanQAX62I=
- Ironport-hdrordr: A9a23:PPHiCK0yp7qUrR1B7UZi6AqjBKUkLtp133Aq2lEZdPUCSKKlfqeV88jztCWE7Qr5N0tMpTntAsi9qBDnmaKdn7N6AV7KZmCP01dASrsSj7cKqAeQeBEWmNQ86U4ZSdkbNOHN
- Ironport-phdr: A9a23:cuNs2BYXfInIrtr+20ke6y7/LTEA0IqcDmcuAnoPtbtCf+yZ8oj4OwSHvLMx1gaPA9iQta0MotGVmpioYXYH75eFvSJKW713fDhBt/8rmRc9CtWOE0zxIa2iRSU7GMNfSA0tpCnjYgBaF8nkelLdvGC54yIMFRXjLwp1Ifn+FpLPg8it2O2+5YDfbx9JiTe9br9/LRe7phjNu8cLhodvNrw/wQbTrHtSfORWy2JoJVaNkBv5+8y94p1t/TlOtvw478JPXrn0cKo+TbxDETQpKHs169HxtRnCVgSA+H0RWXgLnxVSAgjF6Bb6Xortsib/q+Fw1jWWMdHwQLspXzmp8qVlRwLyiCofNzA37X/ZhM9+gq1Vrx2uuxNxzpXIYIyWLvdyYr/RcN0YSGdHQ81fVzZBAoS5b4YXEuQOI/1XoJPmp1sSrBuxGw+sD/7xxD9Pm3/2x6s63Po8EQDJwQctGMkOsGjTrNXoLqcSV/66zLTHzDjYdPxWxDn95JLUfRAmpPGBRLR9etfexkczDQ3KlEmQqZD7MDOP0OQAq3aX4vRjWO+vlWMppR19rzaty8osiYTHhp8Yxk7a+Sh53Is4JcG1RUxlbdOgEJVdqiGXOpZrT84mR2xlpCY0x7wAtJWmfyYK0IwqywDCZ/GJaYSE/xLuWPiLLTtlhH9pYq+zihKy/EWm1+byTNO70ExQoSpAitTMtm4C1xjU6sWfVPt9+16t2TOA1gzO8O1LOl00laTBJ5E9xb4wk4IfsUXFHiDohEX7lLGaelgq9+Sy9ujqYqvqqoWBO4J0kA3yL6Ajl8ynDeQ9KAcOXmyb+eqm1L3k+E30WK5KjuExkqnEqpDaI9oUprO2AgJOyYkj9hi/Ay2639QfmHkLNEhFdw6fj4j1J1HOJ+j1Auuwg1u2lDdn3u3JPrz6AprRM3jDi6zhcK1m609czQoz1cpQ64hVCrEHOvLzW1X+uMbWDh8jYESIxLPsB9x5k48fQmmSGbSxMaXIsFbO6Ph8DfOLYdoutTz0MOQk6vimsXgkg1kQYLnhiYALb22iGPl7M22TfHSqidAERzRZ9jEiRfDn3QXRGQVYYGy/CvpUDt4TAp+oS4zEQ9L06FRk9C2mENtdYWUUUjhk8F/2csCBS65KYj+cZMRml25cPYU=
Hello,
I use ARAP_parameterizer_3 to parametrize a model made of several disconnected parts. I want to parametrize independently each part. When each part is processed sequentially, everything is fine, but when processed in parallel, I got a free/malloc crash (see backtrace below) from an `Eigen::SparseLU::factorize` call from `ARAP_parameterizer_3::parameterize`. I use TBB to handle the parallelization.
I am not sure if it is an actual issue or if ARAP_parameterizer_3 (or Eigen factorize) is not supposed to be launched in parallel. Looking very briefly at the code, I found `output_uvmap` that seems to write to an hardcoded file (I believe), could it be the cause ?
I am using CGAL_VERSION 5.3 (CGAL_GIT_HASH caacd806dc55c61cc68adaad99f2240f00493b29) on Debian 10.
Thanks in advance for you help,
Sébastien Tourneux
Backtrace :
malloc(): mismatching next->prev_size (unsorted)
free(): invalid size
munmap_chunk(): invalid pointer
munmap_chunk(): invalid pointermunmap_chunk(): invalid pointer
double free or corruption (out)
corrupted size vs. prev_size while consolidating
malloc(): invalid next size (unsorted)
munmap_chunk(): invalid pointer
munmap_chunk(): invalid pointer
munmap_chunk(): invalid pointer
free(): corrupted unsorted chunks
double free or corruption (!prev)
Thread 128 "exec" received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fff217f7700 (LWP 3382513)]
0x00007fffddd46125 in Eigen::SparseLU<Eigen::SparseMatrix<double, 0, int>, Eigen::COLAMDOrdering<int> >::factorize(Eigen::SparseMatrix<double, 0, int> const&) () from /path/to/lib/libCgalModel.so
#0 0x00007fffddd46125 in Eigen::SparseLU<Eigen::SparseMatrix<double, 0, int>, Eigen::COLAMDOrdering<int> >::factorize(Eigen::SparseMatrix<double, 0, int> const&) () at /path/to/lib/libCgalModel.so
#1 0x00007fffde22cb2c in CGAL::Eigen_solver_traits<Eigen::SparseLU<Eigen::SparseMatrix<double, 0, int>, Eigen::COLAMDOrdering<int> > >::linear_solver(CGAL::Eigen_sparse_matrix<double> const&, CGAL::Eigen_vector<double, -1> const&, CGAL::Eigen_vector<double, -1>&, double&) ()
at /path/to/lib/libCgalModel.so
#2 0x00007fffde216a95 in CGAL::Surface_mesh_parameterization::Error_code CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > > >, CGAL::Default>::update_solution<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, CGAL::Point_2<CGAL::Simple_cartesian<double> > >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, int> >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, bool> > >(CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > > const&, boost::unordered::unordered_set<CGAL::SM_Vertex_index, boost::hash<CGAL::SM_Vertex_index>, std::equal_to<CGAL::SM_Vertex_index>, std::allocator<CGAL::SM_Vertex_index> > const&, boost::associative_property_map<CGAL::Unique_hash_map<CGAL::SM_Halfedge_index, double, boost::hash<CGAL::SM_Halfedge_index>, std::allocator<double> > >, std::vector<CGAL::Point_2<CGAL::Simple_cartesian<double> >, std::allocator<CGAL::Point_2<CGAL::Simple_cartesian<double> > > > const&, boost::associative_property_map<CGAL::Unique_hash_map<CGAL::SM_Halfedge_index, std::pair<int, int>, boost::hash<CGAL::SM_Halfedge_index>, std::allocator<std::pair<int, int> > > >, boost::associative_property_map<CGAL::Unique_hash_map<CGAL::SM_Face_index, std::pair<double, double>, boost::hash<CGAL::SM_Face_index>, std::allocator<std::pair<double, double> > > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, CGAL::Point_2<CGAL::Simple_cartesian<double> > >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, int> >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, bool> >, CGAL::Eigen_sparse_matrix<double> const&) ()
at /path/to/lib/libCgalModel.so
#3 0x00007fffde2139b5 in CGAL::Surface_mesh_parameterization::Error_code CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > > >, CGAL::Default>::parameterize<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, CGAL::Point_2<CGAL::Simple_cartesian<double> > >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, int> >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, bool> > >(CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >&, CGAL::SM_Halfedge_index, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, CGAL::Point_2<CGAL::Simple_cartesian<double> > >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, int> >, CGAL::internal::Dynamic<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, bool> >) () at /path/to/lib/libCgalModel.so
#4 0x00007fffde210c7d in CGAL::Surface_mesh_parameterization::Error_code CGAL::Surface_mesh_parameterization::parameterize<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > > >, CGAL::Default>, CGAL::SM_Halfedge_index, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, CGAL::Point_2<CGAL::Simple_cartesian<double> > > >(CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >&, CGAL::Surface_mesh_parameterization::ARAP_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >, CGAL::Surface_mesh_parameterization::Two_vertices_parameterizer_3<CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > > >, CGAL::Default>, CGAL::SM_Halfedge_index, CGAL::Surface_mesh<CGAL::Point_3<CGAL::Simple_cartesian<double> > >::Property_map<CGAL::SM_Vertex_index, CGAL::Point_2<CGAL::Simple_cartesian<double> > >) () at /path/to/lib/libCgalModel.so
- [cgal-discuss] ARAP_parameterizer_3/Eigen crash when launched in parallel, Sebastien Tourneux, 12/02/2021
- Re: [cgal-discuss] ARAP_parameterizer_3/Eigen crash when launched in parallel, Sebastien Tourneux, 12/02/2021
- Re: [cgal-discuss] ARAP_parameterizer_3/Eigen crash when launched in parallel, Sebastien Loriot, 12/03/2021
- Re: [cgal-discuss] ARAP_parameterizer_3/Eigen crash when launched in parallel, Sebastien Tourneux, 12/14/2021
Archive powered by MHonArc 2.6.19+.