From a64ae8560087539aa2e6229b002606cbd7f36f51 Mon Sep 17 00:00:00 2001 From: Lourens Veen Date: Thu, 5 Mar 2026 08:40:34 +0100 Subject: [PATCH 1/6] Try using MPICH on macOS to avoid crashes --- .github/workflows/test-framework.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml index 640660c06e..01140d953f 100644 --- a/.github/workflows/test-framework.yml +++ b/.github/workflows/test-framework.yml @@ -37,7 +37,8 @@ jobs: conda info conda list - - name: Install dependencies + - name: Install dependencies (Linux) + if: ${{ startsWith(matrix.os, 'ubuntu') }} run: | conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake openmpi gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest @@ -51,6 +52,11 @@ jobs: # echo "rmaps_default_mapping_policy = :oversubscribe" >>"$HOME/.prte/mca-params.conf" # echo "prte_if_include = lo,eth0" >>"$HOME/.prte/mca-params.conf" + - name: Install dependencies (macOS) + if: ${{ startsWith(matrix.os, 'macos') }} + run: | + conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake mpich gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest + - name: Checkout uses: actions/checkout@v4 with: From b830fb2fb2b0f45d1a8fae434aa399301eecca53 Mon Sep 17 00:00:00 2001 From: Lourens Veen Date: Thu, 5 Mar 2026 10:34:12 +0100 Subject: [PATCH 2/6] Try MPICH on Linux too, see if that fixes hang in c_dist_impl --- .github/workflows/test-framework.yml | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml index 01140d953f..5515ee0a3e 100644 --- a/.github/workflows/test-framework.yml +++ b/.github/workflows/test-framework.yml @@ -37,23 +37,7 @@ jobs: conda info conda list - - name: Install dependencies (Linux) - if: ${{ startsWith(matrix.os, 'ubuntu') }} - run: | - conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake openmpi gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest - - # - name: Configure OpenMPI - # run: | - # mkdir -p "$HOME/.openmpi" - # echo "rmaps_base_oversubscribe = true" >>"$HOME/.openmpi/mca-params.conf" - # echo "mpi_yield_when_idle = true" >>"$HOME/.openmpi/mca-params.conf" - # echo "btl_tcp_if_include = lo,eth0" >>"$HOME/.openmpi/mca-params.conf" - # mkdir -p "$HOME/.prte" - # echo "rmaps_default_mapping_policy = :oversubscribe" >>"$HOME/.prte/mca-params.conf" - # echo "prte_if_include = lo,eth0" >>"$HOME/.prte/mca-params.conf" - - - name: Install dependencies (macOS) - if: ${{ startsWith(matrix.os, 'macos') }} + - name: Install dependencies run: | conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake mpich gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest From 1aa13ab5029851b317fa4e5c8592eb732c99f87f Mon Sep 17 00:00:00 2001 From: Lourens Veen Date: Fri, 6 Mar 2026 10:46:26 +0100 Subject: [PATCH 3/6] Try to get that failure reported --- .github/workflows/test-framework.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml index 5515ee0a3e..87527031c5 100644 --- a/.github/workflows/test-framework.yml +++ b/.github/workflows/test-framework.yml @@ -62,7 +62,7 @@ jobs: # PRTE_MCA_if_include: lo,eth0 # OMPI_MCA_pmix_server_max_wait: 10 run: | - ./setup test amuse-framework + export PYTEST_OPTS='-x' && ./setup test amuse-framework - name: Save build logs run: | From cededc75c7a050b3b04dd57c38e11f4a849d979e Mon Sep 17 00:00:00 2001 From: Lourens Veen Date: Mon, 9 Mar 2026 12:03:28 +0100 Subject: [PATCH 4/6] Try OpenMPI but with yield_when_idle --- .github/workflows/test-framework.yml | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml index 87527031c5..e3fce32763 100644 --- a/.github/workflows/test-framework.yml +++ b/.github/workflows/test-framework.yml @@ -39,7 +39,7 @@ jobs: - name: Install dependencies run: | - conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake mpich gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest + conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake openmpi gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest - name: Checkout uses: actions/checkout@v4 @@ -52,15 +52,16 @@ jobs: ./setup install amuse-framework - name: Test framework - # env: - # OMPI_MCA_rmaps_base_oversubscribe: 1 - # PRTE_MCA_rmaps_base_oversubscribe: 1 - # PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe" - # OMPI_MCA_mpi_yield_when_idle: 1 - # OMPI_MCA_btl_tcp_if_include: lo,eth0 - # PRTE_MCA_btl_tcp_if_include: lo,eth0 - # PRTE_MCA_if_include: lo,eth0 - # OMPI_MCA_pmix_server_max_wait: 10 + env: + OMPI_MCA_rmaps_base_oversubscribe: 1 + PRTE_MCA_rmaps_base_oversubscribe: 1 + PRTE_MCA_rmaps_default_mapping_policy: ":oversubscribe" + OMPI_MCA_mpi_yield_when_idle: 1 + PRTE_MCA_mpi_yield_when_idle: 1 + OMPI_MCA_btl_tcp_if_include: lo,eth0 + PRTE_MCA_btl_tcp_if_include: lo,eth0 + PRTE_MCA_if_include: lo,eth0 + OMPI_MCA_pmix_server_max_wait: 10 run: | export PYTEST_OPTS='-x' && ./setup test amuse-framework From a78f3261ac9b9b14fdba8fd12cb6256de6c564be Mon Sep 17 00:00:00 2001 From: Lourens Veen Date: Mon, 9 Mar 2026 13:00:39 +0100 Subject: [PATCH 5/6] Switch only macOS back to MPICH --- .github/workflows/test-framework.yml | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml index e3fce32763..b33bfed8a2 100644 --- a/.github/workflows/test-framework.yml +++ b/.github/workflows/test-framework.yml @@ -37,10 +37,16 @@ jobs: conda info conda list - - name: Install dependencies + - name: Install dependencies (Linux) + if: ${{ startsWith(matrix.os, 'ubuntu') }} run: | conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake openmpi gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest + - name: Install dependencies (macOS) + if: ${{ startsWith(matrix.os, 'macos') }} + run: | + conda install c-compiler cxx-compiler fortran-compiler 'gfortran<14' python-gil pkgconfig coreutils patch curl tar unzip gzip bzip2 xz perl bison make cmake mpich gsl fftw gmp mpfr hdf5 netcdf4 libopenblas liblapack zlib pip wheel 'docutils>=0.6' 'mpi4py>=1.1.0' 'numpy>=1.2.2' 'h5py>=1.1.0' pytest + - name: Checkout uses: actions/checkout@v4 with: From 4ee82f9ed978d123771de923d0338176e8e22583 Mon Sep 17 00:00:00 2001 From: Lourens Veen Date: Mon, 9 Mar 2026 13:35:11 +0100 Subject: [PATCH 6/6] Remove debug output again --- .github/workflows/test-framework.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test-framework.yml b/.github/workflows/test-framework.yml index b33bfed8a2..9b69a3e69f 100644 --- a/.github/workflows/test-framework.yml +++ b/.github/workflows/test-framework.yml @@ -69,7 +69,7 @@ jobs: PRTE_MCA_if_include: lo,eth0 OMPI_MCA_pmix_server_max_wait: 10 run: | - export PYTEST_OPTS='-x' && ./setup test amuse-framework + ./setup test amuse-framework - name: Save build logs run: |