conda-forge / fenics-dolfinx-feedstock

A conda-smithy repository for fenics-dolfinx.
BSD 3-Clause "New" or "Revised" License
3 stars 5 forks source link

segfault in scotch on mac-arm #73

Open minrk opened 5 months ago

minrk commented 5 months ago

Solution to issue cannot be found in the documentation.

Issue

There appears to be a problem in scotch on the mac-arm builds of scotch.

It's very likely this is not a dolfinx bug, but rather a bug in scotch and/or petsc, but saving here for tracking and discovery.

Running pytest unit/mesh/test_mesh_partitioners.py segfaults with

ERROR: SCOTCH_dgraphMapInit: internal error
[0]PETSC ERROR: ------------------------------------------------------------------------
[0]PETSC ERROR: Caught signal number 11 SEGV: Segmentation Violation, probably memory access out of range
[0]PETSC ERROR: Try option -start_in_debugger or -on_error_attach_debugger
[0]PETSC ERROR: or see https://petsc.org/release/faq/#valgrind and https://petsc.org/release/faq/
[0]PETSC ERROR: configure using --with-debugging=yes, recompile, link, and run
[0]PETSC ERROR: to get more information on the crash.
[0]PETSC ERROR: Run with -malloc_debug to check if memory corruption is causing the crash.
Abort(59) on node 0 (rank 0 in comm 0): application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0

Parititoning with parmetis and kahip both seem to work.

I'm not sure if I can disable scotch in the build so it will be unavailable instead of, since petsc is built with it.

Installed packages

# packages in environment at /Users/minrk/conda/envs/dx8mpich:
#
# Name                    Version                   Build  Channel
bzip2                     1.0.8                h93a5062_5    conda-forge
c-ares                    1.28.1               h93a5062_0    conda-forge
c-blosc2                  2.14.4               ha57e6be_1    conda-forge
ca-certificates           2024.2.2             hf0a4a13_0    conda-forge
cctools_osx-arm64         986                  h62378fb_0    conda-forge
cffi                      1.16.0          py312h8e38eb3_0    conda-forge
clang                     16.0.6               h30cc82d_6    conda-forge
clang-16                  16.0.6          default_he012953_6    conda-forge
clang_impl_osx-arm64      16.0.6              hc421ffc_11    conda-forge
clang_osx-arm64           16.0.6              h54d7cd3_11    conda-forge
clangxx                   16.0.6          default_h4cf2255_6    conda-forge
clangxx_impl_osx-arm64    16.0.6              hcd7bac0_11    conda-forge
clangxx_osx-arm64         16.0.6              h54d7cd3_11    conda-forge
colorama                  0.4.6              pyhd8ed1ab_0    conda-forge
compiler-rt               16.0.6               h3808999_2    conda-forge
compiler-rt_osx-arm64     16.0.6               h3808999_2    conda-forge
exceptiongroup            1.2.0              pyhd8ed1ab_2    conda-forge
fenics-basix              0.8.0           py312h69e22ea_0    conda-forge
fenics-dolfinx            0.8.0           py312h1140c7c_100    conda-forge
fenics-ffcx               0.8.0              pyh4af843d_0    conda-forge
fenics-libbasix           0.8.0                hab07a1b_0    conda-forge
fenics-libdolfinx         0.8.0              h44484f0_100    conda-forge
fenics-ufcx               0.8.0                h22f594c_0    conda-forge
fenics-ufl                2024.1.0           pyhd8ed1ab_0    conda-forge
fftw                      3.3.10          mpi_mpich_h0cb5807_8    conda-forge
gmp                       6.3.0                hebf3989_1    conda-forge
hdf5                      1.14.3          mpi_mpich_h754b83b_0    conda-forge
hypre                     2.28.0          mpi_mpich_hd226f01_0    conda-forge
icu                       73.2                 hc8870d7_0    conda-forge
iniconfig                 2.0.0              pyhd8ed1ab_0    conda-forge
kahip                     3.16            py312h4d8faec_2    conda-forge
kahip-python              3.16            py312h381a4fd_2    conda-forge
krb5                      1.21.2               h92f50d5_0    conda-forge
ld64_osx-arm64            711                  ha4bd21c_0    conda-forge
libadios2                 2.10.0          mpi_mpich_hc705787_2    conda-forge
libaec                    1.1.3                hebf3989_0    conda-forge
libblas                   3.9.0           22_osxarm64_openblas    conda-forge
libboost                  1.84.0               h8e0f962_2    conda-forge
libboost-devel            1.84.0               hf450f58_2    conda-forge
libboost-headers          1.84.0               hce30654_2    conda-forge
libcblas                  3.9.0           22_osxarm64_openblas    conda-forge
libclang-cpp16            16.0.6          default_he012953_6    conda-forge
libcurl                   8.7.1                h2d989ff_0    conda-forge
libcxx                    16.0.6               h4653b0c_0    conda-forge
libedit                   3.1.20191231         hc8eb9b7_2    conda-forge
libev                     4.33                 h93a5062_2    conda-forge
libexpat                  2.6.2                hebf3989_0    conda-forge
libffi                    3.4.2                h3422bc3_5    conda-forge
libgfortran               5.0.0           13_2_0_hd922786_3    conda-forge
libgfortran5              13.2.0               hf226fd6_3    conda-forge
libglib                   2.80.0               hfc324ee_6    conda-forge
libhwloc                  2.10.0          default_h52d8fe8_1000    conda-forge
libiconv                  1.17                 h0d3ecfb_2    conda-forge
libintl                   0.22.5               h8fbad5d_2    conda-forge
liblapack                 3.9.0           22_osxarm64_openblas    conda-forge
libllvm16                 16.0.6               haab561b_3    conda-forge
libnghttp2                1.58.0               ha4dd798_1    conda-forge
libopenblas               0.3.27          openmp_h6c19121_0    conda-forge
libpng                    1.6.43               h091b4b1_0    conda-forge
libptscotch               7.0.4                h5340af2_1    conda-forge
libscotch                 7.0.4                hc938e73_1    conda-forge
libsodium                 1.0.18               h27ca646_1    conda-forge
libsqlite                 3.45.3               h091b4b1_0    conda-forge
libssh2                   1.11.0               h7a5bd25_0    conda-forge
libxml2                   2.12.6               h0d0cfa8_2    conda-forge
libzlib                   1.2.13               h53f4e23_5    conda-forge
llvm-openmp               18.1.3               hcd81f8e_0    conda-forge
llvm-tools                16.0.6               haab561b_3    conda-forge
lz4-c                     1.9.4                hb7217d7_0    conda-forge
metis                     5.1.0             h13dd4ca_1007    conda-forge
mpfr                      4.2.1                h41d338b_1    conda-forge
mpi                       1.0                       mpich    conda-forge
mpi4py                    3.1.6           py312h8d05a6a_0    conda-forge
mpich                     4.2.1              hd4b5bf3_100    conda-forge
mumps-include             5.6.2                hce30654_4    conda-forge
mumps-mpi                 5.6.2                ha94434e_4    conda-forge
ncurses                   6.4.20240210         h078ce10_0    conda-forge
numpy                     1.26.4          py312h8442bc7_0    conda-forge
openssl                   3.2.1                h0d3ecfb_1    conda-forge
packaging                 24.0               pyhd8ed1ab_0    conda-forge
parmetis                  4.0.3             hefa2a9d_1005    conda-forge
pcre2                     10.43                h26f9a81_0    conda-forge
petsc                     3.20.6          real_h7646cce_100    conda-forge
petsc4py                  3.20.5          real_hd567e68_100    conda-forge
pip                       24.0               pyhd8ed1ab_0    conda-forge
pkg-config                0.29.2            hab62308_1008    conda-forge
pluggy                    1.5.0              pyhd8ed1ab_0    conda-forge
ptscotch                  7.0.4                heaa5b5c_1    conda-forge
pugixml                   1.14                 h13dd4ca_0    conda-forge
pycparser                 2.22               pyhd8ed1ab_0    conda-forge
pytest                    8.1.2              pyhd8ed1ab_0    conda-forge
python                    3.12.3          h4a7b5fc_0_cpython    conda-forge
python_abi                3.12                    4_cp312    conda-forge
readline                  8.2                  h92ec313_1    conda-forge
scalapack                 2.2.0                hb170938_1    conda-forge
scotch                    7.0.4                heaa5b5c_1    conda-forge
setuptools                69.5.1             pyhd8ed1ab_0    conda-forge
sigtool                   0.1.3                h44b9a77_0    conda-forge
slepc                     3.20.2          real_h35c204a_100    conda-forge
slepc4py                  3.20.2          real_hec853a8_100    conda-forge
suitesparse               5.10.1               h79486c6_3    conda-forge
superlu                   5.2.2                hc615359_0    conda-forge
superlu_dist              8.2.1                hd666faf_1    conda-forge
tapi                      1100.0.11            he4954df_0    conda-forge
tbb                       2021.12.0            h2ffa867_0    conda-forge
tk                        8.6.13               h5083fa2_1    conda-forge
tomli                     2.0.1              pyhd8ed1ab_0    conda-forge
tzdata                    2024a                h0c530f3_0    conda-forge
wheel                     0.43.0             pyhd8ed1ab_1    conda-forge
xz                        5.2.6                h57fd34a_0    conda-forge
yaml                      0.2.5                h3422bc3_2    conda-forge
zeromq                    4.3.5                hebf3989_1    conda-forge
zfp                       0.5.5                hcfdfaf5_8    conda-forge
zlib                      1.2.13               h53f4e23_5    conda-forge
zlib-ng                   2.0.7                h1a8c8d9_0    conda-forge
zstd                      1.5.5                h4f39d0f_0    conda-forge

Environment info

active environment : None
            shell level : 0
       user config file : /Users/minrk/.condarc
 populated config files : /Users/minrk/conda/.condarc
                          /Users/minrk/.condarc
          conda version : 24.3.0
    conda-build version : 24.3.0
         python version : 3.10.13.final.0
                 solver : libmamba (default)
       virtual packages : __archspec=1=m1
                          __conda=24.3.0=0
                          __osx=14.4.1=0
                          __unix=0=0
       base environment : /Users/minrk/conda  (writable)
      conda av data dir : /Users/minrk/conda/etc/conda
  conda av metadata url : None
           channel URLs : https://conda.anaconda.org/conda-forge/osx-arm64
                          https://conda.anaconda.org/conda-forge/noarch
          package cache : /Users/minrk/conda/pkgs
                          /Users/minrk/.conda/pkgs
       envs directories : /Users/minrk/conda/envs
                          /Users/minrk/.conda/envs
               platform : osx-arm64
             user-agent : conda/24.3.0 requests/2.31.0 CPython/3.10.13 Darwin/23.4.0 OSX/14.4.1 solver/libmamba conda-libmamba-solver/23.11.1 libmambapy/1.5.7
                UID:GID : 501:20
             netrc file : /Users/minrk/.netrc
           offline mode : False
minrk commented 5 months ago

scotch is disabled now for osx-arm64 builds and other openmpi builds, which were apparently failing to be found. The new strict -DDOLFINX_ENABLE_SCOTCH helped reveal that, yay!