lalsim dictionary inserts fail with some conda builds
We've recently started seeing Bilby CI builds fail due to a lalsimulation issue that seems to depend strongly on the conda build number. I've managed to reproduce a failing case on my local machine (osx-arm64) in addition to the containers based on the IGWN-conda base we use in our CI.
It looks like this is specific to the lalsimulation insert functions as the generic insert works.
In [1]: import warnings
...: warnings.filterwarnings("ignore", "Wswiglal-redir-stdio")
...: import lal
In [2]: import lalsimulation
In [3]: ldict = lal.CreateDict()
In [4]: lalsimulation.SimInspiralWaveformParamsInsertTidalLambda1(ldict, 1.0)
---------------------------------------------------------------------------
ValueError Traceback (most recent call last)
Cell In[4], line 1
----> 1 lalsimulation.SimInspiralWaveformParamsInsertTidalLambda1(ldict, 1.0)
ValueError: in method 'SimInspiralWaveformParamsInsertTidalLambda1', argument 1 of type 'LALDict *'
In [5]: lal.DictInsertREAL8Value(ldict, "a", 1.0)
Out[5]: 0
the corresponding chunk of the environment listing
$ conda list lal
# packages in environment at /Users/ct6081/.conda/envs/bilby-312:
#
# Name Version Build Channel
lalinference-data 4.1.9 hce30654_0 conda-forge
lalsimulation-data 6.2.0 hce30654_0 conda-forge
liblal 7.7.0 fftw_h74b92b6_103 conda-forge
liblalburst 2.0.7 h2786bc8_0 conda-forge
liblalframe 3.0.7 h63b17c2_0 conda-forge
liblalinference 4.1.9 h4d5f05e_0 conda-forge
liblalinspiral 5.0.3 h2786bc8_0 conda-forge
liblalmetaio 4.0.6 h5505292_0 conda-forge
liblalsimulation 6.2.0 py312h0975e73_0 conda-forge
python-lal 7.7.0 fftw_py312h0a5e87b_103 conda-forge
python-lalburst 2.0.7 py312heec191f_0 conda-forge
python-lalframe 3.0.7 py312he0011b7_0 conda-forge
python-lalinference 4.1.9 py312he0011b7_0 conda-forge
python-lalinspiral 5.0.3 py312he0011b7_0 conda-forge
python-lalmetaio 4.0.6 py312he0011b7_0 conda-forge
python-lalsimulation 6.2.0 py312h74952e3_0 conda-forge
In contrast, the environment below works
In [1]: import warnings
...: warnings.filterwarnings("ignore", "Wswiglal-redir-stdio")
...: import lal
import
In [2]: import lalsimulation
In [3]: ldict = lal.CreateDict()
In [4]: lalsimulation.SimInspiralWaveformParamsInsertTidalLambda1(ldict, 1.0)
Out[4]: 0
In [5]: lal.DictInsertREAL8Value(ldict, "a", 1.0)
Out[5]: 0
$ conda list lal
# packages in environment at /Users/ct6081/.conda/envs/bilby-312:
#
# Name Version Build Channel
lalinference-data 4.1.9 hce30654_0 conda-forge
lalsimulation-data 6.2.0 hce30654_0 conda-forge
liblal 7.7.0 fftw_h8fcc6d2_100 conda-forge
liblalburst 2.0.7 h2786bc8_0 conda-forge
liblalframe 3.0.7 h63b17c2_0 conda-forge
liblalinference 4.1.9 h4d5f05e_0 conda-forge
liblalinspiral 5.0.3 h2786bc8_0 conda-forge
liblalmetaio 4.0.6 h5505292_0 conda-forge
liblalsimulation 6.2.0 py312h0975e73_0 conda-forge
python-lal 7.7.0 fftw_py312h0f8b06b_100 conda-forge
python-lalburst 2.0.7 py312heec191f_0 conda-forge
python-lalframe 3.0.7 py312he0011b7_0 conda-forge
python-lalinference 4.1.9 py312he0011b7_0 conda-forge
python-lalinspiral 5.0.3 py312he0011b7_0 conda-forge
python-lalmetaio 4.0.6 py312he0011b7_0 conda-forge
python-lalsimulation 6.2.0 py312h74952e3_0 conda-forge
In the short term, I can probably just blacklist this lal version, but it would be good to make sure there isn't a deeper issue.
I'm not sure if posting here on on the conda forge feedstock is better @duncanmmacleod?