Bug#981128: libgmsh4: SIGABRT in dolfinx demo from gmsh polynomialBasis via Eigen::compute_inverse

Bernhard Übelacker bernhardu at mailbox.org
Sun Feb 14 13:22:10 GMT 2021


Am 14.02.21 um 11:37 schrieb Drew Parsons:
> The dolfinx comments go on to say you might want to set 64 for 
> user-compilation on AVX-512 systems. Would that AVX comment apply to 
> your specific system?


Hello Drew,
my specific system is an amd64 kvm/qemu VM running at a AMD Ryzen 1700.
So as far as I see there is no avx512, just avx and avx 2 from lscpu.

But by using dpkg-buildpackage I was under the impression that the produced
binaries are for Debian baseline and not optimized for my CPU.
Also there is no -march visible when building with dpkg-buildpackage.


So from python side the abort happens here:
(gdb) py-bt
Traceback (most recent call first):
   File "/usr/lib/python3/dist-packages/gmsh.py", line 2256, in getElementProperties
     api_wantedOrientations_, api_wantedOrientations_n_,
   File "/usr/share/dolfinx/demo-python/gmsh/demo_gmsh.py", line 39, in <module>
     name, dim, order, num_nodes, local_coords, num_first_order_nodes = model.mesh.getElementProperties(element_types[0])


I tested also to build libgmsh4 with this change:
     -DEIGEN_INC:STRING="/usr/include/eigen3" \
     -DEIGEN_MAX_ALIGN_BYTES=32

Then demo_gmsh.py gets over line 39 but still gives later
another python backtrace in line 62.


So from my limited point of view (as I don't really know much about these packages),
I still guess either all (might not just affect gmsh and dolphinx?)
have to build with the same alignment or
somehow allocation and deallocation have to take place
at the same side of the shared library boundary.

Kind regards,
Bernhard



More information about the debian-science-maintainers mailing list